Git Product home page Git Product logo

awesome-dependency-injection-in-python's Introduction

Awesome Dependency Injection in Python

A curated list of awesome things related to dependency inversion / dependency injection in Python.

Awesome

Talks / slides

  • Python Dependency Injection (PDF) (Alex Martelli, 2008).
  • Fang: Pythonic dependency injection (video) (Nathan Craike, 2015).

Articles / blog posts

Books

Software

DI Frameworks / Containers

  • python-dependency-injector ★3271 - Dependency injection framework for Python. [🐍, BSD 3-Clause "New" or "Revised" License].
  • returns ★2949 - Make your functions return something meaningful, typed, and safe!. [🐍, BSD 2-Clause "Simplified" License].
  • Injector ★1049 - Python dependency injection framework, inspired by Guice. [🐍, BSD 3-Clause "New" or "Revised" License].
  • Inject ★585 - Python dependency injection. [🐍, Apache License 2.0].
  • Dependencies ★345 - Constructor injection designed with OOP in mind. [🐍, BSD 2-Clause "Simplified" License].
  • Punq ★237 - An IoC container for Python 3.6+. [🐍, MIT License].
  • Kink ★256 - Dependency injection container made for Python. [🐍, MIT License].
  • di ★231 - Pythonic dependency injection. [🐍, MIT License].
  • Rodi ★106 - Implementation of dependency injection for Python 3. [🐍, MIT License].
  • injectable ★100 - Python Dependency Injection for Humans™. [🐍, MIT License].
  • svcs ★97 - A Flexible Service Locator for Python. [🐍, MIT License].
  • Antidote ★87 - Dependency injection for Python. [🐍, MIT License].
  • Bevy ★62 - A dependency injection framework for Python! Bevy's primary goal is to help you write amazing code with less effort. [🐍, MIT License].
  • Lagom ★30: Type based auto-wiring dependency injection with support for async and threading.

DI components of Web frameworks

Several modern Python web frameworks include DI components, including:

Archived or unmaintained DI frameworks

  • Serum ★83 - Dependency injection framework for Python 3.6. [🐍, MIT License].
  • Aiodine ★53 - 🧪 Async-first Python dependency injection library. [🐍, MIT License].
  • Wiring ★27 - Architectural foundation for Python applications. [🐍, Apache License 2.0].

Integration with web frameworks

  • Flask-Injector ★261 - Adds Injector support to Flask. [🐍, BSD 3-Clause "New" or "Revised" License].
  • Pyramid-Wiring ★0 - . [🐍, MIT License].

See also above.

awesome-dependency-injection-in-python's People

Contributors

adriangb avatar meadsteve avatar orsinium avatar sfermigier avatar sixcorners avatar sobolevn avatar whg517 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.