{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/10"},{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/22"},{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/12"}],"enrichment":{"capability":"Alluka is a type-based dependency injection framework that uses Python's type hints to automatically resolve and inject dependencies into functions and classes.","skillfed_tags":["dependency-injection","type-hints","async-support"],"use_cases":["Building microservices where multiple components need shared resources like database connections or configuration objects","Creating plugin architectures where plugins declare their dependencies and the framework wires them automatically","Testing applications by injecting mock implementations of services without changing production code","Async applications using AsyncIO or Trio that need clean dependency management across concurrent tasks","Large codebases where explicit dependency passing becomes unwieldy and a central container improves maintainability"],"what_it_does":"Alluka is a dependency injection container that leverages Python's type system to automatically wire dependencies. Instead of manually passing arguments through function calls, you declare what your functions need via type hints, and Alluka resolves and injects those dependencies at runtime. It supports both synchronous and asynchronous code through integrations with AsyncIO and Trio.\n\nThe framework is designed for developers building applications where dependency management becomes complex\u2014microservices, plugin systems, or large codebases where loose coupling matters. It's currently in Beta and requires Python 3.11 or later, with a minimal dependency footprint (only typing-extensions at runtime).","worth_installing":"Yes, if you're building a Python 3.11+ application where dependency injection would reduce coupling and improve testability. The low install friction, permissive license, and zero known vulnerabilities make it safe to adopt. However, the aging maintenance status (628 days since last release) means you should verify that the framework's feature set meets your needs before committing\u2014it's stable but not under active development."},"id":"alluka","links":{"html":"https://skillfed.io/packages/alluka","md":"https://skillfed.io/packages/alluka.md","pypi":"https://pypi.org/project/alluka/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2024-11-24","license_spdx":null,"license_treatment":"permissive","name":"alluka","python_support":"supports_current","summary":"A type based dependency injection framework for Python 3.9+."},"popularity":{"monthly_downloads":73832,"position":14924,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.4.0"}
