Roman Mogylatov
26571e805a
Fix links to `boto3
` example
2021-03-01 08:28:22 -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
Roman Mogylatov
6763ad2934
Update changelog
2021-02-25 17:02:01 -05:00
Roman Mogylatov
9788a1888f
Add `boto3
` example
2021-02-25 11:06:08 -05:00
Roman Mogylatov
95b0356edc
Update changelog
2021-02-25 09:51:33 -05:00
Roman Mogylatov
5f6777db19
Add tests for `.as_float()
` modifier usage with wiring
2021-02-23 10:20:04 -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
2dc78a6875
Add new multiple containers example
2021-02-18 17:49:39 -05:00
Roman Mogylatov
1d588cf9f6
Bump version to 4.24.0
2021-02-18 08:51:11 -05:00
Roman Mogylatov
8806405f0f
Add docs on @containers.copy() decorator
2021-02-18 08:38:35 -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
0d8f2ff44e
Add cross-links between container singletons and reset container singletons docs pages
2021-02-14 18:51:55 -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
2621e505cd
Update changelog
2021-02-13 09:11:52 -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
19a2f551ae
Update docs on creating custom providers with a requirement to specify `.related
` property
2021-02-05 18:27:32 -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
c9ab7d540d
Add tests for .provided & .call()
2021-02-05 08:48:25 -05:00
Roman Mogylatov
288284aa9c
Make "make test" to be a default test command and run Python 3 tests
2021-02-05 08:36:36 -05:00
Roman Mogylatov
b3bd8e888b
Add tests for selector provider
2021-02-05 08:34:20 -05:00
Roman Mogylatov
2c1eb9f95f
Bump version to 4.17.0
2021-02-04 18:19:40 -05:00
Roman Mogylatov
d45d98e300
Fastapi sqlalchemy example ( #389 )
...
* Add application
* Dockerize the app
* Fix 204 content-leength error
* Rename database file
* Add tests
* Add README
* Fix a typo in FastAPI example
* Add docs on FastAPI + SQLAlchemy example
* Update changelog
* Add link to the example to README and other docs pages
* Add EOF to the config.yml
2021-02-04 18:18:25 -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
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
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
ebeb258e96
Bump version to 4.12.0
2021-01-28 19:50:35 -05:00
Roman Mogylatov
eb587933f4
Implement wiring autoloader ( #381 )
...
* Implement wiring autoloader
* Add docs
* Update changelog
2021-01-28 19:49:24 -05:00
Roman Mogylatov
aca67663b6
Bump version to 4.11.3
2021-01-28 08:44:10 -05:00
Roman Mogylatov
6224131a76
358 Replace configuration option weakref to root with regular ref
2021-01-28 08:40:43 -05:00
Roman Mogylatov
725e3fa322
Bump version to 4.11.2
2021-01-27 14:03:08 -05:00
Roman Mogylatov
ba0fb38ad0
379 Fix a bug in `providers.Container
` when it's declared not at class root level
2021-01-27 14:02:13 -05:00
Roman Mogylatov
92938b018d
Improve @containers.copy to replace subcontainer providers ( #378 )
...
* Improve @containers.copy to replace subcontainer providers
* Bump version to 4.11.1
2021-01-27 09:21:45 -05:00
Roman Mogylatov
63dade0615
Bump version to 4.11.0
2021-01-27 07:39:38 -05:00
Roman Mogylatov
4cc39fc6eb
369 Add required argument to config from_* methods ( #376 )
...
* Update typing stubs
* Update from_yaml() method
* Update from_ini() method
* Update from_dict() method
* Update from_env() method
* Update documentation
* Update changelog
* Update changelog
* Make doc block fix
* Add extra test for from_ini()
2021-01-24 10:27:45 -05:00
Roman Mogylatov
2d49308c16
Configuration strict mode raise on non existing files ( #375 )
...
* Update from_yaml()
* Refactor YAML environment variables interpolation
* Update from_ini()
* Refactor UNDEFINED
* Update from_env()
* Update from_dict()
* Update docs
* Update changelog
2021-01-23 22:37:50 -05:00
Roman Mogylatov
500855895b
372 Change yaml loader to safe loader ( #373 )
...
* Add safe loader with env interpolation and an arg to provide custom loader
* Add docs
* Update changelog
2021-01-21 18:00:24 -05:00
Roman Mogylatov
582c232790
Update version to dev
2021-01-21 17:57:31 -05:00
Roman Mogylatov
d533ac110a
Add extra tests for asynchronous injections
2021-01-21 11:42:22 -05:00
Roman Mogylatov
c16f974517
Refactor asynchronous injections
2021-01-21 11:20:24 -05:00
Roman Mogylatov
4b0272ab30
Fix #368 Async providers do not work with async dependencies
2021-01-21 10:58:49 -05:00
Roman Mogylatov
c865e7c90d
Bump version to 4.10.3
2021-01-20 09:04:11 -05:00
Roman Mogylatov
9f7dbe89f6
Merge branch 'release/4.10.2' into master
2021-01-20 08:58:32 -05:00
Roman Mogylatov
a635e46b59
Bump version to 4.10.2
2021-01-19 17:50:46 -05:00
Roman Mogylatov
21cc6ffc1b
Fix bug #361 : failure on async resource depends on other async resource
2021-01-19 17:47:25 -05:00
Roman Mogylatov
50c5c81fd7
Bump version to 4.10.1
2021-01-18 21:02:56 -05:00
Roman Mogylatov
0ab0239d47
Switch Coveralls reporting Travis Job to run on Python 3.9.
2021-01-18 20:56:55 -05:00
Roman Mogylatov
4991c5d4b0
Fix a Python 3.9 GenericAlias introspection bug, issue #362
2021-01-18 20:49:56 -05:00
Roman Mogylatov
7ada2dc938
Bump version to 4.10.0
2021-01-16 08:55:00 -05:00
Roman Mogylatov
d74e8248a1
Required config options and strict mode ( #360 )
...
* Add strict mode + tests
* Add .required() for configuration option
* Add wiring tests for required() modifier
* Add wiring support
* Add tests for defined None values in required/strict mode
* Add docs
* Update changelog
* Update example doc block
2021-01-16 08:53:40 -05:00
Roman Mogylatov
21fb81dffb
Bump version to 4.9.1
2021-01-15 16:22:12 -05:00
Roman Mogylatov
07d6261e3f
Bump version to 4.9.0
2021-01-15 07:23:45 -05:00
Roman Mogylatov
907a4f1887
Add dependencies attribute to declarative and dynamic containers ( #359 )
...
* Add .dependencies attribute to declarative and dynamic containers
* Update changelog
* Add typing tests
2021-01-15 07:20:37 -05:00
Roman Mogylatov
a996c142ac
Bump version to 4.8.3
2021-01-15 06:44:41 -05:00
Roman Mogylatov
21053b3fb1
Bump version to 4.8.2
2021-01-13 17:08:26 -05:00
Roman Mogylatov
1628cfaf28
Fix `Container
` provider to apply context overridings on root container initialization
2021-01-13 17:07:41 -05:00
Roman Mogylatov
de6c3cda78
Fix side effect in `Container
` provider overriding
2021-01-13 09:11:24 -05:00
Roman Mogylatov
b425ac955c
Bump version to 4.8.1
2021-01-12 17:50:11 -05:00
Roman Mogylatov
6b8239ebb4
Bump version to 4.8.0
2021-01-12 08:42:14 -05:00
Roman Mogylatov
86c4a22b5f
Bump version to 4.7.0
2021-01-11 08:19:34 -05:00
Roman Mogylatov
8dd8446d39
Wiring container injection ( #353 )
...
* Add container injections to wiring
* Add example
* Update docs
* Update changelog
* Improve typing
2021-01-11 08:18:02 -05:00
Roman Mogylatov
ce1bf704f2
Bump version to 4.6.1
2021-01-10 20:02:46 -05:00
Roman Mogylatov
dfb7bb5a93
Bump version to 4.6.0
2021-01-10 19:31:59 -05:00