A structured, progressively advanced collection of Python modules (00 → 10) demonstrating strong foundations in software engineering, object-oriented design, functional programming, and production-minded tooling.
This repository contains my implementations for each module in the curriculum.
Each module is built as a standalone learning unit and targets one major concept area (fundamentals → OOP → robustness → architecture → tooling → abstractions → FP).
PythonPool/
├── Module00
├── Module01
├── Module02
├── Module03
├── Module04
├── Module05
├── Module06
├── Module07
├── Module08
├── Module09
└── Module10
| Module | Subject / Theme | What it demonstrates | Code |
|---|---|---|---|
| 00 | Growing Code — Python Fundamentals Through Garden Data | Variables, functions, control flow, type annotations | Module00/ |
| 01 | CodeCultivation — Object-Oriented Garden Systems | Classes, methods, encapsulation, modeling | Module01/ |
| 02 | Garden Guardian — Data Engineering for Smart Agriculture | Exceptions, custom errors, cleanup (finally), resilient logic |
Module02/ |
| 03 | The Codex — Mastering Python’s Import Mysteries | Packages, __init__.py, absolute vs relative imports, circular dependencies |
Module03/ |
| 04 | Cyber Archives — File & Stream Operations | File I/O, stream handling, safe resource management | Module04/ |
| 05 | Data Quest — Mastering Python Collections for Data Engineering | Lists, tuples, sets, dictionaries, comprehensions, generators, pipelines | Module05/ |
| 06 | The Matrix — Real-World Data Engineering Setup | Virtual environments, packaging, configuration mindset | Module06/ |
| 07 | DataDeck — Abstract Card Architecture | Abstract Base Classes, interfaces, multiple inheritance, Strategy & Abstract Factory patterns | Module07/ |
| 08 | Code Nexus — Polymorphic Data Streams | Inheritance, method overriding, subtype polymorphism, unified interfaces | Module08/ |
| 09 | Cosmic Data — Pydantic Models & Validation | Pydantic v2 models, Field constraints, model_validator, nested models |
Module09/ |
| 10 | FuncMage — Functional Programming Mastery | Lambdas, higher-order functions, closures, functools, decorators |
Module10/ |
- Abstract Base Classes (
abc) and enforceable contracts - Interface segregation and composition
- Multiple inheritance (clean and controlled)
- Strategy Pattern & Abstract Factory Pattern (DataDeck Engine)
- Defensive programming and exception design
- Clean module boundaries and package organization
- Practical project structuring (execution from module root, import hygiene)
- Efficient collection usage and generator-based pipelines
- Typed, validated data models (Pydantic v2)
- Environment and dependency setup (virtual environments, configuration)
- Closures for private state
- Higher-order functions for composition
- Decorators for separation of concerns (timing, validation, retry)
Most modules can be run by executing scripts inside the module exercises:
python3 Module00/ex0/...
python3 Module05/ex3/...
python3 Module10/ex4/...DataDeck is structured as a Python package with required init.py files and must be executed using module mode:
cd Module07
python3 -m ex0.main
python3 -m ex1.main
python3 -m ex2.main
python3 -m ex3.main
python3 -m ex4.main
Module09 (Pydantic)python3 -m venv .venv
source .venv/bin/activate
pip install pydantic
python3 Module09/ex0/space_station.py-
Focus: Python fundamentals through practical exercises
-
Expressions, variables, and control flow
-
Functions and basic problem-solving
-
Introduction to type annotations
-
Focus: Object-oriented modeling
-
Building class-based systems
-
Encapsulation, methods, and constructors
-
Scalable data modeling mindset
-
Focus: Resilient programming
-
try / except / finally patterns
-
Custom exception types
-
Raising errors intentionally
-
Reliable resource cleanup
-
Focus: Python import system mastery
-
Package initialization (init.py)
-
Import pathways and module resolution
-
Absolute vs relative import decisions
-
Breaking circular dependency chains
-
Focus: File and stream operations
-
Reading and writing files
-
Stream management
-
Safe file access using with open(...)
-
Handling missing files and corrupted states safely
-
Focus: Collections and efficiency
-
Lists, tuples, sets, and dictionaries
-
Comprehensions and generator expressions
-
Practical data transformations and pipelines
-
Focus: Professional Python environments
-
Virtual environments
-
Dependency management mindset
-
Configuration patterns and isolation
-
Focus: Abstract architecture and system design
-
Abstract Base Class foundations (Card)
-
Polymorphic concrete implementations
-
Interface composition (Combatable, Magical)
-
Design patterns: Strategy + Abstract Factory
-
Clean package execution (python3 -m exN.main)
-
Focus: Polymorphism
-
Overriding behavior while keeping a unified interface
-
Designing inheritance hierarchies
-
Building systems that scale with new types
-
Focus: Typed data validation (Pydantic v2)
-
BaseModel with Field constraints
-
Custom validation via @model_validator(mode="after")
-
Nested models and structured relationships
-
Clean error reporting for invalid data
-
Focus: Functional programming patterns
-
Lambda expressions
-
Higher-order functions and function composition
-
Closures and lexical scoping
-
functools utilities (reduce, partial, lru_cache, singledispatch)
-
Decorators and @staticmethod patterns
-
Python 3.10+
-
flake8 style compliance (where required)
-
Python Standard Library (functools, operator, abc, typing, etc.)
-
Pydantic v2 (Module09)