Help
How FlyPython works — and what to do when it doesn't
FlyPython is a training platform for shipping Python with AI coding agents. Your agent does the typing; verify.py decides when you are done. This page answers the questions that come up along the way. FlyPython does not offer paid consulting services — the only paid product is the Pro subscription.
Getting started
Start your first course
Pick the course that matches the coding-agent tool you already use (or want to learn).
Pick your agent's tool course
Six free tool courses (Claude Code, Codex app, Cursor, DeepSeek Harness, Kimi Code, ZCode) teach the platform while teaching the tool. Browse them →
Paste one sentence
Every course page has an entry sentence. Paste it into your agent — lesson 1 walks you through installing the FlyPython Skill and the one-time authorization.
Run the challenges
Your agent fetches the course files itself; you never download anything. python verify.py prints checkpoint status and your claim codes.
Accounts
Agent authorization links
The first time your agent works for you, it prints a one-time link and a short code. Open the link, sign in (or register), compare the code on the page with the one your agent displayed, and click Allow. They must match exactly — a mismatch means someone else started the request, so deny it.
The token your agent receives is scoped: it can submit challenge claim codes for you (and fetch Pro course files while your subscription is active). Review or revoke it any time on the agent page of your workspace. You stay signed in on the same browser afterward; the authorization itself is one click.
If the page says the request is unknown, expired, or already handled: ask your agent to start again — the code lives for a few minutes only.
Skill
The Skill will not install
The FlyPython Skill is a small instruction file your agent tool loads (for Claude Code: a claude skill add-style install from the published SKILL.md; other tools follow their own skill/plugin mechanism — each tool course lesson 1 shows the exact steps for that tool).
Check, in order:
- Network access. The install and every course fetch need outbound network access. Chat-only web AIs cannot take the courses.
- The tool version. The Skill checks its version at run time; if your tool is older than the course states, update the tool first.
- You are inside the right project folder. Install from your normal working directory, not from inside a downloaded archive — you never need to download anything by hand.
Still failing? Paste the exact install command and the full error into the feedback channels — teaching drift gets fixed fastest with the verbatim output.
Verification
Reading verify.py output
Run python verify.py in the course folder. It prints, per checkpoint: PASS / OPEN status, the failing test names when a checkpoint is open, and — once a checkpoint passes — your claim code (English first, Chinese after). While any gated checkpoint is open, the command exits non-zero: that is the signal to keep working, not a bug.
OPENwith a test list: the listed behaviors are not met yet. Open the starter's task contract and work the smallest change.- Import or syntax errors before any checkpoint prints: your agent broke the file — ask it to read the error and revert.
- A checkpoint passes but you disagree with the code: the tests are the contract; ask your agent to show you the diff, not to relax the tests.
Never edit solution/ or the test files — verify.py solution is a maintainer check, not the way to finish.
Progress
Submitting claim codes
The fastest route: let your agent submit them — after authorization it posts claim codes for you in one batch (that is what the claims scope is for). Prefer doing it by hand? Copy each 8-character code into the progress page of your workspace; a registered account records points, badges, and the leaderboard.
A code that is rejected was usually retyped wrong (they are base32 — uppercase letters and digits, no 0/1/O/I) or already submitted. Codes are per challenge and per account; running verify.py again reprints them at any time.
Billing
Pro subscription, cancellation, and refunds
Pro is a $19.90 monthly subscription that unlocks all Pro courses — including new ones added while you subscribe. Challenges in free courses (including all six agent-tool courses) stay free forever. Manage or cancel the subscription from your billing page; access continues through the end of the paid period.
Refunds: if Pro does not work for you — a broken verify.py, files that will not fetch, or the content is simply not what you expected — the first charge is refundable within 14 days. Reply to your Stripe receipt email; it reaches us directly and identifies the charge automatically. Details are in the terms.
Feedback
Where to report problems
Course content, verify.py mismatches, and teaching drift belong in the companion repository's GitHub Discussions ↗ or Issues ↗ (a course-feedback issue template exists). Account and billing questions: reply to your Stripe receipt email. Do not post secrets or proprietary code publicly.