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, pythonic style. + Obvious, clear structure. + Extensibility and flexibility. + Memory efficiency. + Thread safety. + Documentation. + Semantic versioning. *Dependency Injector* framework could be used in different application types: + Web applications based on Flask, Django or any other web framework. + Asyncronous 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.