A dependency injection tools and container manager for python
Project description
deafadder-container
A container library to manage dependencies between services and component à la spring but using
metaclass
.
This library provide a way to manage Components
in a python application.
A Component
being a kind of singleton (meaning, unless specified, it will be a singleton) that can automatically link (inject) dependencies if
those dependencies are other v`Components`.
For those familiar with Java, the base idea comes from Spring where it is easy to inject Components into other Components without having to deal with
the all the manual wiring and object initialization. While this library as been inspired by the autowiring mechanism of Spring, it is still immature,
with a reduced scope and present some limitation (due to metaclass
). While some limitation are expected to change in future version, it’s future is still
uncertain, so use with caution.
Documentation
Just follow this link: https://deaf-adder.github.io/deafadder-container/#/
Fancy a more example base approach ? The documentation is full of examples and the tests files should be enough to have a better understanding of what can be achieved.
Expected future developments
getting rid of the
metaclass
to achieve the same, or similar, result (why ? Because I’d like to include dependency injection based on ABC class which are :code:`metaclass` and one object could not extends an ABC class and be have a :code:`Component` metaclass as well)add a section to present projects build around this library
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for deafadder-container-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 008634f914a6222d464a0a37feceef4be982f3efe623af3dc14227cac715eb01 |
|
MD5 | e6944612ad994733161e3884d13df9f3 |
|
BLAKE2b-256 | 36c9fca1384be2c997bc6e8d3e5898cdd732bbea4318054eb57428688f75fce1 |
Hashes for deafadder_container-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9adddccce0b59026e13d202c4724407d010075c9e59532c59f0746e8be67e14b |
|
MD5 | 108c4ab27fda724ec09bb3269a77b3ca |
|
BLAKE2b-256 | b05a818192db1f9eade0936f607fe091ccf12731528a640cfd9894b5217d1a59 |