Skip to content
/ learn.python Public template

Complete Python curriculum: zero experience → full-stack mastery. 246 tested projects, 34 concept guides, AI-native tutoring, spaced repetition. Free & open source.

License

Notifications You must be signed in to change notification settings

travisjneuman/learn.python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

learn.python

Learn Python

Python 3.11+ 251 Projects 13 Levels 35 Concept Guides 34 Quizzes 51 Walkthroughs 36 Diagrams 40 Video Guides MIT License Contributions Welcome

GitHub Stars GitHub Forks Last Commit Open Issues


I Don't Know Python. So I Built This.

I'm a full-stack developer. I've spent over a decade building web applications, managing production infrastructure, and debugging systems at 3am. My tools are TypeScript, React, Node.js, and whatever else the job demands.

Python wasn't one of them. I'd read about it, used it for the occasional script, but I'd never actually sat down and learned it. When I finally decided to, I hit the same wall everyone hits: most Python courses are either too shallow (build a calculator and call it a day) or too academic (here's a lecture on Big-O notation before you've written a for loop). Nothing matched how I actually learn — by building real things, breaking them, and understanding why they broke.

So I built the curriculum I wished existed. Then I open-sourced it, because if it helps me learn Python, maybe it helps you too.

This is a complete, hands-on Python curriculum. From "what is a terminal?" to deploying production applications. 251 projects. Every learning style supported. Go at your own pace.


What Makes This Different

Every learning style is first-class. Read concepts, build projects, watch walkthroughs, test with quizzes, review with flashcards, visualize with diagrams, or try code in the browser — all following the same path. However you learn best, there's a way through this curriculum for you.

You build real things. 251 projects, not toy examples. Every project has tests, starter code, and challenges that force you past copy-paste into actual understanding.

You go at your own pace. This isn't a bootcamp with deadlines. Follow the click chain, take breaks, come back. The spaced repetition system tracks what you've forgotten so you can review efficiently.

Every step is connected. Every document, concept guide, project, quiz, walkthrough, and challenge is linked through a single click chain with a "Learn Your Way" navigation table at every stop. Start at the beginning and follow the "Next" links. That's it.

Not sure how you learn best? Take the Learning Style Selector quiz to get a personalized path through the material.


What You'll Build

Domain Examples
CLI Tools Password checkers, file renamers, batch automation scripts
Web Scrapers HTML parsers, pagination handlers, CSV exporters
REST API Clients JSON consumers, authenticated API callers, retry-enabled clients
FastAPI Applications CRUD endpoints, JWT authentication, Pydantic-validated APIs
Async Systems Concurrent task runners, async HTTP fetchers, queue processors
Database Applications SQLAlchemy models, Alembic migrations, query optimizers
Data Analysis Pandas pipelines, matplotlib visualizations, data cleaners
Django Full-Stack Apps Models, views, templates, DRF APIs, full CRUD applications
Dockerized Services Multi-stage builds, docker-compose stacks, CI/CD pipelines
Cloud Deployments Railway/Render hosting, Postgres-backed production apps

Quick Start

git clone https://github.com/travisjneuman/learn.python.git
cd learn.python

Open START_HERE.md and follow the guide. You'll be writing Python in under 10 minutes.

Never used a terminal before? Start with 00_COMPUTER_LITERACY_PRIMER.md — it explains everything from scratch.

Not sure how to use this curriculum? Read the Getting Started Guide. Have questions? Check the FAQ.

Already know JavaScript, Java, C#, or Ruby? Jump to the Fast Track to skip what you already know.


Curriculum Roadmap

The curriculum is a straight line from zero experience to production-grade engineering. Every stage builds on the last.

Stage Docs What You Learn Projects
Absolute Beginner 00-03 What is a terminal, how to install Python, first commands 15 exercises
Foundations 04 Variables, loops, functions, files, errors, collections 15 projects
Quality & Testing 09 pytest, ruff, black, writing tests that catch real bugs 15 projects
Intermediate Python 05-08 Excel/CSV automation, SQL basics, data pipelines 60 projects
Professional Practices 10-12 Packages, logging, refactoring, dependency management 45 projects
Operations & Integration 13-15 Scheduling, monitoring, ETL, caching, APIs 45 projects
Elite Track Curriculum 16-50 Architecture, observability, resilience, security, cost modeling 10 projects
Expansion Modules 12 modules Web scraping through cloud deployment — real libraries, real tools 56 projects

Total: 251 projects across 13 levels and 12 technology modules.

See the full Curriculum Map for a dependency diagram and every project listed at a glance.


Choose Your Learning Mode

Play-First (Builder) — Open a project, tinker, break things, figure it out. Read the concept doc when you get stuck. Watch the walkthrough only if you're truly blocked. Good for people who learn by doing.

Structured (Reader) — Read the concept doc, take the quiz, then do the projects in order. Use the checklist and mastery gates. Good for people who like clear progress markers.

Watch-First (Watcher) — Watch the curated video for each concept, read the walkthrough to see the thinking process, then build the project. Good for people who learn by observing first.

Visual-First (Visualizer) — Start with the Mermaid diagrams to see the big picture, read the concept guide with the diagram as your mental map, then build. Good for people who think in pictures and systems.

Hybrid (Recommended) — Follow the structured path on weekdays. Explore expansion modules and challenges on weekends. Review flashcards daily. Mix modalities as needed.

