Roman Mogylatov
cd4807b2f9
Add support of overriding for container provider
2021-01-12 08:41:59 -05:00
Roman Mogylatov
cebeb79b93
Merge branch 'release/4.7.0' into master
2021-01-11 08:19:59 -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
6e77a95909
Merge branch 'release/4.6.1' into master
2021-01-10 20:02:57 -05:00
Roman Mogylatov
ce1bf704f2
Bump version to 4.6.1
2021-01-10 20:02:46 -05:00
Roman Mogylatov
9cd201a493
Merge branch 'release/4.6.0' into master
2021-01-10 19:32:29 -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
Fotis Koutoupas
aad84476d0
Fix flask ext warning message ( #345 )
2020-12-30 13:19:42 -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
47278030ce
Merge branch 'release/4.5.4' into master
2020-12-10 18:28:37 -05:00
Roman Mogylatov
468451d4c0
Bump version to 4.5.4
2020-12-10 18:28:29 -05:00
Roman Mogylatov
10becb316f
Hotfix travis issue with not working uploading of manylinux wheels
2020-12-10 18:26:05 -05:00
Roman Mogylatov
1c00243c09
Restore regular travis config
2020-12-10 18:24:28 -05:00
Roman Mogylatov
d51a7565e4
Test twine dependency resolution
2020-12-10 18:12:08 -05:00
Roman Mogylatov
ca1404694a
Test twine uploads for linux builds
2020-12-10 17:52:11 -05:00
Roman Mogylatov
873b0907ec
Merge branch 'release/4.5.3' into master
2020-12-05 22:14:44 -05:00
Roman Mogylatov
730baf87d8
Bump version to 4.5.3
2020-12-05 22:14:35 -05:00
Roman Mogylatov
c1e53e5edd
Replace AsyncMock with simple mock class in FastAPI wiring tests for better compatibility
2020-12-05 22:08:05 -05:00
Roman Mogylatov
0b7cf3254e
Fix test dependencies
2020-12-05 21:49:54 -05:00
Roman Mogylatov
b49f158583
Fix bug #331
2020-12-05 21:40:51 -05:00
Roman Mogylatov
ec49d56751
Add tests for FastAPI wiring
2020-12-05 21:36:30 -05:00
Roman Mogylatov
c4dd923f37
Merge branch 'release/4.5.2' into master
2020-12-04 20:19:12 -05:00
Roman Mogylatov
de092023b8
Bump version to 4.5.2
2020-12-04 20:18:39 -05:00
Roman Mogylatov
afa39b148e
Fix issue 330: FastAPI Depends directive does not work after patching with @inject
2020-12-04 20:11:21 -05:00
Roman Mogylatov
5c4c84b34e
Merge branch 'release/4.5.1' into master
2020-11-20 18:16:39 -05:00
Roman Mogylatov
4ff1a6eb25
Bump version to 4.5.1
2020-11-20 18:16:29 -05:00
Roman Mogylatov
9f314fd7e9
Merge branch 'release/4.5.0' into master
2020-11-20 18:10:13 -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
ee965f9782
Merge branch 'release/4.4.1' into master
2020-11-17 23:59:44 -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
262c035bc1
Merge branch 'release/4.4.0' into master
2020-11-15 18:20:48 -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
ca671abea6
Add flask blueprints example
2020-11-15 18:07:39 -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
b0b8820ac1
Merge branch 'release/4.3.9' into master
2020-11-12 21:29:37 -05:00
Roman Mogylatov
9bcf875ef0
Bump version to 4.3.9: FastAPI example
2020-11-12 21:29:22 -05:00
Roman Mogylatov
bece33fc21
Fix fastapi example flake8 error
2020-11-12 17:56:47 -05:00