NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1301 most downloaded on PyPI
Dependency injection framework for Python
Last release 3 months ago
18 Jun 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
262 releases · first in 2016
Nothing published for this version
Nothing published for this version
Add native support of the generics to the providers: some_provider = providers.Provider[SomeClass].
Add native support of the generics to the providers: some_provider = providers.Provider[SomeClass].
Deprecate module types.
Add documentation page on providers typing and mypy support.
Update README.
One column per quarter.
- Fix a typo in README.
Fix a typo in README.
Remove not relevant "speech" example.
Update API documentation.
Remove not relevant "speech" example.
Fix a few typos.
Update "DI in Python" documentation page.
Update "DI in Python" documentation page.
Delete "What is DI?" documentation page.
Delete "engines cars" example mini app.
Update README.
Refactor "password hashing" example.
Refactor "use cases" example.
Refactor "password hashing" example.
Refactor "chained factories" pattern example.
Refactor "factory of factories" pattern example.
Fix declarative container mypy stub to __init__ to accept not only providers.
Refactor main module of the "decoupled packages" example.
Delete "api client" example mini app.
Delete "mail service" example mini app.
Add "Decoupled packages" example.
Add "Decoupled packages" example.
Delete "Bundles" examples mini application.
Add application examples with single and multiple containers.
Add application examples with single and multiple containers.
Remove "Services" application examples.
Split examples page into "Examples" with main examples and "Other Examples" with secondary examples.
Move "Installation" page to "Introduction" section.
- Fix README.
Fix README.
Update "What is What is dependency injection?" documentation page.
Update "What is What is dependency injection?" documentation page.
Update README.
Fix a bunch of typos.
Update index documentation page.
Update index documentation page.
Make multiple improvements and fixes for the providers documentation.
Update "Key Features" documentation page.
Remove "Structure of Dependency Injector" documentation page.
Edit "Feedback" documentation page.
Update providers overriding documentation and rework examples.
Update providers overriding documentation and rework examples.
Update documentation on injecting provided object attributes, items or method calls.
Update documentation and example on creating a custom provider.
Update providers index documentation page to give better overview of providers functionality.
Fix mypy stub of the Provider to specify the protected ._copy_overridings() method.
Update copyright year in the documentation.
Fix minor issues in the providers documentation and examples.
Fix minor issues in the providers documentation and examples.
Update documentation and rework examples for: Singleton, Callable, Coroutine, Object, List, Configuration, Selector, and Dependency providers.
Update documentation and rework examples for: Singleton, Callable, Coroutine, Object, List, Configuration, Selector, and Dependency providers.
Fix mypy stub of the DeclarativeContainer to specify the __init__ interface.
Update Factory provider documentation.
Update Factory provider documentation.
Rework Factory provider examples.
- Add typing stubs.
Add typing stubs.
Fix few typos on README and docs main pages.
Fix few typos on README and docs main pages.
Make a fix in the factory delegation example (thanks to Joël Bourgault _ for finding and reporting the issue).
Make a fix in the factory delegation example (thanks to Joël Bourgault for finding and reporting the issue).
Update DI Demo 2 example and READ to make typed configuration option injection.
Update DI Demo 2 example and READ to make typed configuration option injection.
Add a feature that helps to explicitly specify the type of the configuration option value before the injection.
Add a feature that helps to explicitly specify the type of the configuration option value before the injection.
Add disqus comments to the docs page on injecting provided instance attributes, items, etc.
Add a feature that helps to inject provided instance attribute, item, or method call result (see Issue 281 _). Design for this feature was provided by
- Update README.
Update README.
Update containers documentation and examples.
Update README.
Update containers documentation and examples.
- Update README.
Update README.
- Update README. - Add one more example.
Update README.
Add one more example.
Add tutorial for building Movie Lister.
Rework Movie Lister example.
Add tutorial for building Movie Lister.
Make some rewording for the other tutorials.
Fix a couple of typos.
Update README with the more direct message on what is Dependency Injector and how is it different from the other frameworks.
Update README with the more direct message on what is Dependency Injector and how is it different from the other frameworks.
Change the example code in the README.
Add FAQ to the README.
Update documentation key features and index pages.
Fix typos in the asyncio + Dependency Injector monitoring daemon tutorial.
Fix typos in the asyncio + Dependency Injector monitoring daemon tutorial.
Add asyncio + Dependency Injector example monitoring-daemon-asyncio.
Add asyncio + Dependency Injector example monitoring-daemon-asyncio.
Add asyncio + Dependency Injector monitoring daemon tutorial.
Fix a typo in the docblock of the Configuration provider.
Fix multiple typos in the flask and aiohttp tutorials.
Fix Makefile to run aiohttp integration tests on Python 3.5+.
Add deep init injections overriding for Factory provider.
Add deep init injections overriding for Factory provider.
Add asyncio monitoring daemon example.
Add configuration itemselector feature (see Issue 274 _).
Add configuration itemselector feature (see Issue 274).
Re-design Configuration provider implementation.
Update giphynav-aiohttp to remove doubled "if not query" (many thanks to Oleg Baranov for the feedback).
- Fix aiohttp tutorial typos.
Fix aiohttp tutorial typos.
Fix Flask tutorial typos and change some wording.
Add aiohttp tutorial.
Fix Flask tutorial typos and change some wording.
Update Google Search Console verification meta tag.
Update Google Search Console verification meta tag.
Update meta description.
Add Aiohttp integration module dependency_injector.ext.aiohttp.
Add Aiohttp integration module dependency_injector.ext.aiohttp.
Add Aiohttp + Dependency Injector example giphynav-aiohttp.
Fix Flask tutorial code issues, typos and change some wording.
Fix Flask tutorial code issues, typos and change some wording.
Fix an issue with creating Dependency provider with abc.ABCMeta. Thanks to awaizman1 _. More info: Issue #266 _, PR #267 _.
Fix an issue with creating Dependency provider with abc.ABCMeta. Thanks to awaizman1. More info: Issue #266, PR #267.
- Add Flask tutorial. - Add PyPI classifiers.
Add Flask tutorial.
Add PyPI classifiers.
Migrate docs to alabaster theme.
Migrate docs to alabaster theme.
Add Bootstrap extension to the ghnav-flask example.
Add stubs for the tutorials to the docs.
- Hotfix changelog typo.
Hotfix changelog typo.
Hotfix ghnav-flask example to read Github token from environment variable.
Hotfix ghnav-flask example to read Github token from environment variable.
Make cosmetic fixes for Selector provider docs.
Re-design Flask integration.
Make cosmetic fixes for Selector provider docs.
- Hotfix Windows builds.
Hotfix Windows builds.
Add Flask integration module dependency_injector.ext.flask.
Add Flask integration module dependency_injector.ext.flask.
Add Flask + Dependency Injector example ghnav-flask.
Add Factory.provides attribute. It is an alias to the Factory.cls.
New README.
- Add logo.
Add logo.
Start distributing wheels for Linux, MacOS, and Windows (thanks to Travis CI _ and cibuildwheel _).
Start distributing wheels for Linux, MacOS, and Windows (thanks to Travis CI and cibuildwheel).
Start using twine for publishing package on PyPI.
Fix Travis CI configuration file warnings.
Fix Configuration.override() to return OverridingContext for non-dictionary values.
Add Selector provider.
Fix Configuration.override() to return OverridingContext for non-dictionary values.
Add interpolation of environment variables to Configuration.from_yaml() and Configuration.from_ini().
Add interpolation of environment variables to Configuration.from_yaml() and Configuration.from_ini().
Add ignoring of IOError to Configuration.from_yaml().
Add Configuration.from_yaml() method to load configuration from the yaml file.
Add Configuration.from_yaml() method to load configuration from the yaml file.
Add Configuration.from_ini() method to load configuration from the ini file.
Add Configuration.from_dict() method to load configuration from the dictionary.
Add Configuration.from_env() method to load configuration from the environment variable.
Add default value for name argument of Configuration provider.
Add documentation for Configuration provider.
Remove undocumented positional parameter of DependenciesContainer provider.
Fix DynamicContainer deep-copying bug.
Fix DynamicContainer deep-copying bug.
Add Configuration providers linking.
Add Container provider.
Add Configuration providers linking.
Update singleton_thread_locals.py to support Python 3 (thanks to RobinsonMa _, PR #252 _).
Update singleton_thread_locals.py to support Python 3 (thanks to RobinsonMa, PR #252).
Fix Disqus comments.
Fix warnings in API docs.
Add List provider issue #243 _, PR #251 _.
Add List provider issue #243, PR #251.
Fix a few typos in docs (thanks to Bruno P. Kinoshita, issue #249, PR #250).
Add support of six 1.15.0.
Regenerate C sources using Cython 0.29.20.
- Fix changelog typo.
Fix changelog typo.
- Add downloads badge.
Add downloads badge.
Update a link to the PyPi page on the README page.
Update a link to the PyPi page on the README page.
Fix a typo in the link to the PyPi on the "Dependency Injection in Python" documentation page.
Fix a typo in the link to the PyPi on the "Dependency Injection in Python" documentation page.
Fix a couple of typos in the list of key features on the "Key Features" and index documentation pages.
Update a link to the PyPi page on a couple of documentation pages.
Fix a typo in the installation instructions on the README page and in the documentation.
Fix a typo in the installation instructions on the README page and in the documentation.
Fix a couple of typos in the README.
Fix a couple of typos in the README.
Fix a couple of types in the diagram of "Engines-Cars" example.
Your coding agent can read these notes before it upgrades. Set up the MCP server →