Take the Learning Style Selector to find your best starting approach.


Project Levels

Every level has a theme, a set of projects, and a capstone that ties everything together.

Level Theme Projects Example Project
level-00-absolute-beginner First steps — no imports, no tests 15 01-first-steps
level-0 Terminal, files, basic I/O 15 02-calculator-basics
level-1 Input validation, CSV, JSON, paths 15 05-csv-first-reader
level-2 Data structures, cleaning, error handling 15 12-csv-to-json-converter
level-3 Packages, logging, test-driven development 15 04-test-driven-normalizer
level-4 Schema validation, data contracts, pipelines 15 09-transformation-pipeline-v1
level-5 Scheduling, monitoring, resilience patterns 15 11-retry-backoff-runner
level-6 SQL, staging, ETL, idempotent operations 15 09-incremental-load-simulator
level-7 API adapters, caching, polling, observability 15 08-ingestion-observability-kit
level-8 Dashboards, concurrency, fault injection 15 08-fault-injection-harness
level-9 Architecture, SLOs, capacity planning, security 15 06-reliability-scorecard
level-10 Enterprise blueprints, compliance, production readiness 15 11-production-readiness-director
elite-track Algorithms, distributed systems, staff-engineer capstone 10 06-event-driven-architecture-lab

Expansion Modules

Twelve self-contained technology modules. Each one teaches a real Python library or framework through 3-5 progressive projects.

# Module Projects Prerequisite What You Learn
01 Web Scraping 5 Level 2 requests, BeautifulSoup, CSS selectors, pagination, CSV export
02 CLI Tools 5 Level 2 click, typer, subcommands, interactive prompts, progress bars
03 REST APIs 5 Level 2 requests, JSON parsing, authentication, retries, API client design
04 FastAPI Web Apps 5 Level 3 + Module 03 FastAPI, Pydantic, uvicorn, CRUD endpoints, JWT auth
05 Async Python 5 Level 3 async/await, asyncio, aiohttp, queues, concurrent tasks
06 Databases & ORM 5 Level 3 sqlite3, SQLAlchemy, Alembic migrations, query optimization
07 Data Analysis 5 Level 2 pandas, matplotlib, data cleaning, grouping, visualization
08 Advanced Testing 5 Level 3 parametrize, mocking, fixtures, hypothesis, integration tests
09 Docker & Deployment 5 Level 5 Dockerfile, multi-stage builds, docker-compose, GitHub Actions
10 Django Full-Stack 5 Module 04 + Module 06 Django models, views, templates, DRF, full CRUD app
11 Package Publishing 3 Level 3 pyproject.toml, src layout, build, TestPyPI
12 Cloud Deployment 3 Module 04 + Module 09 Railway/Render, Postgres, production checklist

Suggested order: Modules 01-03 and 07 after Level 2. Modules 04-06, 08, 11 after Level 3. Modules 09-10, 12 after Level 5.


Concept Guides & Practice Tools

35 concept guides explain core ideas in plain language — from variables and loops through decorators, async/await, and security. Most have matching quizzes. See the full concept index.

34 quizzes — one per concept guide. Run them from the terminal:

python concepts/quizzes/what-is-a-variable-quiz.py

24 flashcard decks — spaced repetition using a Leitner box system. Cards you get right appear less often. Cards you miss come back immediately.

python practice/flashcards/review-runner.py

30 coding challenges — 10 to 30 minutes each. 15 beginner, 15 intermediate.

python practice/challenges/beginner/01-swap-variables.py

Plus diagnostic assessments, an auto-grader, and a progress dashboard.


Milestones

These gates mark real, demonstrable competence. Each one produces something you can show.

Gate Milestone What It Proves
A Setup complete + first script + first passing test You can write and run Python
B File/Excel automation handles malformed input gracefully You can build resilient data tools
C SQL ETL pipeline is idempotent and recoverable You understand data integrity
D External API data ingested into local database cache You can integrate external systems
E Browser dashboard renders data for non-technical users You can build for real users

Contributing

Contributions are welcome. If you find a typo, a broken link, a test that could be better, or want to add a project — open an issue or submit a pull request.

If this curriculum helps you learn Python, that's already worth it. If you want to make it better for the next person, even better.

Please read CONTRIBUTING.md for guidelines and CODE_OF_CONDUCT.md for community standards.


Additional Resources

Document Description
Getting Started Guide How to use this curriculum, time estimates, pacing suggestions
FAQ Common questions from new learners
Curriculum Map Visual dependency diagram and projects-at-a-glance table
Fast Track Accelerated path for developers who already know another language
30-Day Python Challenge Curated 30-day subset of the curriculum with daily goals
Review Schedule Spaced repetition review calendar with checkpoints per level
Career Readiness Map curriculum levels to job roles, interview prep by stage
Portfolio Guide How to present your projects to employers
Teaching Guide Classroom adaptation: semester mappings, rubrics, GitHub Classroom
Workshop Kit Run a 2-hour Python workshop at meetups and user groups
Accessibility Screen reader guidance, cognitive accessibility, accommodations
Creator Kit Guide for YouTubers and bloggers creating companion content
Validation What the CI checks do and how to run them locally
Tools Guide Documentation for all curriculum tools
Changelog Version history and release notes
Contributing How to contribute to this project
Code of Conduct Community standards
License MIT License

Next

Next: START_HERE.md ->

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages