A modern, production-focused Python learning path designed to take you from zero to building real-world applications.
This course teaches Python the way professional developers use it:
- Terminal-first: No Jupyter notebooks β learn command-line development from day one
- Type-safe: Type hints throughout, validated with mypy
- Production-ready: Modern tools (uv, ruff, FastAPI, Docker, SQLAlchemy 2.0)
- Progressive: Each layer builds naturally on the previous
- Practical: Every concept leads to real applications
Master core Python and advanced language features
a_core/ β The essential building blocks
- Variables, types, and type hints
- Data structures (lists, dicts, sets, tuples)
- Control flow (if/for/while, match statements)
- Functions and parameters
- Classes and OOP fundamentals
b_advanced/ β Modern Python features
- List/dict/set comprehensions
- Decorators and wrappers
- Generics and advanced typing (TypeVar, Protocol)
- Enums and pattern matching
π Time: ~12-15 hours
π Start here: 0_origins/README.md β 1_foundation/a_core/
Bridge the gap from syntax to software
- 01_file_io β pathlib, reading/writing, context managers
- 03_testing_basics β pytest, fixtures, parametrize
- 04_code_quality β ruff linting, mypy type-checking, git workflows
- 05_cli_tools β argparse/typer, script organization
- 06_mini_project β Integrated project with tests and quality checks
- 07_pydantic_models β Data validation and configuration (Pydantic v2)
π Time: ~12-16 hours π― Goal: Write clean, tested, maintainable Python programs
Build production-grade systems
- 01_file_management β Scouting, sorting, and cleaning the filesystem
- 02_data_processing β Validated ETL pipelines (CSV, JSON, Pydantic)
- 03_system_tasks β Professional logging, scheduling, and health checks
- 04_capstone β Integrated, modular automation service
- File Organizer β Automatically organize files by type with duplicate detection
- File Cleaner β Advanced file cleanup with workflow automation
- Ready-to-use tools for daily file management
- 01_setup_docker β Docker basics, docker-compose, environments
- 02_fastapi_core β Routers, dependencies, Pydantic validation
- 03_database β SQLAlchemy 2.0 async, sessions, Alembic migrations
- 04_advanced_patterns β Middleware, auth, dependency injection
- 05_testing_deployment β API tests, GitHub Actions CI/CD
- 06_background_jobs β Celery workers, Redis broker, scheduled tasks
- capstone_api/ β Complete production API with all patterns
π Time: ~20-25 hours π― Goal: Deploy production-ready Python applications
- Python 3.12+ installed
- Basic terminal/command-line familiarity
- A code editor (VS Code, PyCharm, or similar)
# 1. Clone/navigate to repository
cd python-zero-to-hero
# 2. Install uv (modern package manager)
# macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 3. Install dependencies
uv sync
# 4. Verify setup
uv run python --version # Should show Python 3.12+
uv run ruff --version
uv run mypy --version
uv run pytest --version# Read the setup guide first
cat main/0_origins/README.md
# Then start with Foundation Core
cd main/1_foundation/a_core
cat README.md
# Run your first module
python 01_variables_types.pyEvery .py file is heavily commented with explanations, examples, and best practices.
Execute files directly:
python 01_variables_types.pyOr experiment in the REPL:
python # Start interactive shell
>>> # Try examples from the file
>>> # Modify and experiment!Each module has "Try it yourself" exercises. Solutions require thinking, not copying!
Starting in Building Programs, you'll write tests:
pytest tests/Use the tools taught in the course:
ruff check . # Linting
mypy . # Type checkingSTART
β
βββββββββββββββββββββββββββββββββββββββ
β 0_origins/ β
β β’ Terminal & REPL guide β
β β’ Environment setup β
βββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββ
β LAYER 1: FOUNDATION β
βββββββββββββββββββββββββββββββββββββββ€
β a_core/ β
β β’ Variables β Types β Structures β
β β’ Control Flow β Functions β
β β’ Classes & OOP β
β β
β b_advanced/ β
β β’ Comprehensions β Decorators β
β β’ Generics β Enums β
βββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββ
β LAYER 2: BUILDING PROGRAMS β
βββββββββββββββββββββββββββββββββββββββ€
β 01_file_io β 03_testing β
β 04_quality β 05_cli_tools β
β 06_mini_project β 07_pydantic β
β β
β π― You can now write professional β
β Python programs! β
βββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββ
β LAYER 3: ARCHITECTURES β
βββββββββββββββββββββββββββββββββββββββ€
β a_automations/ β
β β’ File mgmt β Data ETL β
β β’ System tasks β Scheduling β
β β
β b_file_tools/ β
β β’ File organizer & cleaner β
β β’ Production utilities β
β β
β b_production_api/ β
β β’ Docker β FastAPI β Database β
β β’ Auth β CI/CD β Celery β
β β’ Capstone Project β
β β
β π― You can build production apps! β
βββββββββββββββββββββββββββββββββββββββ
β
π PYTHON MASTERY ACHIEVED!
- Mini Project: Task manager CLI with file persistence and error handling
- File Organizer: Automatically sort downloads by type
- Data Validator: ETL pipeline for CSV processing
- System Monitor: Log analyzer with scheduling
- Capstone Project: Complete REST API with:
- FastAPI backend with async endpoints
- PostgreSQL database with SQLAlchemy 2.0
- Celery background tasks for email/reports
- Docker containerization
- GitHub Actions CI/CD pipeline
- Full test coverage
- Authentication and authorization
| Category | Tools |
|---|---|
| Language | Python 3.12+ |
| Package Manager | uv |
| Code Quality | ruff (linting), mypy (type checking) |
| Testing | pytest |
| Web Framework | FastAPI |
| Database | PostgreSQL, SQLAlchemy 2.0 (async) |
| Data Validation | Pydantic v2 |
| Containerization | Docker, docker-compose |
| Task Queue | Celery + Redis |
| CI/CD | GitHub Actions |
| Other | httpx, rich, Alembic (migrations) |
| Section | Duration | Cumulative |
|---|---|---|
| Setup | 0.5 hour | 0.5 hours |
| Foundation Core | 6-8 hours | 7-8.5 hours |
| Foundation Advanced | 6-7 hours | 13-15.5 hours |
| Building Programs | 10-12 hours | 23-27.5 hours |
| Automations | 8-10 hours | 31-37.5 hours |
| Production API | 12-15 hours | 43-52.5 hours |
| Total Course | ~45-55 hours |
Self-paced: Complete at your own speed. Times assume practice and experimentation.
By the end of this course, you will:
β Master Python fundamentals β Variables through advanced OOP β Write production-quality code β Type hints, testing, linting β Build CLI applications β argparse, file I/O, error handling β Create automation scripts β File management, ETL, scheduling β Develop REST APIs β FastAPI with async patterns β Work with databases β SQLAlchemy 2.0, migrations, relationships β Use containerization β Docker for development and deployment β Implement CI/CD β GitHub Actions for automated testing β Handle background jobs β Celery and Redis for async tasks β Apply SOLID principles β Write maintainable, scalable code
- Type hints for all functions and variables
- Comprehensive docstrings
- Linting with ruff (no violations)
- Static type checking with mypy --strict
- 80-90%+ test coverage
- Dependency injection patterns
- Clean separation of concerns
- Repository pattern for data access
- Service layer for business logic
- Middleware for cross-cutting concerns
- Git with trunk-based development
- Conventional commits
- Automated testing on PRs
- Docker multi-stage builds
- Environment-based configuration
python-zero-to-hero/
βββ main/
β βββ 0_origins/ # β Start here
β βββ 1_foundation/
β β βββ a_core/ # Variables β Classes
β β βββ b_advanced/ # Comprehensions β Enums
β βββ 2_building_programs/
β β βββ 01_file_io/
β β βββ 03_testing_basics/
β β βββ 04_code_quality/
β β βββ 05_cli_tools/
β β βββ 06_mini_project/
β β βββ 07_pydantic_models/
β βββ 3_architectures/
β βββ a_automations/
β β βββ 01_file_management/
β β βββ 02_data_processing/
β β βββ 03_system_tasks/
β β βββ 04_capstone/
β βββ b_file_tools/ # Production file management tools
β βββ b_production_api/
β βββ 01_setup_docker/
β βββ 02_fastapi_core/
β βββ 03_database/
β βββ 04_advanced_patterns/
β βββ 05_testing_deployment/
β βββ 06_background_jobs/
β βββ capstone_api/
βββ misc/ # Reference materials (preserved)
βββ openspec/ # Project specifications
βββ pyproject.toml # Dependencies
βββ README.md # Top-level guide
No! The course starts from absolute basics. If you know another language, you can skip Foundation Core.
Professional Python development happens in .py files and terminals. Learning this way prepares you for real jobs.
Yes, but follow the progression. Each layer builds on the previous. Don't jump to Architectures without Foundation.
- Read error messages carefully
- Use the REPL to debug step-by-step
- Review previous modules
- Search documentation
- Ask for help with specific error messages
We teach modern Python with the latest features. If you're on an earlier version, update for full compatibility.
This course teaches problem-solving. Files have hints and comprehensive comments, but you must implement solutions yourself.
- Python Docs: https://docs.python.org/3/
- uv Documentation: https://docs.astral.sh/uv/
- FastAPI Docs: https://fastapi.tiangolo.com/
- SQLAlchemy Docs: https://docs.sqlalchemy.org/
- Pydantic Docs: https://docs.pydantic.dev/
- pytest Docs: https://docs.pytest.org/
- Modules:
01_topic_name.py(numbered for sequence) - Tests:
test_topic_name.py - Config:
config.py,settings.py
- Type hints: Always. No exceptions.
- Naming:
snake_casefor functions/variables,PascalCasefor classes - Line length: 88 characters (ruff default)
- Docstrings: Triple quotes, describe purpose and parameters
- Imports: Grouped (stdlib, third-party, local) with blank lines
# 1. Read the setup guide
cat main/0_origins/README.md
# 2. Understand the REPL
python main/0_origins/02_interpreter.py
# 3. Begin Foundation Core
cd main/1_foundation/a_core
cat README.md
python 01_variables_types.pyWelcome to professional Python development! π
Course Version: 2026.1 Updated: 2026-01 (Structure Updates)