Changelog¶
4.0.1 (2024-07-31)¶
Fix
@autowireddecorator wrong type annotation causing issues with pyright, mypy, and other type checkers
4.0.0 (2024-07-12)¶
Drop support for Python versions 3.6, 3.7 and 3.8
Comply with PEP-593 and support typing.Annotated
3.4.7 (2021-08-15)¶
Fix injectable crashing when relative imports are used in files containing injectables.
3.4.6 (2021-03-20)¶
Fix
testing.register_injectablesnot creating the namespace when it doesn’t exist yet
3.4.5 (2021-03-11)¶
Fix opening of UTF-8 files & allow for user set encoding
3.4.4 (2020-07-29)¶
Fix
injectreturn type hint
3.4.3 (2020-06-24)¶
Fix Injectable failing to resolve complex/entangled imports
3.4.2 (2020-05-22)¶
Fix optional injection bug when the namespace is empty
3.4.1 (2020-05-11)¶
Fix the use of named args by the caller breaking autowired functions injection
3.4.0 (2020-05-09)¶
Deprecate
InjectionContainer::loadin favor ofload_injection_container.Change default namespace name from
"_GLOBAL"to"DEFAULT_NAMESPACE".Fix minor quirks with Python 3.7 and 3.8.
Add tons of unit tests.
Add
reset_injection_containerutility toinjectable.testing.
3.3.0 (2020-04-20)¶
Include the
injectable.testingutilities to ease mocking injectables.
3.2.1 (2020-04-19)¶
InjectionContainer::loadis more resilient against duplicated injectables registering
3.2.0 (2020-04-15)¶
Support for optional injection in declarative fashion:
Autowired(Optional[...])
3.1.4 (2020-04-15)¶
Fix
Autowired(List[...])not working with qualifiers
3.1.3 (2020-04-15)¶
Fix Windows injectables not being loaded.
3.1.2 (2020-04-14)¶
Remove unused
inspectimports.
3.1.1 (2020-04-13)¶
Fix bug of scanning the same module more than once when
InjectionContainer.load()is called multiple times with different relative search paths.
3.1.0 (2020-04-13)¶
Added
@injectable_factorydecorator for declaring injectable factory methodsInclude the console output in the examples
3.0.1 (2020-04-13)¶
Fix package content missing
3.0.0 (2020-04-12)¶
Drop support for autowiring without previous initialization of the InjectionContainer
Refactor
@autowireddecorator for working with theAutowiredtype annotationAdded
@injectabledecorator for registering injectables to the InjectionContainerSupport for qualifiers, groups and namespaces
Added
Autowiredtype annotation for marking parameters for autowiringAdded
injectandinject_multipleas service locatorsAdded InjectionContainer for registering injectables
Official support for Python 3.7 and 3.8
Official support for Ubuntu, Windows and MacOS
Drop Python 3.4 and 3.5 official support
General code refactoring
Official documentation
Added usage examples
2.0.0 (2018-02-24)¶
Drop Python 3.3 official support
1.1.2 (2018-02-24)¶
Support for dependencies of classes without signature
Fix bug of builtin types not being accepted for injectable dependencies
1.1.1 (2018-02-23)¶
Statically infer dependency’s constructor suitability for injection instead of using trial instantiation
Fix bug of raising
TypeErrorwhen injectable fails on the trial dependency instantiation which can happen when the dependency does provide a default constructor with no arguments but the running environment (possibly a test suite environment) will make the instantiation fail
1.1.0 (2018-02-10)¶
Enable the use of
@autowireddecorator without parenthesis
1.0.1 (2018-02-10)¶
Fixes required dependency
lazy_object_proxynot being installed when installing injectable through pip
1.0.0 (2018-02-06)¶
First stable release
0.2.0 (2018-02-06)¶
Support for lazy dependency initialization
Support for type annotations with strings
0.1.1 (2018-02-05)¶
Python 3.3 and 3.4 support
0.1.0 (2018-02-05)¶
First beta release