Key features of Dependency Injector
-----------------------------------

.. meta::
   :keywords: Python,DI,Dependency injection,IoC,Inversion of Control
   :description: This article describes key features of "Dependency Injector" 
                 framework. It also provides some cases and recommendations 
                 about usage of "Dependency Injector" framework.

*Dependency Injector* is a dependency injection framework for Python projects. 
It was designed to be unified, developer-friendly tool for managing any kind
of Python objects and their dependencies in formal, pretty way.

*Dependency Injector* framework key features are:

+ Easy, smart, and pythonic style.
+ Obvious and clear structure.
+ Extensibility and flexibility.
+ High performance.
+ Memory efficiency.
+ Thread safety.
+ Documented.
+ Semantically versioned.

*Dependency Injector* framework could be used in different application types:

+ Web applications based on Flask, Django or any other web framework.
+ Asynchronous applications based on asyncio, Tornado and Twisted.
+ Standalone frameworks and libraries.
+ GUI applications.

*Dependency Injector* framework could be integrated on different project 
stages:

+ It could be used in the beginning of development of new applications.
+ It could be integrated into applications that are in active development 
  stage.
+ It could be used for refactoring of legacy applications.

Components of *Dependency Injector* framework could be used:

+ In composition with each other.
+ Separately between each other.

Main idea of *Dependency Injector* framework is to be useful tool for the 
right thing.


.. disqus::