Roman Mogylatov
8ade2b7839
Update quotes in tests
2021-09-30 20:09:42 -04:00
Roman Mogylatov
f961ff536a
Schemas ( #429 )
...
* Add single container prototype
* Add multiple containers prototype
* Add integration tests
* Implement from_*() methods and add tests
* Prototype inline injections
* Add integration test for inline providers
* Refactor integration tests
* Add integration test for reordered schema
* Remove unused imports from tests
* Refactor schema module
* Update tests to match latest schemas
* Add mypy_boto3_s3 to the test requirements
* Add boto3 to the test requirements
* Add set_provides for Callable, Factory, and Singleton providers
* Fix warnings in tests
* Add typing stubs for Callable, Factory, and Singleton .set_provides() attributes
* Fix singleton children to have optional provides
* Implement provider to provider resolving
* Fix pypy3 tests
* Implement boto3 session use case and add tests
* Implement lazy initialization and improve copying for Callable, Factory, Singleton, and Coroutine providers
* Fix Python 2 tests
* Add region name for boto3 integration example
* Remove f-strings from set_provides()
* Fix schema flake8 errors
* Implement lazy initialization and improve copying for Delegate provider
* Implement lazy initialization and improve copying for Object provider
* Speed up wiring tests
* Implement lazy initialization and improve copying for FactoryAggregate provider
* Implement lazy initialization and improve copying for Selector provider
* Implement lazy initialization and improve copying for Dependency provider
* Implement lazy initialization and improve copying for Resource provider
* Implement lazy initialization and improve copying for Configuration provider
* Implement lazy initialization and improve copying for ProvidedInstance provider
* Implement lazy initialization and improve copying for AttributeGetter provider
* Implement lazy initialization and improve copying for ItemGetter provider
* Implement lazy initialization and improve copying for MethodCaller provder
* Update changelog
* Fix typing in wiring module
* Fix wiring module loader uninstallation issue
* Fix provided instance providers error handing in asynchronous mode
Co-authored-by: Roman Mogylatov <rmk@Romans-MacBook-Pro.local>
2021-03-20 13:16:51 -04:00
Roman Mogylatov
d4ebb1b786
Remove unittest2 ( #419 )
...
* Remove unittest2 framework
* Skip a couple of tests on Python 2.7
* Update changelog
2021-03-05 20:17:28 -05:00
Roman Mogylatov
990fd3a554
Add attributes forwarding for the `Dependency
` provider
2021-02-18 17:49:23 -05:00
Roman Mogylatov
8b770772a1
Add container name to the representation of the dependency provider
2021-02-14 19:09:08 -05:00
Roman Mogylatov
8eea9c4e45
Implement container.check_dependencies() ( #396 )
...
* Add implementation, typing stubs, and tests
* Add docs and example
* Update changelog
2021-02-14 18:47:15 -05:00
Roman Mogylatov
839a319831
Better error message for dependency provider ( #395 )
...
* Add prototype for flat resolving
* Add working prototype for sample 1 and 3
* Add working prototype, requires deep refactoring
* Update DependenciesContainer to handle Contrainer provider
* Fix Dependency provider copying issue
* Add hardening fix for Self provider to avoid copying bugs
* Fix flaky container copy issue
* Rename set_parent() to assign_parent()
* Refactor Dependency provider and its typing stub
* Add tests for Dependency provider
* Update makefile to run coverage when tests fail
* Clean up DependenciesContainer provider and add tests
* Clean up Container provider and add tests
* Clean up container instance and add tests
* Refactor isinstance() checks
* Clean up DeclarativeContainer and add tests
* Update docs and examples
* Update changelog
* Revoke makefile change
2021-02-13 09:16:38 -05:00
Roman Mogylatov
674a6b0f9e
Container "self" injections ( #392 )
...
* Add implementation
* Add Self provider tests
* Add container tests
* Remove ellipsis from tests to make them pass on Python 2
* Add tests
* Add docs
* Improve traverse() typing stubs
* Update changelog
2021-02-07 14:13:23 -05:00
Roman Mogylatov
478ca18ae3
336 Dependency provider default ( #382 )
...
* Add implementation and tests
* Refactor dependency provider docs
* Update docs
* Update changelog
2021-01-29 13:49:40 -05:00
Roman Mogylatov
cf862fe8b5
Provided attributes ( #282 )
...
* Add sketch
* Cythonize MethodCaller
* Cythonize ItemGetter, AttributeGetter & ProvidedInstance providers
* Add docblock for .provided attribute
* Refactor repr methods
* Add .provided attribute to the Dependency provider
* Add tests for the .provided attribute to the majority of the providers
* Add docblock for the ProvidedInstance provider
* Add docblocks for the rest of the providers
* Add example of the provided instance usage
* Add tests for provided instance* providers
* Add complex provided instance example
* Update example provided_instance.py
* Add docs
2020-08-20 21:52:12 -04:00
Roman Mogylatov
1f115111b2
Dependency provider issue with abc ( #267 )
...
* Fix the issue
* Add the test
* Update tests
* Update changelog
* Update tests
2020-07-22 12:14:26 -04:00
Roman Mogylatov
2c43a1c426
Remove undocumented positional parameter of DependenciesContainer provider
2020-06-24 14:39:07 -04:00
Roman Mogylatov
7e61412b8a
231 Fix object provider copies provided object issue ( #233 )
...
* Add test that reproduces the issue
* Fix the issue
* Add a note about fix in changelog
2019-10-08 14:45:12 -04:00
Roman Mogylatov
9a785de4b5
Coroutine provider ( #206 )
...
* Add coroutine provider examples
* Add coroutine provier
* Update changelog
* Update static analysis travis jobs to python 3.7
* Update coroutine provider implementation for python 3.4
* Update static analysis travis jobs to python 3.6
* Make pycode style happy
* Add tests for coroutine providers
* Make coroutine tests python 2 syntax friendly
* Split tests to python2 and python3
* Refactor coroutine provider tests
* Modify pypy tests running command
* Update coroutine provider docs
2018-10-18 19:39:19 +03:00