After this lesson, you will be able to: Build a CLI tool that solves a real problem, package it properly, and publish it to a public GitHub repo.
Passion project for the Python sub-track per Curriculum-Upgrade.md. Pick ONE of three options, ship in a weekend.
Three options; pick the one that scratches your own itch.
A. File organizer: takes a messy ~/Downloads, sorts by extension + date into named folders. Includes --dry-run.
B. Personal expense tracker: reads a CSV of transactions, categorizes by rules + ML, outputs monthly summary as Markdown.
C. API formatter: calls an API (GitHub, Hacker News, weather), formats results, exports as JSON/Markdown.
One weekend, six milestones.
M1 (1h): scaffold project, pyproject.toml, src/, tests/, README skeleton
M2 (3h): core logic with type hints + tests (parametrize at least 5 cases)
M3 (1h): CLI with argparse or Click; --dry-run if destructive
M4 (1h): error handling + logging
M5 (1h): publish to TEST PyPI; install via pip + verify the CLI works
M6 (2h): README with badges, screenshots, install instructions, examples; publish to real PyPI; GitHub repo
Skipping tests. Hiring managers read them. No screenshots / examples in README. Hardcoded paths. Make it portable. Skipping the publish step. Local-only doesn't impress.
Sign in and purchase access to unlock this lesson.