Skip to main content

Dependency injection framework for Python

Project description

https://raw.githubusercontent.com/wiki/ets-labs/python-dependency-injector/img/logo.svg

Latest Version License Supported Python versions Supported Python implementations Downloads Downloads Downloads Wheel Build Status Coverage Status

What is Dependency Injector?

Dependency Injector is a dependency injection framework for Python.

It helps implement the dependency injection principle.

Key features of the Dependency Injector:

  • Providers. Provides Factory, Singleton, Callable, Coroutine, Object, List, Dict, Configuration, Resource, Dependency, and Selector providers that help assemble your objects. See Providers.

  • Overriding. Can override any provider by another provider on the fly. This helps in testing and configuring dev/stage environment to replace API clients with stubs etc. See Provider overriding.

  • Configuration. Reads configuration from yaml, ini, and json files, pydantic settings, environment variables, and dictionaries. See Configuration provider.

  • Resources. Helps with initialization and configuring of logging, event loop, thread or process pool, etc. Can be used for per-function execution scope in tandem with wiring. See Resource provider.

  • Containers. Provides declarative and dynamic containers. See Containers.

  • Wiring. Injects dependencies into functions and methods. Helps integrate with other frameworks: Django, Flask, Aiohttp, Sanic, FastAPI, etc. See Wiring.

  • Asynchronous. Supports asynchronous injections. See Asynchronous injections.

  • Typing. Provides typing stubs, mypy-friendly. See Typing and mypy.

  • Performance. Fast. Written in Cython.

  • Maturity. Mature and production-ready. Well-tested, documented, and supported.

from dependency_injector import containers, providers
from dependency_injector.wiring import Provide, inject


class Container(containers.DeclarativeContainer):

    config = providers.Configuration()

    api_client = providers.Singleton(
        ApiClient,
        api_key=config.api_key,
        timeout=config.timeout,
    )

    service = providers.Factory(
        Service,
        api_client=api_client,
    )


@inject
def main(service: Service = Provide[Container.service]) -> None:
    ...


if __name__ == "__main__":
    container = Container()
    container.config.api_key.from_env("API_KEY", required=True)
    container.config.timeout.from_env("TIMEOUT", as_=int, default=5)
    container.wire(modules=[__name__])

    main()  # <-- dependency is injected automatically

    with container.api_client.override(mock.Mock()):
        main()  # <-- overridden dependency is injected automatically

When you call the main() function the Service dependency is assembled and injected automatically.

When you do testing, you call the container.api_client.override() method to replace the real API client with a mock. When you call main(), the mock is injected.

You can override any provider with another provider.

It also helps you in a re-configuring project for different environments: replace an API client with a stub on the dev or stage.

With the Dependency Injector, object assembling is consolidated in a container. Dependency injections are defined explicitly. This makes it easier to understand and change how an application works.

https://raw.githubusercontent.com/wiki/ets-labs/python-dependency-injector/img/di-readme.svg

Visit the docs to know more about the Dependency injection and inversion of control in Python.

Installation

The package is available on the PyPi:

pip install dependency-injector

Documentation

The documentation is available here.

Examples

Choose one of the following:

Tutorials

Choose one of the following:

Concept

The framework stands on the PEP20 (The Zen of Python) principle:

Explicit is better than implicit

You need to specify how to assemble and where to inject the dependencies explicitly.

The power of the framework is in its simplicity. Dependency Injector is a simple tool for the powerful concept.

Frequently asked questions

What is dependency injection?
  • dependency injection is a principle that decreases coupling and increases cohesion

Why should I do the dependency injection?
  • your code becomes more flexible, testable, and clear 😎

How do I start applying the dependency injection?
  • you start writing the code following the dependency injection principle

  • you register all of your application components and their dependencies in the container

  • when you need a component, you specify where to inject it or get it from the container

What price do I pay and what do I get?
  • you need to explicitly specify the dependencies

  • it will be extra work in the beginning

  • it will payoff as project grows

Have a question?
Found a bug?
Want to help?
  • ⭐️ Star the Dependency Injector on the Github

  • 🆕 Start a new project with the Dependency Injector

  • 💬 Tell your friend about the Dependency Injector

Want to contribute?
  • 🔀 Fork the project

  • ⬅️ Open a pull request to the develop branch

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

hmt_dependency_injector-4.48.3.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.8 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl (1.8 MB view details)

Uploaded PyPymacOS 10.15+ x86-64

hmt_dependency_injector-4.48.3-cp314-cp314t-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

hmt_dependency_injector-4.48.3-cp314-cp314t-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

hmt_dependency_injector-4.48.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hmt_dependency_injector-4.48.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hmt_dependency_injector-4.48.3-cp314-cp314t-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

hmt_dependency_injector-4.48.3-cp314-cp314t-macosx_10_15_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

hmt_dependency_injector-4.48.3-cp310-abi3-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

hmt_dependency_injector-4.48.3-cp310-abi3-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

hmt_dependency_injector-4.48.3-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hmt_dependency_injector-4.48.3-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

