Commit Graph

415 Commits

Author SHA1 Message Date
Roman Mogylatov
a4a84bea54
Wiring by string id (#403)
* Add prototype implementation

* Implement wiring by string id

* Fix pydocstyle errors

* Refactor wiring module

* Fix flake8 errors

* Update changelog

* Fix flake8 errors

* Add example and docs
2021-02-21 10:34:28 -05:00
Roman Mogylatov
d9d811a4d4 Improve error message for `Dependency` provider missing attribute 2021-02-19 08:50:14 -05:00
Roman Mogylatov
e5017347c7 Bump version to 4.25.1 2021-02-19 08:11:18 -05:00
Roman Mogylatov
a71154e05f Bump version to 4.25.0 2021-02-18 17:52:29 -05:00
Roman Mogylatov
990fd3a554 Add attributes forwarding for the `Dependency` provider 2021-02-18 17:49:23 -05:00
Roman Mogylatov
1d588cf9f6 Bump version to 4.24.0 2021-02-18 08:51:11 -05:00
Roman Mogylatov
13aa5fa53d Refactor @containers.copy() decorator 2021-02-18 08:25:22 -05:00
Roman Mogylatov
c7ba58c0af Refactor async mode support in containers module 2021-02-18 08:17:05 -05:00
Roman Mogylatov
763d42d532 Bump version to 4.23.5 2021-02-17 11:31:54 -05:00
Roman Mogylatov
6c45eb4eee Bump version to 4.23.4 2021-02-17 10:08:43 -05:00
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