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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							839a319831 
							
						 
					 
					
						
						
							
							Better error message for dependency provider ( #395 )  
						
						... 
						
						
						
						* Add prototype for flat resolving
* Add working prototype for sample 1 and 3
* Add working prototype, requires deep refactoring
* Update DependenciesContainer to handle Contrainer provider
* Fix Dependency provider copying issue
* Add hardening fix for Self provider to avoid copying bugs
* Fix flaky container copy issue
* Rename set_parent() to assign_parent()
* Refactor Dependency provider and its typing stub
* Add tests for Dependency provider
* Update makefile to run coverage when tests fail
* Clean up DependenciesContainer provider and add tests
* Clean up Container provider and add tests
* Clean up container instance and add tests
* Refactor isinstance() checks
* Clean up DeclarativeContainer and add tests
* Update docs and examples
* Update changelog
* Revoke makefile change 
						
					 
					
						2021-02-13 09:16:38 -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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							b25356d2fa 
							
						 
					 
					
						
						
							
							Fix tests  
						
						
						
					 
					
						2021-02-05 17:21:26 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							b3bd8e888b 
							
						 
					 
					
						
						
							
							Add tests for selector provider  
						
						
						
					 
					
						2021-02-05 08:34:20 -05:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							cba5aefd65 
							
						 
					 
					
						
						
							
							Add container base class  
						
						
						
					 
					
						2021-02-03 15:36:37 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							39cb963351 
							
						 
					 
					
						
						
							
							367 Fix declarative container metaclass bug with child providers  
						
						
						
					 
					
						2021-01-29 16:37:50 -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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							eb587933f4 
							
						 
					 
					
						
						
							
							Implement wiring autoloader ( #381 )  
						
						... 
						
						
						
						* Implement wiring autoloader
* Add docs
* Update changelog 
						
					 
					
						2021-01-28 19:49:24 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							dfedead4f0 
							
						 
					 
					
						
						
							
							Add yaml tests skipping on Python 3.4  
						
						
						
					 
					
						2021-01-25 17:32:22 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							d533ac110a 
							
						 
					 
					
						
						
							
							Add extra tests for asynchronous injections  
						
						
						
					 
					
						2021-01-21 11:42:22 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							9f7dbe89f6 
							
						 
					 
					
						
						
							
							Merge branch 'release/4.10.2' into master  
						
						
						
					 
					
						2021-01-20 08:58:32 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							4991c5d4b0 
							
						 
					 
					
						
						
							
							Fix a Python 3.9 GenericAlias introspection bug, issue  #362  
						
						
						
					 
					
						2021-01-18 20:49:56 -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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							1c87a9973d 
							
						 
					 
					
						
						
							
							Fix a bug in the `Configuration provider to correctly handle overriding by None`.  
						
						
						
					 
					
						2021-01-15 06:44:24 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							dd57c68ce5 
							
						 
					 
					
						
						
							
							Fix declarative container multi-level inheritance issue  
						
						
						
					 
					
						2021-01-12 17:49:48 -05:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							cd4807b2f9 
							
						 
					 
					
						
						
							
							Add support of overriding for container provider  
						
						
						
					 
					
						2021-01-12 08:41:59 -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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							c1e53e5edd 
							
						 
					 
					
						
						
							
							Replace AsyncMock with simple mock class in FastAPI wiring tests for better compatibility  
						
						
						
					 
					
						2020-12-05 22:08:05 -05:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							ec49d56751 
							
						 
					 
					
						
						
							
							Add tests for FastAPI wiring  
						
						
						
					 
					
						2020-12-05 21:36:30 -05:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							034e4814da 
							
						 
					 
					
						
						
							
							Add support of non-string keys for Dict provider  
						
						
						
					 
					
						2020-11-20 17:30:42 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							97c33442e0 
							
						 
					 
					
						
						
							
							Add wiring hotfix for fastapi  
						
						
						
					 
					
						2020-11-12 15:54:49 -05:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							18ef566aae 
							
						 
					 
					
						
						
							
							Fix issue  #319  resulting in configuration.reset_override() not working properly  
						
						
						
					 
					
						2020-11-05 10:16:39 -05:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							fb2d927cae 
							
						 
					 
					
						
						
							
							Fix wiring for @classmethod and @staticmethod  
						
						
						
					 
					
						2020-11-03 15:59:02 -05:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							c5f799a1ec 
							
						 
					 
					
						
						
							
							Fix issue with wiring and resource initialization  
						
						
						
					 
					
						2020-10-30 16:40:27 -04:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							707446a70f 
							
						 
					 
					
						
						
							
							Closing wiring marker ( #315 )  
						
						... 
						
						
						
						* Add closing marker
* Add example
* Fix flake8 errors
* Add test
* Update docs and README 
						
					 
					
						2020-10-29 22:55:09 -04:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							776cb4eebf 
							
						 
					 
					
						
						
							
							Fix multiple containers wiring issue  
						
						
						
					 
					
						2020-10-28 13:44:11 -04:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
						
						
							
						
						
							2565a1eab0 
							
						 
					 
					
						
						
							
							Fix wiring for @classmethod  
						
						
						
					 
					
						2020-10-28 13:11:07 -04:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							47c79b2772 
							
						 
					 
					
						
						
							
							Resources ( #312 )  
						
						... 
						
						
						
						* Add prototype
* Add example
* Remove typing erros in Python 2.7 and 3.4
* Move resources example
* Draft resources docs
* Update resources docs
* Fix repr
* Rename dict provider test
* Add more tests
* Add tests + refactoring
* Add more tests
* Update tests to run only on 3.5+
* Update setup.py
* Add typing tests
* Update changelog
* Fix generator iteration
* Remove contextlib
* Hotfix aiohttp issue
* Move aiohttp fix to tox.ini
* Move aiohttp fix to a different place in tox 
						
					 
					
						2020-10-24 20:56:32 -04:00 
						 
				 
			
				
					
						
							
							
								Roman Mogylatov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b54bcb7b31 
							
						 
					 
					
						
						
							
							Dict provider ( #311 )  
						
						... 
						
						
						
						* Add tests
* Add implementation and typing stubs
* Update README and docs pages
* Add example and docs
* Update changelog
* Add long description to the doc block 
						
					 
					
						2020-10-22 14:49:39 -04:00