An easy to use lightweight dependency injection framework
Project description
Smart-injector is an lightweight dependency injection framework for Python. It was designed to be an easy to use tool to implement dependency injection in your application in a pythonic way.
Key features are: - Ligtweight - pure python - leverages type annotations - scopes - non invasive
Project Status
Installation
pip install smart-injector
You can also install the in-development version with:
pip install https://github.com/hlevering/python-smart-injector/archive/master.zip
Quickstart
Basic Usage:
>>> class A: ... pass ... >>> class B: ... def __init__(self, a: A): ... self.a = a ... >>> container = create_container(StaticContainer) >>> b = container.get(B) >>> isinstance(b.a, A) True
Documentation
Detailed documentation can be found here:
https://python-smart-injector.readthedocs.io/
Further usage examples can be found here: https://python-smart-injector.readthedocs.io/en/latest/usage.html
Development
To run the all tests run:
tox
Note, to combine the coverage data from all the tox environments run:
Windows |
set PYTEST_ADDOPTS=--cov-append tox |
---|---|
Other |
PYTEST_ADDOPTS=--cov-append tox |
Changelog
0.0.0 (2019-11-20)
First release on PyPI.
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
Built Distribution
Hashes for smart_injector-0.0.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0c03573dc85a843480e513e4c85716260976f5f1f4b34c203dcd1c715cfdaf4 |
|
MD5 | 124f3ed69448c1b02ba5759fa7ce7579 |
|
BLAKE2b-256 | b7e279de2c9a152d1aa9189dbb5ae999dc17eee6bd854d9ef6de70efab105a94 |