Roman Mogylatov
3d1bb5d7b3
432 resource shutdown order ( #473 )
...
* Add PoC
* Add tests for init and shutdown ordering
* Add circular dependencies breaker tests
* Refactoring and sync + async test
* Update changelog
2021-07-20 18:46:44 -04:00
Roman Mogylatov
6ffb98af67
Bump version to 4.34.0
2021-06-24 16:03:11 +03:00
Roman Mogylatov
ef049daae5
463 Config environment variables interpolation required and nones ( #467 )
...
* Make prototype with enterpolation before parsing
* Add test for option.from_yaml() with missing env not required
* Make some cosmetic changes to _resolve_config_env_markers()
* Add test for option.from_ini() missing envs not required
* Skip schema test cause it requires internet connection
* Add tests for .from_yaml() for config and config option
* Add tests for .from_ini() for config and config option
* Add example for os.environ.setdefault() and envs interpolation
* Add/update docs on environment variables interpolation
* Update changelog
2021-06-24 16:00:36 +03:00
Roman Mogylatov
31beb54979
Bump version to 4.33.0
2021-06-13 22:06:27 -04:00
Roman Mogylatov
dbbf5fdcf1
462 Config.from_value() ( #465 )
...
* Implement .from_value() method for config provider
* Add tests for config.from_value() method
* Add example for config.from_value()
* Add docs
* Update changelog
2021-06-13 22:05:29 -04:00
Roman Mogylatov
bbd623c719
459 Add default value for environment variable for yaml and ini config files ( #461 )
...
* Add tests for partial yaml interpolation
* Add tests for partial ini interpolation
* Add yaml config env defaults parsing
* Implement default interpolation for ini files
* Add tests for ini files env interpolation
* Update docs
* Update docs
* Update config docs keywords
2021-06-13 15:07:30 -04:00
Roman Mogylatov
e06dd782cd
Bump version to 4.32.3
2021-05-20 18:12:00 -04:00
Roman Mogylatov
39fb88a0e9
Bump version to 4.32.2
2021-04-26 22:09:35 -04:00
Roman Mogylatov
0f3e170711
Bump version to 4.32.1
2021-04-25 13:45:34 -04:00
Roman Mogylatov
42deda7eb5
Bump version to 4.32.0
2021-04-18 21:47:47 -04:00
Roman Mogylatov
57b4913b9b
Bump version to 4.31.2 and update changelog
2021-03-30 14:02:12 -06:00
Roman Mogylatov
7b70f46601
Fix an issue with Dict provider non-string keys
2021-03-30 10:25:45 -04:00
Roman Mogylatov
37dd617260
Bump version to 4.31.1
2021-03-23 21:14:35 -04:00
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
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