A curated list of awesome things related to dependency inversion / dependency injection in Python.
- Python Dependency Injection (PDF) (Alex Martelli, 2008).
- Fang: Pythonic dependency injection (video) (Nathan Craike, 2015).
- Enforcing Single Responsibility Principle in Python (Nikita Sobolev / Никита Соболев, 2019)
- Pythonic Dependency Injection: A Practical Guide (Sune Andreas Dybro Debel, 2018)
- Elegant Flask API Development Part 1 (mostly covers Flask-Injector).
- "(pytest) Fixtures: a prime example of dependency injection"
- Tests and comparison of Python dependency injection libraries ★3
- Typed Functional Dependency Injection in Python
- Pythonic Application Architecture Patterns for Managing Complexity ★2233, see specially this chapter: Dependency Injection (And Mocks)
- returns ★1974: "Make your functions return something meaningful, typed, and safe!"
- python-dependency-injector ★1692: "Dependency injection microframework for Python"
- Injector ★738: "Python dependency injection framework, inspired by Guice".
- Inject ★482: Python dependency injection
- Dependencies ★278: "Dependency Injection for Humans."
- Punq ★117: "An IoC container for Python 3.6+."
- Lagom ★30: Type based auto-wiring dependency injection with support for async and threading.
- Antidote ★29: "Dependency injection for Python"
- Rodi ★26: Dependency injection for Python 3.
- Serum ★81: "Dependency injection framework for Python 3.6"
- Aiodine ★53: "Async-first Python dependency injection library"
- Wiring ★30: Architectural foundation for Python applications. (Unmaintained).
- Flask-Injector ★234: Adds Injector support to Flask.
- Pyramid-Wiring ★1: integration of Wiring and Pyramid (unmaintained).