mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 01:47:36 +03:00 
			
		
		
		
	* Add bootstrap and remove created at from ghnav-flask app * Update readme * Add logo to the docs * Update key features description * Update README * Change headers of API docs * Add alabaster theme config * Update docs index * Add tutorials section * Update what is DI page * Update DI in Python page * Update tutorials index page * Update provider docs * Update container docs * Update examples docs
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
Key features
 | 
						|
------------
 | 
						|
 | 
						|
.. 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.
 | 
						|
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.
 | 
						|
+ Does NOT pollute client code.
 | 
						|
+ Obvious and clear structure.
 | 
						|
+ Extensibility and flexibility.
 | 
						|
+ High performance.
 | 
						|
+ Memory efficiency.
 | 
						|
+ Thread safety.
 | 
						|
+ Documented.
 | 
						|
+ Semantically versioned.
 | 
						|
+ Distributed as pre-compiled wheels.
 | 
						|
 | 
						|
``Dependency Injector`` containers and providers are implemented as C extension
 | 
						|
types using ``Cython``.
 | 
						|
 | 
						|
``Dependency Injector`` framework can be used in the different application types:
 | 
						|
 | 
						|
+ Web applications based on the ``Flask``, ``Django`` or any other web framework.
 | 
						|
+ Asynchronous applications ``asyncio``, ``aiohttp``, ``Tornado``, or ``Twisted``.
 | 
						|
+ Standalone frameworks and libraries.
 | 
						|
+ GUI applications.
 | 
						|
 | 
						|
``Dependency Injector`` framework can be integrated on the different project
 | 
						|
stages:
 | 
						|
 | 
						|
+ It can be used in the beginning of the development of a new application.
 | 
						|
+ It can be integrated into application that is on its active development stage.
 | 
						|
+ It can be used for refactoring of legacy application.
 | 
						|
 | 
						|
Components of ``Dependency Injector`` framework could be used:
 | 
						|
 | 
						|
+ In composition with each other.
 | 
						|
+ Independently from each other.
 | 
						|
 | 
						|
.. disqus::
 |