Skip to main content

A flexible, object-oriented Python dependency injector

Project description

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.

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.

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

sidein-1.0.2.tar.gz (17.5 kB view details)

Uploaded Source

File details

Details for the file sidein-1.0.2.tar.gz.

File metadata

  • Download URL: sidein-1.0.2.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for sidein-1.0.2.tar.gz
Algorithm Hash digest
SHA256 49ee95a4132f0ed0327c4d2adb05affa60743fb601c5f9bb62f845c4c5982d83
MD5 4b84ee158b18873d4d2e22b6b74e0fe0
BLAKE2b-256 b0648a3a3420faa9e853ebe6e8c63dfb37e3bbdbf940489d3252bc847a7bea44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page