Usage Examples 🚩 | Developer Reference 👩💻 | Authors 👫
license |
|
|---|---|
docs |
|
tests |
|
package |
Injectable is an elegant and simple Dependency Injection framework built with Heart and designed for Humans.
|
|
Features you’ll love ❤️
Autowiring: injection is transparent to the function. Just decorate the function with
@autowiredand annotate parameters withAutowired, that’s it.Automatic dependency discovery: just call
load_injection_container()at the root of your project or pass the root path as an argument. All classes decorated with@injectablewill be automatically discovered and ready for injection.Qualifier overloading: declare as many injectables as you like for a single qualifier or extending the same base class. You can inject all of them just by specifying a
typing.ListtoAutowired:deps: Annotated[List["qualifier"], Autowired].Transparent lazy initialization: passing the argument
lazy=TrueforAutowiredwill make your dependency to be initialized only when actually used, all in a transparent fashion.Singletons: decorate your class with
@injectable(singleton=True)and only a single instance will be initialized and shared for injection.Namespaces: specify different namespaces for injectables as in
@injectable(namespace="foo")and then just use them when annotating your parameters as indep: Annotated[..., Autowired(namespace="foo")].Linters friendly:
Autowiredis carefully designed to comply with static linter analysis such as PyCharm’s to preserve the parameter original type hint.
These are just a few cool and carefully built features for you. Check out our docs!
Release files for injectable 4.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| injectable-4.0.1.tar.gz | 31.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| injectable-4.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.6 kB
Release files / injectable-4.0.1.tar.gz
| Download URL | injectable-4.0.1.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f5b269d5560a8c34d1d7fdc5064acbb96e3a11ee79fe3cc7ea98dbfa35309dc
|
|
BLAKE2b-256 checksum How to use checksums |
2c8b53e3ff8255d4dc8efa7db135e51152575247cb3f54e8e38aaeba38621eec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / injectable-4.0.1-py3-none-any.whl
| Download URL | injectable-4.0.1-py3-none-any.whl |
|---|---|
| Size | 23.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
42f5879b78383c22127510ab7ff468651cae1f4cee1fae64aadccb1793658bec
|
|
BLAKE2b-256 checksum How to use checksums |
afb571150cbc179fcc2ca4e1bfcfd5ce583c9e3f27a2db1cc1a423484cb4c0bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|