Sidein
Sidein is a flexible, object-oriented Python dependency injector which hides the boring stuff away and leaves the important things up to you.
NOTE: Some links in this README may not work if the file is not viewed through GitHub.
Features and characteristics
- supports Python 3.9 and above
- dependency injection to both regular functions and coroutines
- the ability to decorate functions with dependencies
- support for multiple namespaces
- design centered around dependency providers
- the ability to create your own dependency provider classes
- dependency obtainer objects
- thread-safe
- data-type agnostic
- object-oriented
Requirements
The library targets Python 3.9 and above. It might work in older Python 3 versions, but nothing is guaranteed.
No dependencies (other than the Python standard library) are required.
Installation
Sidein can be installed from PyPI using pip:
python3 -m pip install --upgrade sidein
Usage
The examples will give you an overview of what this library can do.
See the classes' and their methods' docstrings for usage and implementation details.
Licensing
This project is licensed under the 3-clause BSD license. See the LICENSE file for details.
Written by Vít Labuda.
Release files for sidein 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sidein-1.0.3.tar.gz | 17.7 kB | Details |
Release files / sidein-1.0.3.tar.gz
| Download URL | sidein-1.0.3.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
435923099d716500bfae754e900d67691517cb0902d846de38222f5556620e18
|
|
BLAKE2b-256 checksum How to use checksums |
4969e4308407348a6b5084c5d8d8d2f4e8db8092dadb983fa2e88b71a755e429
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.2
|