hmt_dependency_injector-4.48.3-cp310-abi3-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

hmt_dependency_injector-4.48.3-cp310-abi3-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10+macOS 10.9+ x86-64

hmt_dependency_injector-4.48.3-cp39-cp39-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

hmt_dependency_injector-4.48.3-cp39-cp39-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

hmt_dependency_injector-4.48.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hmt_dependency_injector-4.48.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hmt_dependency_injector-4.48.3-cp39-cp39-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

hmt_dependency_injector-4.48.3-cp39-cp39-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

hmt_dependency_injector-4.48.3-cp38-cp38-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

hmt_dependency_injector-4.48.3-cp38-cp38-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

hmt_dependency_injector-4.48.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hmt_dependency_injector-4.48.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hmt_dependency_injector-4.48.3-cp38-cp38-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

hmt_dependency_injector-4.48.3-cp38-cp38-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file hmt_dependency_injector-4.48.3.tar.gz.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3.tar.gz
Algorithm Hash digest
SHA256 07f414218934afa7c18c111725029691b66d0d7a69c3041a4df76c5280632765
MD5 ac4b834a8fd38eed8ab4c329f6514ea0
BLAKE2b-256 044c44bc62af7b5897018dfc49917e93fd21cd62a32d808eecac4275972f2a10

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e7696fa7af5210a233b88f1564b0669082b413e5fe6fef870df74d70c09900c2
MD5 300a6559a9f5a75bcbc811d9a83837ff
BLAKE2b-256 95764ae501d98b521cc94e9f65e8da11cb6e585d4a4715c010e31c1e76ae8f74

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 d7809bd6bf2d497d624a19ea72be4a331d0baf098540aa277a5c31a66fb5e907
MD5 f179acd99352334d6e6dc1d2fdfc1bf3
BLAKE2b-256 bf456b40fdb8e1d6b574239f57cefbe0c45ba4c9f5c847cc4409a60640a5598c

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d702a386cd2d592668aa6ad81ccd4a3c5ded44accf5c6754741fc427fd40ad0e
MD5 4360db983817653ffa29898429ede169
BLAKE2b-256 a1eeb46d01436583eaf4431b265da4e142290739aec4e44ccde11cf26e73a900

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fa8e8d3217626b1ba254d118f78590a42b3326d057b58a4bdf6425f01d887ea8
MD5 56868f6771c546d40279d05bd73e94b8
BLAKE2b-256 69cdcdf7689e0720b8759b7efb18a30fe94eb324469cf8b1baa82c2880a6299c

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4a1318a8805226429cebbe40bbed7d2995ea4d14a21c15aef2c656e8599b066
MD5 8b1dd1da64128f68e49d000d1f694ca5
BLAKE2b-256 a0424ad1d5594e10e37ec2440f2a907628090a3c53f42f0daba3e3007b918133

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 924e05c15f9ec596ac67900454d68e83b1068eba992471e88c83f498f7bb6f3d
MD5 3b2879e648ff6e3ec37f9880e0d83bde
BLAKE2b-256 59717c2b1f29e4c8a05ccbc045607ea37f7c7fc683422a527c329a32ab6d5b08

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d73bc9757d98a4f8df17eeedf936dd352f1f59fd49fd262d51ac3be2b35276f5
MD5 c5160c92bd500b6d4f744c4276cb87d9
BLAKE2b-256 debc98b39b8f424be29e6872ebdfa5914a87582d5b0aed51281bc4cd50863e72

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c3f760bb03b3418beb27bdda5971e82a8cc699015e66ca72c7e59b811bbd1837
MD5 f396f48db06a90b13e2cbff1166d526b
BLAKE2b-256 c6f973bccedf4c9612f862d3104c699a64b4d754de26e2a325b6b4cc8bbe9e7b

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e94cbceda8b2b31d5e6ba80955ba31b9d829d6e728c967fb25cdad19c46364e2
MD5 b3b912b3cf90979d785daaffd4e27228
BLAKE2b-256 791121e9bb9b2fff9a7416f2ca72d7027028426ce49a78f67dbf58c737a223cc

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2aa31aa0400fef868b5363b6e5ea2b8bda1c2f43fa4469bfe3af0b08e6236185
MD5 b2e167d92445d5ba79709054a1f0fbef
BLAKE2b-256 2a8e15f14c10b7096fbb84b235cf860a3366753a856e9e37898bb5241130b484

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c048083354adca43b368377cb2cacf5cd570d640c97f79a8d776f6f13beb8a4
MD5 b09d2f3c7d81e758ad4947a2c5521540
BLAKE2b-256 3f2b1bcbb26a3b4c7199bcd5628bb8a41a921e14c8d3b3cb2d1d61f92aebcf07

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7c16087a52a39a75dc4e52e71bed90e36b505d2f9c0fb92b2d2b0fff80567da3
MD5 93a1d31a23fd6538840e2ca7ed1e6730
BLAKE2b-256 d9fc0ee5b9c235a89ad8f660beb1783255c5052d97e15dce65f1e4bc2342dc67

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 44e5f7a86a03d4e984ca830eb33309715ad4322ed01597ffb462a07f07166d56
MD5 84f40e986712155f629cd3087fcb5652
BLAKE2b-256 9f154eb4913cbec268080ec66388dde2e71e681870837ce83f236fbd28847648

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a9890c39bbf5cdf83315ec1ad23bedda729723858e9c117b98a16a846c678a9d
MD5 8523b7ff3061ad80551aedd4a9c341ab
BLAKE2b-256 ac946975ef3c574c69c4691bd1ac6ea0a49f2e5d918cdda5f665b230b7d53d4b

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e8a1c5d1bf12c8f3d5923f441e4278d10283a1d3da0683996fde701aedf5945
MD5 04a55b7c06796cde2b1d8575804a0bb8
BLAKE2b-256 c12918441f424e390061be9a99b7662f774001b8ef749dc2cb004814084b1c5f

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp310-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp310-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1dc930771b95bf3e2b62c5368afbdf4de0816a41a358cf61f7edf149020eec16
MD5 b6f3e37a35ad8221988cc18cabfcfdc2
BLAKE2b-256 949b97e9a3c8fa714772cad401f84a0ad5eccaddd749d856d804acf67f94d91f

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6237d795ea6852cf182535ad37bf543bc96930c98fb61b9d3bd62a44b94904fa
MD5 6826679842ea6ba409b02aba750210a2
BLAKE2b-256 bbbf4a8436406bceed3592e22090cea6d3bcd81bbbaf9cf65af09b8629acea7a

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2350a290cf900457c3399331ab524f062e77b52a25e97858004df8e734b4c352
MD5 eaf57567713ad32babf0bba7b484c331
BLAKE2b-256 5339fa169814eed0680d7ee5460b4e1425e97b712bdce84196b4526724dce5f4

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5624b2c63f63ecd161e242a45e137728e22466112b58beed917992381b50f8f3
MD5 79c01bdf1969dd400ac3a39acb2020df
BLAKE2b-256 09fd4ef1e841b70c6b448b73765a7837ac9f2666592ca0bdcb5f554621a355f6

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 21ffa46b51ee9c83df517d11fe1c40e549155bb8089092f7c24ce7480c9b0d5e
MD5 314bee9e4192a17c8ea37157bd0877a1
BLAKE2b-256 5d373a55a1acfceab99cd9e4451cfed26bf4c8c39202a1493f1f79cf9a50a23b

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 185831bdf85f5977718b57e72084111226abf1feda5019ff5cca29abfa829256
MD5 19acf4d1c401e94a0d435d893007cf83
BLAKE2b-256 1e89e5fd1492f771cd2d2f89fd2d9fe8d476a350151687a2d2a50422f188b38f

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ac54ebbf12b4f86fdc917b0892bbf6101668b8a55228c8495c0e69ab81bb339d
MD5 496c725c980b5b4916eaf85b57bfc47d
BLAKE2b-256 659e3f704be288782224240d016796b7e9e95f80454c004e680e95f7c8304dda

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 94dacff1686821490259f680b23c4a84586d15f73970d7c43d8647e2d64a149f
MD5 9cafe0caa94b798af011dcc1fc73b2c3
BLAKE2b-256 2db3c85cc5ab269ced9e9d7f0a58a0e0b797ec712267f11bfad23ba448309929

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 507b7ab31aea2dddd99d8518f86335f6e987076610b51de516b6f3853941d63e
MD5 5c159976d244e510125b8e687fa66637
BLAKE2b-256 d06487863c7e6bfc6c10e49f45366c23faf9e4916014c758240b13b79d3e6d79

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5d8ca7b60ba5e085a279b43a63feadf02b45bded3d75dbe9efdbdfd00042f11e
MD5 39ff12dad7a62779f33c54684eabdcdf
BLAKE2b-256 613fe502ae8aec8b8d6d0009e85577881785b19aa9ac11459150e1848cff33f4

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 55740a730fa9337d3a998ef90c29fb24557e9b679e48e415c7428dfd6fbbfa69
MD5 de8f2fc29b3b9535d207c62117592c1a
BLAKE2b-256 7601a58bd9699b1a2effab9c0091ac460e7fc27e159d9e20c74d4280acb56965

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d70889cb1638a3846a61a327471d862446f6c18c7ec97d0791c4c87141db9183
MD5 fe96c50f67b741d3f93d34f8eb73e8bc
BLAKE2b-256 6fec95bbc66c6e507f1485d519c6076ad377dfefcf48f1ff7bafa81733f68154

See more details on using hashes here.

File details

Details for the file hmt_dependency_injector-4.48.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hmt_dependency_injector-4.48.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 218fe58d01af58ce39283b6b99864ef93ed4842e4922db1eb00d622d57d52fdf
MD5 823778496c3136eb402fb28f2bb0576c
BLAKE2b-256 550e8319b6557249b8ec4b8f8a06b8fd00092e12fe4b281ca459aa5076280c69

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