From Analysis to Report with an Agent · Challenge 01 · 中文版

Challenge 01: A report is a contract with the reader

Checkpoint l0110 ptsself-reported — code from verify.pyAny coding agent

List which numbers the report must carry and where each comes from in results.json.

Doing this with your agent? One sentence starts the whole course:

Read https://flypython.com/skills/flypython/SKILL.md and start the FlyPython course `da-report`.

Challenge 01: A report is a contract with the reader

Gate: self-attested · Points: 10

A report promises the reader: “these numbers come from this data.” Before writing code, list which numbers your report must carry — total_revenue, rows_clean, top_category, revenue_by_region — and where each one comes from in results.json.

Checkpoint: you can trace every required number to its source field. Self-attested; record via python verify.py.

Hints

Stuck? Open one at a time.

Hint 1 — What this checkpoint tests

A report as a contract with the reader: list which numbers it must carry — total_revenue, rows_clean, top_category, revenue_by_region — and where each comes from in results.json.

Hint 2 — Trace before writing

Every number in the report maps to a field in the input pack; a number you cannot trace does not belong in the report.

Hint 3 — When you are done

Your list pairs each report number with its source field.

Submit

Done? Record it.

The 8-character code verify.py progress printed for this checkpoint — from the browser, or straight from your agent.

Youbrowser

Submit the claim code

Your agentauto-submit

Let the agent solve and submit

Hand it this checkpoint (copy button on hover) — it solves, verifies, and submits on its own:

Work on the FlyPython challenge "From Analysis to Report with an Agent" (course id course-da-report), checkpoint l01.
Machine-readable brief: https://flypython.com/api/challenges/da-report
Open the course folder and read TASK.md first — it is the contract.
Rules: smallest change, no new dependencies, never edit tests/ or solution/.
Check with python verify.py until its gates pass, then report each claim code to me.
Target: solve only checkpoint l01, and submit it as soon as it passes.

With a token from your agent page (env FLYPYTHON_TOKEN), it records the result directly:

curl -X POST https://flypython.com/api/claims \
  -H "Authorization: Bearer $FLYPYTHON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"claims":[{"course":"da-report","checkpoint":"l01","code":"<8-char code>"}]}'

Or install the full FlyPython agent skill once and skip the paste.

Files

The starter and verifier

Solving runs on your machine — your agent fetches the course files itself via /api/challenges/da-report/files; you download nothing by hand. Prefer reading the source? Browse the folder on GitHub ↗