================================================================= Dependency Injector --- Dependency injection framework for Python ================================================================= .. meta:: :google-site-verification: 6it89zX0_wccKEhAqbAiYQooS95f0BA8YfesHk6bsNA :keywords: Python,Dependency injection,DI,Inversion of Control,IoC, IoC Container,Factory, Singleton, Design Patterns :description: Dependency Injector is a dependency injection microframework for Python. It was designed to be unified, developer-friendly tool that helps to implement dependency injection design pattern in formal, pretty, Pythonic way. Dependency Injector provides implementations of such popular design patterns like IoC container, Factory and Singleton. Dependency Injector providers are implemented as C extension types using Cython. .. _index: .. figure:: https://raw.githubusercontent.com/wiki/ets-labs/python-dependency-injector/img/logo.svg .. image:: https://img.shields.io/pypi/v/dependency_injector.svg :target: https://pypi.org/project/dependency-injector/ :alt: Latest Version .. image:: https://img.shields.io/pypi/l/dependency_injector.svg :target: https://pypi.org/project/dependency-injector/ :alt: License .. image:: https://img.shields.io/pypi/pyversions/dependency_injector.svg :target: https://pypi.org/project/dependency-injector/ :alt: Supported Python versions .. image:: https://img.shields.io/pypi/implementation/dependency_injector.svg :target: https://pypi.org/project/dependency-injector/ :alt: Supported Python implementations .. image:: https://pepy.tech/badge/dependency-injector :target: https://pepy.tech/project/dependency-injector :alt: Downloads .. image:: https://pepy.tech/badge/dependency-injector/month :target: https://pepy.tech/project/dependency-injector :alt: Downloads .. image:: https://pepy.tech/badge/dependency-injector/week :target: https://pepy.tech/project/dependency-injector :alt: Downloads .. image:: https://img.shields.io/pypi/wheel/dependency-injector.svg :target: https://pypi.org/project/dependency-injector/ :alt: Wheel .. image:: https://travis-ci.org/ets-labs/python-dependency-injector.svg?branch=master :target: https://travis-ci.org/ets-labs/python-dependency-injector :alt: Build Status .. image:: http://readthedocs.org/projects/python-dependency-injector/badge/?version=latest :target: http://python-dependency-injector.ets-labs.org/ :alt: Docs Status .. image:: https://coveralls.io/repos/github/ets-labs/python-dependency-injector/badge.svg?branch=master :target: https://coveralls.io/github/ets-labs/python-dependency-injector?branch=master :alt: Coverage Status What is ``Dependency Injector``? ================================ ``Dependency Injector`` is a dependency injection microframework for Python. It was designed to be a unified and developer-friendly tool that helps implement a dependency injection design pattern in a formal, pretty, and Pythonic way. The key features of the *Dependency Injector* framework are: + Easy, smart, and pythonic style. + Obvious and clear structure. + Extensibility and flexibility. + High performance. + Memory efficiency. + Thread safety. + Documented. + Semantically versioned. *Dependency Injector* containers and providers are implemented as C extension types using Cython. Contents -------- .. toctree:: :maxdepth: 2 introduction/index main/installation providers/index containers/index examples/index api/index main/feedback main/changelog