Skip to content
This repository was archived by the owner on Jun 23, 2025. It is now read-only.

suri-kunal/python-concurrency-roadmap

Repository files navigation

Archiving this repo. I got lazy and didn't post my code here

Dangerous Python Concurrency Roadmap

This repo is not a tutorial. It’s a war zone.

A project-first, failure-driven journey through Python iterators, generators, asyncio, and multiprocessing. Inspired by the “Dangerous Quickstart Roadmap,” this repo documents every phase, every bug, and every scar earned while building robust, production-grade concurrent systems in Python.

What’s Inside

  • Phase 0: Environment setup, tooling, and containerization. No excuses.
  • Phase 1: Iterators & generators—streaming, parsing, and error-proofing real data.
  • Phase 2: Asyncio—concurrent scraping, robust error handling, and chaos injection.
  • Phase 3: Multiprocessing & threading—CPU-bound work, race conditions, and recovery.
  • Phase 4: Capstone—integrated, profiled, and failure-resilient async microservice or harvester.

Principles

  • Project-First: Every phase ships real, working code.
  • Mandatory Failure: Every project is broken on purpose, then fixed and documented.
  • Chaos Agent: Requirements change, bugs are injected, and nothing is ever “done” until it survives sabotage.
  • Tooling: Logging, profiling, and monitoring are non-negotiable.

How to Use

  1. Clone the repo.
  2. Follow the roadmap in roadmap.md.
  3. Run the code, break it, fix it, and document what you learned.
  4. Don’t skip the Dockerfile, the tests, or the postmortems.

Requirements

  • Python 3.10+
  • uv or your preferred environment manager
  • See pyproject.toml for dependencies

Roadmap

See roadmap.md for the full, brutal breakdown.

License

Unlicense. Use at your own risk. If you copy-paste without understanding, you’ll get burned.


If you’re not stuck or frustrated, you’re not pushing hard enough.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published