Skip to main content

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)

Source distribution for sidein 1.0.3
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

Release history Release notifications | RSS feed

This release

1.0.3 This release

1 release file

1.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page