Python Engineering
Python Engineering (8): Performance — Profiling, Caching, and Knowing When to Stop
Profile Python code to find real bottlenecks, apply caching and vectorization where they matter, and avoid the trap of premature optimization.
Python Engineering (7): Packaging — From pip install to PyPI
Package your Python code for distribution via pip, publish to PyPI, create Docker images, and manage versioning. The complete guide from local project to installable package.
Python Engineering (6): Concurrency — Threads, Processes, and asyncio
Understand the GIL, master threading, multiprocessing, and asyncio. Learn which concurrency model to use for I/O-bound vs CPU-bound workloads.
Python Engineering (5): I/O, Serialization, and Data Formats
Handle files, paths, encodings, and data formats in Python. Compare JSON, YAML, TOML, CSV, pickle, and Parquet with practical examples.
Python Engineering (4): Type Hints, Linting, and Code Quality
Add type safety with mypy, enforce style with ruff and black, and automate checks with pre-commit hooks. Make code reviews about logic, not formatting.
Python Engineering (3): Testing — pytest, Fixtures, and the Confidence Loop
Build confidence in your code with pytest fixtures, parametrize, mocking, and coverage. Learn debugging techniques that save hours.
Python Engineering (2): Project Structure — From Script to Package
Learn how to organize Python code into proper packages with imports, entry points, and CLI tools. Build a real command-line application from scratch.
Python Engineering (1): Environment Setup — pyenv, venv, and Dependency Hell
Master Python environment management with pyenv, virtual environments, and modern dependency tools. Escape dependency hell for good.







