hdmi
Lightweight dependency injection for Python 3.13+
Warning: Pre-Alpha Software
hdmi is experimental software in active development. Breaking changes may occur until version 1.0.
Documentation: Full Docs | Getting Started | API Reference
Features
- Type-driven dependency discovery — Uses Python's standard type annotations, no decorators needed
- Scope-aware validation — Prevents lifetime bugs at container build time
- Lazy instantiation — Services created just-in-time when first resolved
- Two-phase architecture — Configuration separated from runtime for immutable, validated graphs
Quick Start
pip install hdmi
import asyncio
from hdmi import ContainerBuilder
class DatabaseConnection:
def __init__(self):
self.connected = True
class UserRepository:
def __init__(self, db: DatabaseConnection):
self.db = db
class UserService:
def __init__(self, repo: UserRepository):
self.repo = repo
async def main():
builder = ContainerBuilder()
builder.register(DatabaseConnection)
builder.register(UserRepository)
builder.register(UserService)
container = builder.build() # Validates the dependency graph
user_service = await container.get(UserService) # Auto-wired!
asyncio.run(main())
For scoped services (per-request lifecycles), transient services, and scope validation rules, see the documentation.
Development
This project follows strict TDD methodology. See CONTRIBUTING.md for details.
make test # Run all tests
make docs # Build documentation
make help # Show all available commands
License
MIT License — see LICENSE for details.
Metadata
Release files for hdmi 0.2.4
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 | |
|---|---|---|---|---|
| hdmi-0.2.4.tar.gz | 105.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hdmi-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 120.9 kB
Release files / hdmi-0.2.4.tar.gz
| Download URL | hdmi-0.2.4.tar.gz |
|---|---|
| Size | 105.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8d80a5049b6cfa6f58a80eb99ad89c02a9f860326a8afe1eb28980976914036
|
|
BLAKE2b-256 checksum How to use checksums |
58e005e8529e7e2ff80d72bdf42f146f2b6492ecd9dd56eededd52061f78b49c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.
Transparency logRelease files / hdmi-0.2.4-py3-none-any.whl
| Download URL | hdmi-0.2.4-py3-none-any.whl |
|---|---|
| Size | 15.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65642e395b3f533eb49f4ac6cad18ff45f8f8d6d728c4dfb21ad302d411dbf1d
|
|
BLAKE2b-256 checksum How to use checksums |
773835fc317abcc3e11c8c408188660bfe7b459cb45ed23027b8e93f7aa70cd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.
Transparency logSecurity for hdmi 0.2.4
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for hdmi-0.2.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.
Transparency logA 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.