Expansion Modules¶
Home: README
These modules teach Python technologies beyond the enterprise operations ladder. Each module is self-contained with 3–5 projects that progress from basics to intermediate use. They use real libraries, not simulations.
How to use these modules¶
- Complete the prerequisite level listed for each module.
- Create a virtual environment and install the module's dependencies:
pip install -r requirements.txt - Work through projects in order (01 → 02 → 03 …).
- Each project follows the same pattern: run → alter → break → fix → explain.
Module index¶
| # | 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 (Consuming) | 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 by learning phase¶
After Level 2 (you know functions, files, basic testing): - Module 01: Web Scraping - Module 02: CLI Tools - Module 03: REST APIs - Module 07: Data Analysis
After Level 3 (you know packages, error handling, project structure): - Module 04: FastAPI Web Apps - Module 05: Async Python - Module 06: Databases & ORM - Module 08: Advanced Testing - Module 11: Package Publishing
After Level 5 (you know architecture, reliability, CI patterns): - Module 09: Docker & Deployment - Module 10: Django Full-Stack - Module 12: Cloud Deployment
Virtual environments¶
Each module has its own requirements.txt. Create a virtual environment per module:
cd projects/modules/01-web-scraping
python -m venv .venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
pip install -r requirements.txt
See concepts/virtual-environments.md for a full explanation.
| ← Prev | Home | Next → |
|---|---|---|