An open API service indexing awesome lists of open source software.

awesome-dependency-injection-in-python

A curated list of awesome things related to dependency inversion / dependency injection in Python. (Contributions welcomed).
https://github.com/sfermigier/awesome-dependency-injection-in-python

Last synced: 21 days ago
JSON representation

Articles / blog posts

Books

Software

Archived or unmaintained DI frameworks

  • Antidote - Dependency injection for Python. [🐍, MIT License].
  • Serum - Dependency injection framework for Python 3.6. [🐍, MIT License].
  • Aiodine - πŸ§ͺ Async-first Python dependency injection library. [🐍, MIT License].
  • Wiring - Architectural foundation for Python applications. [🐍, Apache License 2.0].

DI components of Web frameworks

DI Frameworks / Containers

  • Lagom - wiring dependency injection with support for async and threading. [🐍, MIT License].
  • python-dependency-injector - Dependency injection framework for Python. [🐍, BSD 3-Clause "New" or "Revised" License].
  • returns - Make your functions return something meaningful, typed, and safe!. [🐍, BSD 2-Clause "Simplified" License].
  • Injector - Python dependency injection framework, inspired by Guice. [🐍, BSD 3-Clause "New" or "Revised" License].
  • Inject - Python dependency injection. [🐍, Apache License 2.0].
  • Kink - Dependency injection container made for Python. [🐍, MIT License].
  • Dependencies - Constructor injection designed with OOP in mind. [🐍, BSD 2-Clause "Simplified" License].
  • Dishka - Cute DI framework with agreeable API and everything you need. [🐍, Apache License 2.0].
  • Punq - An IoC container for Python 3.6+. [🐍, MIT License].
  • svcs - A Flexible Service Locator for Python. [🐍, MIT License].
  • That Depends - simple DI-framework, inspired by python-dependency-injector, but without wiring [🐍, MIT License].
  • injectable - Python Dependency Injection for Humansβ„’. [🐍, MIT License].
  • Wireup - Concise, Powerful, and Type-Safe Python Dependency Injection Library. [🐍, MIT License].
  • Opyoid - Dependency injection library for Python. [🐍, MIT License].
  • Fresh Bakery - Bake dependency injections asynchronously and stupidly simple. [🐍, MIT License].
  • andi - Library for annotation-based dependency injection. [🐍, BSD 3-Clause "New" or "Revised" License].
  • Picodi - A DI library inspired by FastAPI. It integrates well with FastAPI but can also be used independently. [🐍, MIT License].
  • Clean IoC - A simple unintrusive dependency injection library for python with strong support for generics [🐍, MIT License].
  • injection - replacement for python-dependency-injector that works with Python 3.8-3.12 and works with FastAPI, DRF, Flask and Litestar [🐍, MIT License].
  • FastDepends - FastAPI Dependency Injection system extracted from FastAPI and cleared of all HTTP logic. [🐍, MIT License].
  • Modern DI - powerful DI-framework with scopes and IoC-container [🐍, MIT License].
  • engin - a dependency injection powered application framework, inspired by Uber's fx framework. [🐍, MIT License].
  • ididi - Genius simplicity, unmathced power, dependency injection in a single line of code. [🐍, MIT License]
  • python-injection - Dead-simple dependency injection framework for Python. [🐍, MIT License].
  • diwire - Type-safe dependency injection for Python with auto-wiring, scopes, async factories, and zero deps [🐍, MIT License].
  • Overlay - A dependency injection framework with pytest-fixture syntax, plus a configuration language for declarative programming [🐍, MIT License].
  • Injex - Tiny typed dependency injection container with constructor injection, singleton/transient/scoped lifetimes, test overrides, and graph validation before startup. Zero runtime dependencies. [🐍, MIT License].
  • cdi-di - powerful python dependency injection, support generics, circular dep, lifetimes and more [🐍, MIT License].

Integration with web frameworks

  • Flask-Injector - Adds Injector support to Flask. [🐍, BSD 3-Clause "New" or "Revised" License].

Talks / slides

Videos