Roman Mogylatov
24cfd13acb
Bump version to 4.23.3
2021-02-17 10:02:20 -05:00
Roman Mogylatov
27d0e07718
Async mode awaitable fix ( #400 )
...
* Fix mistakenly processed awaitable objects
* Update changelog
* Replace __isawaitable() with __is_future_or_coroutine()
* Refactor async mode
2021-02-17 09:56:39 -05:00
Roman Mogylatov
6402c5b6f1
Bump version to 4.23.2
2021-02-16 12:28:00 -05:00
Roman Mogylatov
de1181bdf7
Async mode fixes ( #399 )
...
* Fix double printing of exception when initializing resource causes error
* Improve async mode exceptions handling to prevent infinite hanging when exception occurs
* Improve async mode exceptions handling
* Update changelog
* Update tests
2021-02-16 12:26:23 -05:00
Roman Mogylatov
12d53c799d
Bump version to 4.23.1
2021-02-15 18:13:01 -05:00
Roman Mogylatov
8cc2c1188b
Fix issue #398 with FastAPI request importing
2021-02-15 17:47:03 -05:00
Roman Mogylatov
c28a4dc047
Bump version to 4.23.0
2021-02-15 09:12:46 -05:00
Roman Mogylatov
64d37efa37
Configuration provider aliases ( #397 )
...
* Add implementation, typing stubs, and tests
* Add docs and example
* Update changelog
2021-02-15 09:11:39 -05:00
Roman Mogylatov
ed0a413b67
Bump version to 4.22.1
2021-02-14 21:09:21 -05:00
Roman Mogylatov
22bc447d14
Bump version to 4.22.0
2021-02-14 19:09:44 -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
7fdd25e46f
Bump version to 4.21.0
2021-02-13 09:17:59 -05:00
Roman Mogylatov
21c0c82144
Clean up DeclarativeContainer and add tests
2021-02-13 08:36:45 -05:00
Roman Mogylatov
1d884b5101
Refactor isinstance() checks
2021-02-12 19:01:54 -05:00
Roman Mogylatov
3ba65da1ad
Clean up container instance and add tests
2021-02-12 18:55:20 -05:00
Roman Mogylatov
cb7c13f1ba
Clean up Container provider and add tests
2021-02-12 16:58:23 -05:00
Roman Mogylatov
351bdd282e
Clean up DependenciesContainer provider and add tests
2021-02-12 09:16:21 -05:00
Roman Mogylatov
b376836150
Add tests for Dependency provider
2021-02-12 08:35:04 -05:00
Roman Mogylatov
99e404650f
Refactor Dependency provider and its typing stub
2021-02-12 08:02:44 -05:00
Roman Mogylatov
b68d4d8d08
Rename set_parent() to assign_parent()
2021-02-11 18:06:47 -05:00
Roman Mogylatov
dd6b0caffd
Fix flaky container copy issue
2021-02-11 16:32:31 -05:00
Roman Mogylatov
980f9fc2bc
Add hardening fix for Self provider to avoid copying bugs
2021-02-11 09:20:05 -05:00
Roman Mogylatov
e29040d2ee
Fix Dependency provider copying issue
2021-02-11 09:09:52 -05:00
Roman Mogylatov
7ef3c63ca9
Update DependenciesContainer to handle Contrainer provider
2021-02-11 07:50:52 -05:00
Roman Mogylatov
5f34c7ce3f
Add working prototype, requires deep refactoring
2021-02-10 08:52:13 -05:00
Roman Mogylatov
ff3ae95482
Add working prototype for sample 1 and 3
2021-02-10 07:57:04 -05:00
Roman Mogylatov
1c433ed0ad
Add prototype for flat resolving
2021-02-09 08:57:31 -05:00
Roman Mogylatov
5b18d609f1
Bump version to 4.20.2
2021-02-09 07:35:55 -05:00
Roman Mogylatov
719b61cf22
Bump version to 4.20.1
2021-02-07 14:17:40 -05:00
Roman Mogylatov
6b24cb84a5
Bump version to 4.20.0
2021-02-07 14:14:22 -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
398d502981
Bump version to 4.19.0
2021-02-05 18:28:26 -05:00
Roman Mogylatov
2fe0e00cef
Singleton.full_reset() ( #391 )
...
* Improve .traverse() typing stubs
* Fix container.reset_singletons()
* Add implementation, tests, and typing stubs
* Add docs and example
* Update changelog
2021-02-05 18:17:44 -05:00
Roman Mogylatov
e80c56f9be
Bump version to 4.18.0
2021-02-05 17:23:10 -05:00
Roman Mogylatov
c964253204
Container.reset_singletons() ( #390 )
...
* Rename container tests
* Add implementation + tests
* Update changelog
* Add examples and docs
2021-02-05 17:14:10 -05:00
Roman Mogylatov
c4892af31e
Refactor `container.apply_container_providers_overridings()
to use
container.traverse()
`
2021-02-05 08:59:16 -05:00
Roman Mogylatov
2c1eb9f95f
Bump version to 4.17.0
2021-02-04 18:19:40 -05:00
Roman Mogylatov
892330f43c
Bump version to 4.16.0
2021-02-03 15:40:41 -05:00
Roman Mogylatov
cba5aefd65
Add container base class
2021-02-03 15:36:37 -05:00
Roman Mogylatov
f48fd159f0
Bump version to 4.15.0
2021-02-03 09:22:40 -05:00
Roman Mogylatov
15fa6c301e
Pydantic settings support ( #388 )
...
* Add implementation and basic test
* Add full test coverage + bugfix
* Add test coverage for .from_yaml() method
* Update setup.py, tox and dev requirements
* Stop running pydantic tests on Python 3.5 and below
* Remove pydantic from tox Python < 3.6
* Add example and docs
* Update features block
* Add extra test
* Update changelog
2021-02-03 09:21:32 -05:00
Roman Mogylatov
fbe51b95e8
Bump version to 4.14.0
2021-02-01 09:55:21 -05:00
Roman Mogylatov
e9a16d1f17
Fix #380 : .init_resources() and .shutdown_resource() dont ignore nested resources
2021-02-01 09:54:36 -05:00
Roman Mogylatov
3ca6dd9af1
Providers traversal ( #385 )
...
* Implement providers traversal in first precision
* Implement traversal for all providers
* Update traverse interface + add some tests
* Refactor tests
* Add tests for callable provider
* Add configuration tests
* Add Factory tests
* Add FactoryAggrefate tests
* Add .provides attribute to singleton providers
* Add singleton provider tests
* Add list and dict provider tests
* Add resource tests
* Add Container provider tests
* Add Selector provider tests
* Add ProvidedInstance provider tests
* Add AttributeGetter provider tests
* Add ItemGetter provider tests
* Add MethodCaller provider tests
* Refactor container interface
* Update resource provider string representation
* Add .initializer attribute to Resource provider
* Add docs and examples
* Remove not needed EOL in the tests
* Make cosmetic refactoring
* Ignore flake8 line width error in traverse example
2021-02-01 09:42:21 -05:00
Roman Mogylatov
cd949c6a0b
Bump version to 4.13.2
2021-01-29 16:58:30 -05:00
Roman Mogylatov
4942f9c160
Fix PyCharm typing warning in container.wire() method
2021-01-29 16:58:08 -05:00
Roman Mogylatov
fba00894ea
Bump version to 4.13.1
2021-01-29 16:42:30 -05:00
Roman Mogylatov
39cb963351
367 Fix declarative container metaclass bug with child providers
2021-01-29 16:37:50 -05:00
Roman Mogylatov
a0ba7fd16c
Bump version to 4.13.0
2021-01-29 13:50:53 -05:00