Skip to main content

A dependency injection tools and container manager for python

Project description

https://circleci.com/gh/deaf-adder/deafadder-container/tree/master.svg?style=svg&circle-token=16b2bcd2e9f92ee31a92571b05ab75929085ab38

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deafadder-container-0.5.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

deafadder_container-0.5.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file deafadder-container-0.5.0.tar.gz.

File metadata

  • Download URL: deafadder-container-0.5.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.10 Linux/5.11.0-46-generic

File hashes

Hashes for deafadder-container-0.5.0.tar.gz
Algorithm Hash digest
SHA256 008634f914a6222d464a0a37feceef4be982f3efe623af3dc14227cac715eb01
MD5 e6944612ad994733161e3884d13df9f3
BLAKE2b-256 36c9fca1384be2c997bc6e8d3e5898cdd732bbea4318054eb57428688f75fce1

See more details on using hashes here.

File details

Details for the file deafadder_container-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: deafadder_container-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.10 Linux/5.11.0-46-generic

File hashes

Hashes for deafadder_container-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9adddccce0b59026e13d202c4724407d010075c9e59532c59f0746e8be67e14b
MD5 108c4ab27fda724ec09bb3269a77b3ca
BLAKE2b-256 b05a818192db1f9eade0936f607fe091ccf12731528a640cfd9894b5217d1a59

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page