This release is a pre-release and may not be stable for production use.
PyDio
A simple and functional dependency injection toolkit for Python.
About
Dependency injection in Python is basically map lookup; you need a key that will point you to either an object to be injected or an object factory to be used to create object to be injected.
PyDio is designed to follow that simple assumption: it uses providers that are sort of key-to-factory maps, and injectors that are used by application to search for a factory to use.
Key features:
Support for any hashable keys: classes, strings, ints etc.
Support for any type of object factories: function, coroutine, generator, asynchronous generator.
Automatic resource management via generator-based factories (similar to pytest’s fixtures)
Multiple environment support: testing, development, production etc.
Limiting created object’s lifetime to custom-defined scopes: global, application, use-case etc.
No singletons used == no global state.
Installation
You can install PyDio using one of following methods:
From PyPI (only official releases):
$ pip install PyDio
From test PyPI (official + development releases):
$ pip install -i https://test.pypi.org/simple/ PyDio
Directly from source code repository (for not yet released versions):
$ pip install git+https://gitlab.com/zef1r/PyDio.git@[branch-or-tag]
Quickstart
TBD
In the meantime, you can read functional tests: https://gitlab.com/zef1r/pydio/-/tree/master/tests/functional
License
This project is released under the terms of the MIT license.
See LICENSE.txt for more details.
Metadata
Release files for PyDIO 0.1.0rc3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| PyDio-0.1.0rc3.tar.gz | 19.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| PyDio-0.1.0rc3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.8 kB
Release files / PyDio-0.1.0rc3.tar.gz
| Download URL | PyDio-0.1.0rc3.tar.gz |
|---|---|
| Size | 19.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4feebebcd5e2f2b6bf2cf3c3bedfd41e17594bb70c2e1efd8466786406ef2b75
|
|
BLAKE2b-256 checksum How to use checksums |
2bac5ff6e40237f4f718133ad235dd50d216d996740a07280260edca0674f1cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9
|
Release files / PyDio-0.1.0rc3-py3-none-any.whl
| Download URL | PyDio-0.1.0rc3-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a986245977f9b61fa77ad7ec5705ce314fa82c7fcd53ec7279a538a3fd4ba152
|
|
BLAKE2b-256 checksum How to use checksums |
aa9f48c79a633098edcf9b34d95f7a739cc578b70fed2bc1908bf9ca056a8809
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9
|
Security for PyDIO 0.1.0rc3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.