How cynmeiciel/pylingstutorial works
Pythonlings is a hands-on Python course: learners solve ordered drills, then tackle less-scaffolded challenges and multi-file projects. The main loop is to start the watcher, edit the named drill, and save; the CLI reruns it and advances when it passes and its marker is removed. The README documents separate challenge and project workflows, plus unified progress reporting. Source excerpts show CLI dispatch and project wiring; some links between CLI commands and core helpers are based on their documented responsibilities, since plings/core.py was not sampled.
Main entry points: cli.py CLI commands · 01_todo/app.py To-do CLI · 02_game_of_life/app.py Life CLI · 03_sudoku/app.py Sudoku CLI
Components 18
Learning runner
- CLI commands
plings/cli.py - Exercise runner
plings/core.py - Terminal UI
plings/ui.py
Course material
- Ordered drills
exercises - Reference answers
solutions
Challenges
- Challenge runner
challenges/run.py - Phase 1 problems
challenges/phase1
Projects
- To-do CLI
projects/01_todo/app.py - Task logic
projects/01_todo/todo/core.py - JSON persistence
projects/01_todo/todo/storage.py - Task file
- Life CLI
projects/02_game_of_life/app.py - Generation rules
projects/02_game_of_life/life/core.py - Grid rendering
projects/02_game_of_life/life/display.py - Sudoku CLI
projects/03_sudoku/app.py - Sudoku solver
projects/03_sudoku/sudoku/core.py - Board rendering
projects/03_sudoku/sudoku/display.py
Other components
- Learner
Connections 18
- Learner → CLI commands: runs commands
- CLI commands → Exercise runner: loads and runs
- CLI commands → Terminal UI: renders output
- Exercise runner → Ordered drills: loads and checks
- Learner → Ordered drills: edits drills
- Learner → Reference answers: consults answers
- Learner → Challenge runner: runs challenges
- Challenge runner → Phase 1 problems: executes files
- Learner → To-do CLI: runs app
- To-do CLI → JSON persistence: loads and saves
- To-do CLI → Task logic: applies commands
- JSON persistence → Task file: reads and writes
- Learner → Life CLI: runs app
- Life CLI → Generation rules: advances grid
- Life CLI → Grid rendering: renders grid
- Learner → Sudoku CLI: runs app
- Sudoku CLI → Sudoku solver: solves board
- Sudoku CLI → Board rendering: renders board