{"id":50914999,"url":"https://github.com/nanlabs/nan-python-engineering-labs","last_synced_at":"2026-06-16T14:01:10.489Z","repository":{"id":351193807,"uuid":"1209568858","full_name":"nanlabs/nan-python-engineering-labs","owner":"nanlabs","description":"Self-guided learning system for professional Python engineering — typing, testing, async, FastAPI, performance. NaNLABS Lab Charter v1.","archived":false,"fork":false,"pushed_at":"2026-05-22T04:44:26.000Z","size":1610,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-22T09:46:28.168Z","etag":null,"topics":["async","charter-v1","fastapi","learning-labs","nanlabs","packaging","python","testing","typing"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nanlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"ulises-jeremias","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2026-04-13T14:59:15.000Z","updated_at":"2026-05-22T04:44:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nanlabs/nan-python-engineering-labs","commit_stats":null,"previous_names":["nanlabs/nan-python-engineering-labs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nanlabs/nan-python-engineering-labs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanlabs%2Fnan-python-engineering-labs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanlabs%2Fnan-python-engineering-labs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanlabs%2Fnan-python-engineering-labs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanlabs%2Fnan-python-engineering-labs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanlabs","download_url":"https://codeload.github.com/nanlabs/nan-python-engineering-labs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanlabs%2Fnan-python-engineering-labs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34408788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","charter-v1","fastapi","learning-labs","nanlabs","packaging","python","testing","typing"],"created_at":"2026-06-16T14:01:09.155Z","updated_at":"2026-06-16T14:01:10.480Z","avatar_url":"https://github.com/nanlabs.png","language":"Python","funding_links":["https://github.com/sponsors/ulises-jeremias"],"categories":[],"sub_categories":[],"readme":"# Python Engineering Labs\n\n\u003e Modular advanced Python learning system updated to the most modern technologies of 2026\n\n______________________________________________________________________\n\n## Quick Navigation Guide\n\nThis README serves two purposes:\n\n1. **Entry hub** (to quickly understand how the training is structured), and\n1. **Detail document** (all original technical content, further below).\n\nIf this is your first time here, follow this order:\n\n- Learning Roadmap (Hub)\n- Program Structure (Hub)\n- Module Summary (Hub)\n- Quick Start (Hub)\n- Full Documentation (Hub)\n\n______________________________________________________________________\n\n## Learning Roadmap (Hub)\n\n```text\nPHASE 1: Foundation (4-6 weeks)\n01_python_fundamentals → 02_intermediate_python → 03_basic_intermediate_oop\n\nPHASE 2: Technical Core (6-8 weeks)\n04_cpython_internals_advanced → 05_modern_concurrency → 06_typing_metaprogramming\n\nPHASE 3: Software Engineering (8-10 weeks)\n07_design_patterns → 08_application_architecture → 09_testing_qa → 10_performance_optimization\n\nPHASE 4: Modern Stack 2026 (8-12 weeks)\n11_modern_tooling_2026 → 12_fastapi_complete → 13_backend_ecosystem → 14_advanced_python_2026 → 15_basic_data_science → 16_modern_security\n```\n\n**Total estimated time:** 7-10 months, adaptable to your own pace.\n\n______________________________________________________________________\n\n## Program Structure (Hub)\n\n```text\nnan-python-engineering-labs/\n├── 01...16_*/         → curriculum modules\n├── scripts/           → automation tools (includes progress tracking)\n├── GETTING_STARTED.md → step-by-step setup\n├── STATUS.md          → global program status\n├── pyproject.toml     → tooling/dependencies\n└── README.md          → general map + full detail\n```\n\nSuggested flow per topic:\n\n```text\ntopic README → examples → exercise → tests → reflection\n```\n\n______________________________________________________________________\n\n## Module Summary (Hub)\n\n| Module                                                          | What you learn                                 |\n| --------------------------------------------------------------- | ---------------------------------------------- |\n| [01_python_fundamentals](modules/01_python_fundamentals/)               | Solid language foundation                      |\n| [02_intermediate_python](modules/02_intermediate_python/)               | Flow, files, exceptions, generators            |\n| [03_basic_intermediate_oop](modules/03_basic_intermediate_oop/)         | Applicable object-oriented design              |\n| [04_cpython_internals_advanced](modules/04_cpython_internals_advanced/) | Internals, GIL/free-threading, subinterpreters |\n| [05_modern_concurrency](modules/05_modern_concurrency/)                 | Threading, multiprocessing, modern asyncio     |\n| [06_typing_metaprogramming](modules/06_typing_metaprogramming/)         | Advanced typing and metaprogramming            |\n| [07_design_patterns](modules/07_design_patterns/)                       | Patterns for robust design                     |\n| [08_application_architecture](modules/08_application_architecture/)     | Modular and scalable architecture              |\n| [09_testing_qa](modules/09_testing_qa/)                                 | Professional testing and quality               |\n| [10_performance_optimization](modules/10_performance_optimization/)     | Practical profiling and optimization           |\n| [11_modern_tooling_2026](modules/11_modern_tooling_2026/)               | uv, Ruff, modern type checking                 |\n| [12_fastapi_complete](modules/12_fastapi_complete/)                     | Modern production-ready APIs                   |\n| [13_backend_ecosystem](modules/13_backend_ecosystem/)                   | Backend and infrastructure integration         |\n| [14_advanced_python_2026](modules/14_advanced_python_2026/)             | PyO3 and AI-assisted development               |\n| [15_basic_data_science](modules/15_basic_data_science/)                 | Python data science fundamentals               |\n| [16_modern_security](modules/16_modern_security/)                       | Modern software and supply chain security      |\n\n______________________________________________________________________\n\n## Quick Start (Hub)\n\n### 1) Essential documentation\n\n- [GETTING_STARTED.md](GETTING_STARTED.md)\n- [STATUS.md](STATUS.md)\n- [README.md](README.md)\n\n### 2) Quick setup\n\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\nuv venv\nsource .venv/bin/activate  # Linux/Mac\n# .venv\\Scripts\\activate  # Windows\nuv pip install -e \".[dev,profiling,ai,pyo3,security,data]\"\npre-commit install\nuv run scripts/progress.py\n```\n\n### 3) First module\n\n```bash\ncd 01_python_fundamentals\ncat README.md\n```\n\n______________________________________________________________________\n\n## Full Documentation (Hub)\n\n- [GETTING_STARTED.md](GETTING_STARTED.md): installation and setup\n- [STATUS.md](STATUS.md): progress tracking\n- [scripts/progress.py](scripts/progress.py): automatic progress report\n- [scripts/run_topic_tests.py](scripts/run_topic_tests.py): sequential pytest runner for exercise-based topic tests\n- [pyproject.toml](pyproject.toml): environment and tooling configuration\n\n______________________________________________________________________\n\n## Sibling Labs\n\nThis repository is part of the NaNLABS learning lab ecosystem:\n\n- [nan-ai-engineering-labs](https://github.com/nanlabs/nan-ai-engineering-labs) — AI/ML engineering fundamentals and applied techniques\n- [nan-data-engineering-labs](https://github.com/nanlabs/nan-data-engineering-labs) — Data engineering pipelines, warehousing, and orchestration\n- [nan-ai-native-engineering-labs](https://github.com/nanlabs/nan-ai-native-engineering-labs) — AI-native development with prompt engineering and agents\n\n______________________________________________________________________\n\n## Full Program Details\n\n## Description\n\n**Python Engineering Labs** is a structured self-learning project covering Python from fundamentals to advanced topics, including the latest 2026 innovations: free-threading without GIL (PEP 703), Rust-based tooling (uv, Ruff), PyO3 extensions, AI-assisted development, and modern security architecture.\n\n### Features\n\n- **200+ topics organized in 16 thematic modules** — independent and self-contained\n- **No fixed calendar**: learn at your own pace\n- **Pre-populated templates** with curated content\n- **Progressive exercises** (basic → intermediate → advanced) with tests\n- **88 design patterns** fully documented\n- **Modern infrastructure**: DevContainers, pre-commit hooks, automatic tracking\n- **Rust ecosystem**: uv, Ruff, PyO3\n- **Python 3.13+**: free-threading, subinterpreters\n\n## My Learning Progress\n\n| Module | Completed | Total | Progress | Percentage |\n|--------|-----------|-------|----------|------------|\n| Python Fundamentals | 0 | 12 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Intermediate Python | 0 | 15 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Basic Intermediate Oop | 0 | 12 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Cpython Internals Advanced | 0 | 27 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Modern Concurrency | 0 | 25 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Typing Metaprogramming | 0 | 22 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Design Patterns | 0 | 88 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Application Architecture | 0 | 18 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Testing Qa | 0 | 16 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Performance Optimization | 0 | 14 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Modern Tooling 2026 | 0 | 36 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Fastapi Complete | 0 | 28 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Backend Ecosystem | 0 | 20 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Advanced Python 2026 | 0 | 45 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Basic Data Science | 0 | 10 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n| Modern Security | 0 | 40 | ░░░░░░░░░░░░░░░░░░░░ | 0.0% |\n|--------|-----------|-------|----------|------------|\n| **TOTAL** | **0** | **428** | ░░░░░░░░░░░░░░░░░░░░ | **0.0%** |\n\n*Last updated: nan-python-engineering-labs*\n\n\n## Module Structure\n\n### Basic Level (Optional for those who already know Python)\n\n#### [01 - Python Fundamentals](modules/01_python_fundamentals/)\n\nVariables, data types, control structures, built-in data structures, basic functions, comprehensions. Topics marked as `(optional)` for experienced programmers.\n\n**Topics**: 12 | **Estimated time**: 15-20 hours\n\n#### [02 - Intermediate Python](modules/02_intermediate_python/)\n\nBasic decorators, file handling, exceptions, iterators, generators, important standard modules.\n\n**Topics**: 15 | **Estimated time**: 20-25 hours\n\n#### [03 - Basic and Intermediate OOP](modules/03_basic_intermediate_oop/)\n\nClasses, inheritance, polymorphism, special methods, properties, descriptors, composition vs inheritance.\n\n**Topics**: 12 | **Estimated time**: 18-22 hours\n\n______________________________________________________________________\n\n### Intermediate-Advanced Level\n\n#### [04 - CPython Internals Advanced](modules/04_cpython_internals_advanced/)\n\nHistory of the GIL, **PEP 703 free-threading**, **PEP 684 subinterpreters**, thread-safety without GIL, object model, reference counting, migration strategies.\n\n**Topics**: 27 | **Estimated time**: 40-50 hours\n\n**Highlighted topics**:\n\n- Free-threading Python 3.13+ (`--disable-gil` mode)\n- Subinterpreters with per-interpreter GIL\n- Thread-safety in modern Python code\n- Biased reference counting\n- Immortal objects (PEP 683)\n\n#### [05 - Modern Concurrency and Parallelism](modules/05_modern_concurrency/)\n\nThreading with/without GIL, subinterpreters for isolation, multiprocessing with shared memory, advanced asyncio, concurrency patterns, concurrent testing.\n\n**Topics**: 25 | **Estimated time**: 35-50 hours\n\n#### [06 - Typing and Metaprogramming](modules/06_typing_metaprogramming/)\n\nAdvanced type hints, Protocols, TypeVar, ParamSpec, metaclasses, descriptors, AST manipulation, import hooks.\n\n**Topics**: 22 | **Estimated time**: 30-40 hours\n\n______________________________________________________________________\n\n### Patterns and Architecture\n\n#### [07 - Design Patterns](modules/07_design_patterns/)\n\n88 design patterns organized in 8 subcategories: GoF basics, Pythonic, advanced GoF, architectural, distributed systems, concurrency, messaging, object management.\n\n**Patterns**: 88 | **Estimated time**: 60-80 hours\n\n#### [08 - Application Architecture](modules/08_application_architecture/)\n\nSOLID, DDD, hexagonal architecture, CQRS, Event-Driven, clean architecture with practical Python examples.\n\n**Topics**: 18 | **Estimated time**: 25-35 hours\n\n#### [09 - Testing and QA](modules/09_testing_qa/)\n\npytest advanced, fixtures, mocking, hypothesis (property-based testing), mutation testing, performance testing.\n\n**Topics**: 16 | **Estimated time**: 20-30 hours\n\n#### [10 - Performance and Optimization](modules/10_performance_optimization/)\n\nProfiling (py-spy, memray, viztracer), algorithmic optimization, Cython, NumPy vectorization, strategic caching.\n\n**Topics**: 14 | **Estimated time**: 20-28 hours\n\n______________________________________________________________________\n\n### Modern Stack 2026\n\n#### [11 - Modern Tooling 2026](modules/11_modern_tooling_2026/)\n\nuv (Rust-based package manager), Ruff (linter/formatter), BasedPyright/Pylyzer, pre-commit automation, advanced pytest configuration.\n\n**Topics**: 35 | **Estimated time**: 25-35 hours\n\n#### [12 - FastAPI Complete](modules/12_fastapi_complete/)\n\nComplete FastAPI framework, JWT authentication, WebSockets, background tasks, deployment on Railway/Fly.io.\n\n**Topics**: 28 | **Estimated time**: 40-56 hours\n\n#### [13 - Backend Ecosystem](modules/13_backend_ecosystem/)\n\nSQLAlchemy 2.0, Redis, RabbitMQ, Kafka, gRPC, distributed observability, service mesh.\n\n**Topics**: 20 | **Estimated time**: 28-40 hours\n\n#### [14 - Advanced Python 2026](modules/14_advanced_python_2026/)\n\nPyO3 (Rust extensions) — 22 topics. AI-Assisted Development — 23 topics. LangChain, LangGraph, autonomous agents.\n\n**Topics**: 45 | **Estimated time**: 45-60 hours\n\n#### [15 - Basic Data Science](modules/15_basic_data_science/)\n\nNumPy, Pandas, Matplotlib, Polars, practical statistics for data engineering.\n\n**Topics**: 10 | **Estimated time**: 15-20 hours\n\n#### [16 - Modern Security](modules/16_modern_security/)\n\nSupply chain security, SBOM, Sigstore (keyless signing), SOPS/Vault (secrets management), runtime hardening.\n\n**Topics**: 40 | **Estimated time**: 30-45 hours\n\n______________________________________________________________________\n\n## License\n\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanlabs%2Fnan-python-engineering-labs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanlabs%2Fnan-python-engineering-labs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanlabs%2Fnan-python-engineering-labs/lists"}