Commit Graph

450 Commits

Author SHA1 Message Date
Roman Mogylatov
aa9fbb3b3d Implement lazy initialization and improve copying for Object provider 2021-03-19 20:36:49 -04:00
Roman Mogylatov
3e03b9315e Implement lazy initialization and improve copying for Delegate provider 2021-03-19 20:36:49 -04:00
Roman Mogylatov
9202ad05a7 Fix schema flake8 errors 2021-03-19 20:36:49 -04:00
Roman Mogylatov
7407758827 Remove f-strings from set_provides() 2021-03-19 20:36:49 -04:00
Roman Mogylatov
5ccee194c7 Fix Python 2 tests 2021-03-19 20:36:49 -04:00
Roman Mogylatov
0fab16db94 Implement lazy initialization and improve copying for Callable, Factory, Singleton, and Coroutine providers 2021-03-19 20:36:49 -04:00
Roman Mogylatov
dbc6393561 Implement boto3 session use case and add tests 2021-03-19 20:36:49 -04:00
Roman Mogylatov
35a6f47aff Fix pypy3 tests 2021-03-19 20:36:49 -04:00
Roman Mogylatov
47f8c6ebe8 Implement provider to provider resolving 2021-03-19 20:36:49 -04:00
Roman Mogylatov
bcc0b2ad54 Fix singleton children to have optional provides 2021-03-19 20:36:49 -04:00
Roman Mogylatov
ce36033faa Add typing stubs for Callable, Factory, and Singleton .set_provides() attributes 2021-03-19 20:36:49 -04:00
Roman Mogylatov
b347efc62f Add set_provides for Callable, Factory, and Singleton providers 2021-03-19 20:36:49 -04:00
Roman Mogylatov
2a3b670d1d Update tests to match latest schemas 2021-03-19 20:36:49 -04:00
Roman Mogylatov
8cac34b1c0 Refactor schema module 2021-03-19 20:36:49 -04:00
Roman Mogylatov
b882c7cdf3 Prototype inline injections 2021-03-19 20:36:48 -04:00
Roman Mogylatov
73d9c97c1b Implement from_*() methods and add tests 2021-03-19 20:36:48 -04:00
Roman Mogylatov
5121b5c070 Add multiple containers prototype 2021-03-19 20:36:48 -04:00
Roman Mogylatov
436bb1a5a2 Add single container prototype 2021-03-19 20:36:48 -04:00
Roman Mogylatov
9ea8709ed9 Bump version to 4.30.0 2021-03-19 20:23:20 -04:00
Roman Mogylatov
6c1b7cc677 Remove restriction to wire a dynamic container 2021-03-19 20:23:10 -04:00
Roman Mogylatov
e42d7dc05e Bump version to 4.29.2 2021-03-08 16:33:32 -05:00
Roman Mogylatov
bbbed8972a
Wiring import fixes numpy scipy (#422)
* Add signature guards

* Fix flake8 errors and update changelog

* Fix slow numpy/scipy installs on pypy3
2021-03-08 16:32:34 -05:00
Roman Mogylatov
dbad7949b0 Bump version to 4.29.1 2021-03-05 17:28:46 -05:00
Roman Mogylatov
22629544a4 Fix recursive copying issue in `Delegate` provider 2021-03-05 17:24:48 -05:00
Roman Mogylatov
3f026887bf Bump version to 4.29.0 2021-03-03 09:06:19 -05:00
Roman Mogylatov
1304e596d6
Container provider override API (#418)
* Implement override API

* Add tests

* Update changelog
2021-03-03 09:05:15 -05:00
Roman Mogylatov
2bf3601695
Singleton reset context (#417)
* Add implementation and typing stubs

* Make some refactoring and add tests

* Pin ubuntu version to 18.04

* Add docs and example

* Add changelog

* Add container docs
2021-03-03 08:28:10 -05:00
Roman Mogylatov
e6a0973be3 Bump version to 4.28.1 2021-03-01 09:06:11 -05:00
Roman Mogylatov
346451819e Fix async mode mode exception handling issue in `Dependency` provider 2021-03-01 09:01:51 -05:00
Roman Mogylatov
cc05b42200 Bump version to 4.28.0 2021-02-28 21:08:50 -05:00
Roman Mogylatov
da13341453
Wiring: attribute injections (#414)
* Add implementation

* Add tests for module and class

* Add tests for module and class for string ids

* Update tests with typing

* Add tests for invalid type of marker

* Add docs and the example

* Update changelog

* Fix Python 3.6 tests and flake8
2021-02-28 21:07:50 -05:00
Roman Mogylatov
48392beff2 Bump version to 4.27.0 2021-02-27 09:46:58 -05:00
Roman Mogylatov
73b8a4aac4
Introduce wiring inspect filter (#412)
* Introduce wiring inspect filter

* Upgrade exclusion filter

* Refactor wiring
2021-02-27 09:45:49 -05:00
Shubhendra Singh Chauhan
43eb15ed65
fix: code quality issues (#406)
* Refactor unnecessary `else` / `elif` when `if` block has a `return` statement

* Remove unused imports

* Use literal syntax to create data structure

* revert "remove unused import"
2021-02-25 09:44:15 -05:00
Roman Mogylatov
0149338bb6 Bump version to 4.26.0 2021-02-21 10:35:33 -05:00
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