Skip to content

A coincise beginner to advanced programming course covering theory to production

Notifications You must be signed in to change notification settings

misterdojo777/python-2026-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python 2026 Foundation Course

A modern, production-focused Python learning path designed to take you from zero to building real-world applications.

🎯 Course Philosophy

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

πŸ“š Three-Layer Learning Path

Layer 1: Foundation 🧱

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/


Layer 2: Building Programs πŸ”¨

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


Layer 3: Architectures πŸ—οΈ

Build production-grade systems

a_automations/ β€” Practical automation patterns

  • 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

b_file_tools/ β€” Production file management utilities

  • 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

b_production_api/ β€” Full-stack web development

  • 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


πŸš€ Getting Started

Prerequisites

  • Python 3.12+ installed
  • Basic terminal/command-line familiarity
  • A code editor (VS Code, PyCharm, or similar)

Setup

# 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

Start Learning

# 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.py

πŸ“– How to Use This Course

1. Read the Code

Every .py file is heavily commented with explanations, examples, and best practices.

2. Run Examples

Execute files directly:

python 01_variables_types.py

Or experiment in the REPL:

python  # Start interactive shell
>>> # Try examples from the file
>>> # Modify and experiment!

3. Complete Exercises

Each module has "Try it yourself" exercises. Solutions require thinking, not copying!

4. Test Your Code

Starting in Building Programs, you'll write tests:

pytest tests/

5. Validate Quality

Use the tools taught in the course:

ruff check .        # Linting
mypy .              # Type checking

πŸ—ΊοΈ Learning Path Flowchart

START
  ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  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!

🎯 What You'll Build

Building Programs Layer

  • Mini Project: Task manager CLI with file persistence and error handling

Architectures - Automations

  • File Organizer: Automatically sort downloads by type
  • Data Validator: ETL pipeline for CSV processing
  • System Monitor: Log analyzer with scheduling

Architectures - Production API

  • 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

πŸ› οΈ Tech Stack

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)

πŸ“Š Time Estimates

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.


πŸŽ“ Learning Outcomes

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


🀝 Best Practices Taught

Code Quality

  • Type hints for all functions and variables
  • Comprehensive docstrings
  • Linting with ruff (no violations)
  • Static type checking with mypy --strict
  • 80-90%+ test coverage

Architecture

  • Dependency injection patterns
  • Clean separation of concerns
  • Repository pattern for data access
  • Service layer for business logic
  • Middleware for cross-cutting concerns

DevOps

  • Git with trunk-based development
  • Conventional commits
  • Automated testing on PRs
  • Docker multi-stage builds
  • Environment-based configuration

πŸ“‚ Repository Structure

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

❓ FAQ

Do I need prior programming experience?

No! The course starts from absolute basics. If you know another language, you can skip Foundation Core.

Why no Jupyter notebooks?

Professional Python development happens in .py files and terminals. Learning this way prepares you for real jobs.

Can I skip sections?

Yes, but follow the progression. Each layer builds on the previous. Don't jump to Architectures without Foundation.

What if I get stuck?

  1. Read error messages carefully
  2. Use the REPL to debug step-by-step
  3. Review previous modules
  4. Search documentation
  5. Ask for help with specific error messages

Why Python 3.12+?

We teach modern Python with the latest features. If you're on an earlier version, update for full compatibility.

Where are the solutions?

This course teaches problem-solving. Files have hints and comprehensive comments, but you must implement solutions yourself.


πŸ”— Additional Resources


πŸ“ Course Conventions

File Naming

  • Modules: 01_topic_name.py (numbered for sequence)
  • Tests: test_topic_name.py
  • Config: config.py, settings.py

Code Style

  • Type hints: Always. No exceptions.
  • Naming: snake_case for functions/variables, PascalCase for classes
  • Line length: 88 characters (ruff default)
  • Docstrings: Triple quotes, describe purpose and parameters
  • Imports: Grouped (stdlib, third-party, local) with blank lines

πŸŽ‰ Ready to Start?

# 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.py

Welcome to professional Python development! 🐍


Course Version: 2026.1 Updated: 2026-01 (Structure Updates)

About

A coincise beginner to advanced programming course covering theory to production

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages