Install & Compatibility
Where this runs
tested against v0.3.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.238s · 18.5MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 1.7s · import 0.210s · 19MB
16MB installed
● package 16MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Client
✓ from alluka import Client
✗ from alluka.abc import Client
Client is re-exported from alluka; importing from abc is unnecessary and may break if internals change.
inject
✓ from alluka import inject
Create a Client, register a type dependency, and call an injected function.
from alluka import Client, inject
client = Client()
client.set_type_dependency(int, 42)
@inject
def foo(value: int) -> str:
return f"Value: {value}"
result = client.call(foo)
print(result) # Value: 42
Errors
Common errors & fixes
alluka.errors.MissingDependencyError: No type dependency or callback known for type 'int'
The requested type dependency (int) was not registered with client.set_type_dependency.
fixRegister the dependency: client.set_type_dependency(int, value)
TypeError: call() got unexpected keyword argument '...'
You passed an argument that conflicts with the callback's parameter names when using client.call.
fixEnsure you are not passing keyword arguments that are meant to be injected. Use positional or key=value for explicit args.
Upgrade
Version history
0.4.0latest on PyPI · released Nov 24, 2024
Audit
Dependencies
No dependency data recorded yet.