v0.1.0
0.1.0 - 2022-02-25
All of the 0.1.0 entries are relative to the feature set exposed while this was a
part of Tanjun.
Added
- Support for synchronous dependency injection (this comes with
AsyncOnlyError) - Abstract interface for the client with limited functionality.
call_with_diandcall_with_async_ditoalluka.abc.Contextas a shorthand for executing a callback with that context.call_with_di,call_with_async_di,call_with_ctxandcall_with_ctx_asyncmethods to the injection client for executing callbacks with DI.- Support for inferring the type of a parameter from its type hint when no
typeorcallbackis explicitly provided. - Support for using
typing.Annotatedto declare parameter DI. This takes two forms:parameter: alluka.Inject[Type]to infer specifically a type dependency.parameter: typing.Annotated(Type, alluka.inject(type=.../callback=...)).
Changed
- Passed keyword arguments are now prioritised over dependency injection.
Removed
- The public
CallackDescriptorandTypeDescriptorclasses as callbacks are now processed within the client and any necessary caching is kept internal.