Commit Graph

897 Commits

Author SHA1 Message Date
Roman Mogylatov
1aef599606
Fix ThreadSafeSingleton synchronization issue (#434)
* Fix ThreadSafeSingleton synchronization issue

* Update changelog
2021-03-23 21:14:03 -04:00
Roman Mogylatov
88455d10ff Bump version to 4.31.0 2021-03-20 21:42:40 -04:00
Roman Mogylatov
41e698f633
Fix configuration cache reset (#430)
* Implement fix

* Improve providers copying

* Add tests and implement cache reset for configuration option

* Update changelog

* Add link to the issue
2021-03-20 21:41:39 -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
9ea8709ed9 Bump version to 4.30.0 2021-03-19 20:23:20 -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
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
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
c14ff96773 Remove legacy css file 2021-03-05 17:23:57 -05:00
Roman Mogylatov
2cab6c687a Add docs and example for `Factory.add_attributes()` method 2021-03-03 16:06:53 -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
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
a85d89e6f2 Amend docs and add another example for `@containers.copy()` decorator 2021-02-19 08:11:05 -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
368f50f0ba Fix typo in FastAPI + SQLAlchemy example docs 2021-02-14 21:08:19 -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
50d05d43c6 Update docs and examples 2021-02-13 09:07:22 -05:00
Roman Mogylatov
5b18d609f1 Bump version to 4.20.2 2021-02-09 07:35:55 -05:00
Roman Mogylatov
47aa8c11fe Move Self provider docs to providers section 2021-02-09 07:34:46 -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
7b33733bdf Update badge 2021-01-27 07:38:35 -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
Roman Mogylatov
48a2bcc039 Update copyright year 2021-01-10 19:31:01 -05:00
Roman Mogylatov
feed916f46
Async resources and injections (#352)
* Add support of async injections into wiring

* Add support of async functions and async generators for resources

* Update resource provider typing stub for stutdown

* Add resource base class for async resources

* Fix tests

* Add tests for async injections in wiring @inject

* Refactor provider tests

* Add tests for async resources

* Rework async resources callbacks to .add_done_callback() style (fixes pypy3 issue)

* Add awaits into async resource class test

* Refactor FastAPI tests

* Implement async resources initialization in container

* Move container async resource tests to a separate module for Python 3.6+

* Fix init async resources in container on Python 2

* Add first dirty async injections implementation

* Fix isawaitable error

* Turm asyncio import to conditional for safer Py2 usage

* Refactor kwargs injections

* Implement positional injections, add tests and make refactoring

* Implement attribute injections and add tests

* Add singleton implementation + tests for all singleton types

* Implement injections in thread-local and thread-safe singleton providers

* Update .provided + fix resource concurent initialization issue

* Implement async mode for Dependency provider

* Add async mode for the provider

* Add overload for Factory typing

* Add typing stubs for async resource

* Refactor abstract* providers __call__()

* Add async mode API + tests

* Add typing stubs & tests for async mode API

* Add tests for async mode auto configuration

* Refactor Provider.__call__() to use async mode api

* Refactor Dependency provider to use async mode api

* Add tests for Dependency provider async mode

* Add support of async mode for FactoryAggregate provider + tests

* Refactor Singleton provider to use async mode api

* Refactor ThreadSafeSingleton provider to use async mode api

* Refactor ThreadLocalSingleton provider to use async mode api

* Finish Singleton refactoring to use async mode api

* Refactor Resource provider to use async mode api

* Add Provider.async_() method + tests

* Add typing stubs for async_() method + tests

* Refactor Singleton typing stubs to return singleton from argument methods

* Refactor provider typing stubs

* Improve resource typing stub

* Add tests for async context kwargs injections

* Fix typo in resource provider tests

* Cover shutdown of not initialized resource

* Add test to cover resource initialization with an error

* Fix Singleton and ThreadLocalSingleton to handle initialization errors

* Add FastAPI + Redis example

* Make cosmetic fixes to FastAPI + Redis example

* Add missing development requirements

* Update module docblock in fastapi + redis example

* Add FastAPI + Redis example docs

* Add references to FastAPI + Redis example

* Refactor resource docs

* Add asynchronous resources docs

* Refactor wiring docs

* Add async injections docs for wiring

* Add async injections page and update docs index, readme, and key features pages

* Add providers async injections example

* Add docs on provider async mode enabling

* Reword async provider docs

* Add provider async mode docs

* Add cross links to async docs

* Mute flake8 errors in async provider examples

* Update changelog

* Make cosmetic fix to containers.pyx
2021-01-10 19:26:15 -05:00
Roman Mogylatov
9f6d2bb522 Update changelog and list of contributors 2020-12-30 13:26:28 -05:00
Roman Mogylatov
89aeca76c0
Arm builds (#343)
* Add arm64 wheels travis build job

* Update changelog
2020-12-23 20:03:00 -05:00
Roman Mogylatov
468451d4c0 Bump version to 4.5.4 2020-12-10 18:28:29 -05:00
Roman Mogylatov
730baf87d8 Bump version to 4.5.3 2020-12-05 22:14:35 -05:00
Roman Mogylatov
de092023b8 Bump version to 4.5.2 2020-12-04 20:18:39 -05:00
Roman Mogylatov
4ff1a6eb25 Bump version to 4.5.1 2020-11-20 18:16:29 -05:00
Roman Mogylatov
57faa5f93f Bump version to 4.5.0 2020-11-20 18:10:04 -05:00
Roman Mogylatov
cd2c5697c3 Add commands and handlers example 2020-11-20 18:09:34 -05:00
Roman Mogylatov
fbaf35244c Add example and docs 2020-11-20 17:57:33 -05:00
Roman Mogylatov
034e4814da Add support of non-string keys for Dict provider 2020-11-20 17:30:42 -05:00
Roman Mogylatov
c8178cecda Add extra typing test for provided instance of `DependenciesContainer` provider 2020-11-20 12:25:35 -05:00
Roman Mogylatov
8092421727 Add simple FastAPI example 2020-11-18 11:13:31 -05:00
Roman Mogylatov
d581a28b6e Bump version to 4.4.1 2020-11-17 23:59:33 -05:00
Roman Mogylatov
49921dcf9d Remove a typo from the Flask tutorial 2020-11-17 23:50:56 -05:00
Roman Mogylatov
950d5a5e6e Update FastAPI example 2020-11-17 23:46:30 -05:00
Roman Mogylatov
d37ae8e7db Improve FastAPI integration 2020-11-17 23:44:32 -05:00
Roman Mogylatov
a2b09c57dc Bump version to 4.4.0 2020-11-15 18:19:34 -05:00
Roman Mogylatov
092be74145 Add docs page on flask blueprints example 2020-11-15 18:09:45 -05:00
Roman Mogylatov
ae3024588c
Wiring reengineering (#324)
* Bump version to 4.3.9: FastAPI example

* Reengineer wiring

* Add @inject decorator

* Add .workspace dir to gitignore

* Add generic typing for @inject

* Add type cast for @inject

* Update movie lister example

* Update cli application tutorial

* Update demo example

* Update wiring docs and examples

* Update aiohttp example and tutorial

* Update multiple containers example

* Update single container example

* Update decoupled packages example

* Update django example

* Update asyncio daemon example and tutorial

* Update FastAPI example

* Update flask example and tutorial

* Update sanic example

* Add wiring registry

* Add new line to .gitignore

* Add @inject to the test samples

* Fix flake8 errors
2020-11-15 16:06:42 -05:00
Roman Mogylatov
cdce5247c8 Bump version to 4.3.8 2020-11-12 16:31:20 -05:00
Roman Mogylatov
ccf6ccad54 Bump version to 4.3.7 2020-11-10 17:02:42 -05:00
Roman Mogylatov
3ff5c8ce82 Bump version to 4.3.6 2020-11-05 12:37:25 -05:00
Roman Mogylatov
6b93c2e412 Bump version to 4.3.5 2020-11-05 12:23:47 -05:00
Roman Mogylatov
f3ec74a31f Bump version to 4.3.4 2020-11-05 10:20:23 -05:00
Roman Mogylatov
25549d7cfe Bump version to 4.3.3 2020-11-03 16:06:42 -05:00
Roman Mogylatov
fb2d927cae Fix wiring for @classmethod and @staticmethod 2020-11-03 15:59:02 -05:00