Commit Graph

867 Commits

Author SHA1 Message Date
Roman Mogylatov
cfed30cf07 Hotfix issue #574, bump version to 4.39.1 2022-03-29 22:51:40 -04:00
Roman Mogylatov
93c8cbc83b Bump version to 4.39.0 2022-03-27 22:21:51 -04:00
Roman Mogylatov
77b5cdebd3
Optimization r1 (#571)
* Add isfuture() and iscoroutine() optimization

* Apply async mode optimization

* Wiring changes

* Add optimization for wiring of async coroutines

* Remove unused imports

* Update changelog

* Refactor async mode checks
2022-03-27 22:20:05 -04:00
Roman Mogylatov
f00fa16bd0 Update changelog 2022-03-27 14:23:27 -04:00
Roman Mogylatov
ad0d430229 Bump version to 4.38.0 2022-01-30 23:27:58 -05:00
Roman Mogylatov
86df7f91f6
531 Provider import from string (#555)
* Implement string imports for Factory, Callable, Singletons, and Resource

* Refactor the implementation

* Add tests

* Update tests to pass on Python 2

* Update typing and add typing tests

* Update changelog

* Update docs
2022-01-30 23:16:55 -05:00
Roman Mogylatov
38ca1cdeed Fix #550 2022-01-28 23:12:08 -05:00
Roman Mogylatov
d4933baec1 Update logo, v4 2022-01-16 18:39:36 -05:00
Roman Mogylatov
742e73af1a
Aggregate provider (#544)
* Add implementation and typing stubs

* Add tests

* Add typing tests

* Refactor FactoryAggregate

* Update changelog

* Add Aggregate provider docs and example

* Update cross links between Aggregate, Selector, and FactoryAggregate docs

* Add wording improvements to the docs
2022-01-09 21:45:20 -05:00
Roman Mogylatov
cfadd8c3fa
Add config.from_env(as_=...) (#541)
* Add implementation and typing stub

* Add unit tests

* Update demo example

* Add typing tests

* Update changelog

* Update docs

* Add tests for an empty environment variable

* Improve wording in di_in_python.rst

* Update wording in changelog and docs

* Update doc blocks
2021-12-20 23:46:51 +01:00
Roman Mogylatov
7238482402 Add .providers attribute and .set_providers() method to FactoryAggregate provider 2021-11-26 19:50:19 +03:00
Roman Mogylatov
72d0e2610d Add announce of Python 3.5 support dropping 2021-10-31 21:00:28 -04:00
Roman Mogylatov
0b3bcf334e Bump version to 4.37.0 2021-10-31 20:50:16 -04:00
Roman Mogylatov
99d858e2fb Upgrade Cython to 0.29.24 2021-10-31 20:48:23 -04:00
Roman Mogylatov
fe01ad41d9
Update examples to use config __init__ args (#527)
* Update application-single-container example

* Update application-multiple-containers example

* Update decoupled-packages example

* Update movie lister example

* Update CLI tutorial

* Update sanic example

* Update sanic example with wiring_config

* Update fastapi example

* Update fastapi-simple example

* Update fastapi-sqlalchemy example

* Update flask-blueprints example

* Update flask example and tutorial

* Update aiohttp example and tutorial

* Update asyncio-daemon example and tutorial
2021-10-31 20:31:39 -04:00
Roman Mogylatov
6030950596
Configuration(pydantic_settings=[...]) (#525)
* Add implementation

* Update changelog

* Fix deepcopy()

* Add example

* Add tests

* Add docs
2021-10-26 21:08:47 -04:00
Roman Mogylatov
34902db86e
Configuration(ini_files=[...]) (#524)
* Update changelog

* Add implementation

* Add tests

* Add more tests and example

* Update changelog

* Update documentation
2021-10-26 20:27:11 -04:00
Roman Mogylatov
b16b190ff7
Configuration(yaml_files=[...]) (#522)
* Add provider changes and tests

* Move config test fixtures

* Fix issue with explicit providing of envs_required=False for configuration from_*()

* Implement container API

* Increase priority of overriding from context

* Add docs and example

* Update changelog

* Update changelog
2021-10-23 21:46:50 -04:00
Roman Mogylatov
b97862cb9f
Python 3.10 (#520)
* Add GA test and linter jobs

* Remove not used async run() functions from tests

* Update aiohttp ext test

* Add botocore warning ignores

* Update changelog

* Update publishing job config for testing

* Publishing test #1

* Update GA tests-and-linters job to use latest ubuntu for tests

* Update publishing GA job
2021-10-20 12:10:05 -04:00
Roman Mogylatov
94aca21fb8
Pytest migration (#519)
* Add pytest and pytest-asyncio to the requirements

* Update aiohttp ext test

* Update setup.cfg

* Update tox.ini

* Add pytest to the tox requirements

* Update tox.ini

* Move configuration to tox.ini

* Add pytest configs

* Rename pytest-py34-py35.ini -> pytest-py35.ini

* Update config file paths

* Update makefile

* Migrate common tests to pytest

* Migrate FastAPI and Flask wiring tests

* Rename flask and fastapi wiring test files

* Move wiring autoloader tests

* Add pytest-asyncio to the tox.ini

* Migrate wiring async injection tests

* Migrate main wiring tests

* Migrate wiring string module and package names tests

* Migrate wiring config tests

* Migrate misc wiring tests

* Update tests structure

* Migrate misc wiring tests

* Refactor container.from_schema() API tests

* Migrate container.from_schema() integration tests

* Rename schema samples

* Update sample imports

* Migrate container tests

* Refactor container tests

* Migrate container self tests

* Migrate container instance tests

* Migrate container custom string attribute name tests

* Migrate container async resource tests

* Fix py2 container tests

* Migrate container cls tests

* Migrate container class custom string cls as atrribute name tests

* Migrate ext.aiohttp tests

* Migrate ext.flasks tests

* Update ext package tests doc block

* Migrate provider utils tests

* Migrate Factory async mode tests

* Migrate async tests

* Rename common test module

* Refactor asserts in provider tests

* Migrate factory tests

* Migrate selector provider tests

* Migrate object provider tests

* Migrate self provider tests

* Migrate delegate provider tests

* Migrate provider tests

* Migrate dependency provider tests

* Migrate dependencies container provider tests

* Fix warnings

* Migrate list provider tests

* Migrate dict provider tests

* Migrate callable tests

* Migrate injection tests

* Migrate container provider tests

* Migrate coroutine providers

* Migrate traversal tests

* Migrate resource tests

* Migrate configuration tests

* Migrate provided instance provider tests

* Update doc blocks and imports

* Migrate singleton tests

* Update changelog and cosmetic fixes
2021-10-18 16:19:03 -04:00
Roman Mogylatov
4cc4ca9188
Drop Python 3.4 support (#518)
* Update gitignore

* Drop Python 3.4 support

* Update change log

* Fix typo in changelog
2021-10-12 12:16:49 -04:00
Roman Mogylatov
284dee6e58
Add with support for container.override_providers() (#517)
* Add implementation, tests, and typing stub

* Update documentation

* Update changelog
2021-10-06 21:36:41 -04:00
Roman Mogylatov
73a43e6191
Wiring config (#516)
* Implement POC

* Implement concept with WiringConfiguration object

* Update changelog

* Add docs

* Update changelog
2021-10-03 20:35:48 -04:00
Roman Mogylatov
08ea99759d Update versions 2021-09-30 20:36:42 -04:00
Roman Mogylatov
f82a6b5445 Update versions in the docs 2021-09-30 20:18:23 -04:00
Roman Mogylatov
1e198a3ebd Add disqus comments to typing docs page 2021-09-30 20:15:57 -04:00
Roman Mogylatov
4f977c7cf0 Update quotes in docs conf 2021-09-30 20:13:26 -04:00
Roman Mogylatov
98f036e14c Update quotes in the docs 2021-09-30 19:26:04 -04:00
Roman Mogylatov
b64c9b7a05 Update sanic example 2021-09-30 18:59:09 -04:00
Roman Mogylatov
c92a941fe5 Update quotes in flask tutorial and example 2021-09-30 15:55:10 -04:00
Roman Mogylatov
7e794c41dd Update quotes in aiohttp tutorial 2021-09-30 15:44:15 -04:00
Roman Mogylatov
b3732281a1 Update changelog 2021-09-30 15:08:22 -04:00
Roman Mogylatov
7d160cb4a5
Wiring with string module names (#515)
* Update main example

* Updating wiring module

* Update wiring test case name

* Implement string imports for wiring

* Update example

* Refactor implementation

* Update front example

* Fix a typo in README

* Update wiring docs

* Update single container example

* Update multiple containers example

* Update quotes in multiple containers example

* Update quotes in single container example

* Update decoupled-packages example

* Update single and multiple containers example

* Update quotes

* Update fastapi+redis example

* Update resource docs

* Update quotes in CLI tutorial

* Update CLI application (movie lister) tutorial

* Update monitoring daemon example

* Update python version in asyncio daemon example

* Update asyncio daemon tutorial

* Update quotes in wiring docs

* Update wiring docs
2021-09-30 15:03:19 -04:00
Roman Mogylatov
0b5987bf84 Bump version to 4.36.2 2021-09-28 14:59:11 -04:00
Roman Mogylatov
980914c2f7 Bump version to 4.36.1 2021-09-28 14:51:39 -04:00
Roman Mogylatov
5c7bdf4fc6 Update docs author 2021-09-28 14:50:45 -04:00
Roman Mogylatov
4733aad44e
Fix provide issue (#514) 2021-09-25 15:36:48 -04:00
Roman Mogylatov
d8aa70c70b
Update changelog.rst 2021-09-16 12:55:14 -04:00
whysage
8377f2a82d
Fix boto3 url (#511) 2021-09-16 12:52:58 -04:00
Roman Mogylatov
cc4235257c Update changelog 2021-09-12 20:15:03 -04:00
Roman Mogylatov
902913ccff Bump version to 4.36.0 2021-08-25 12:06:22 -04:00
Roman Mogylatov
14d8ed909b
FactoryAggregate - non string keys (#496)
* Improve FactoryAggregate typing stub

* Add implementation, typing stubs, and tests

* Update changelog

* Fix deepcopying

* Add example

* Update docs

* Fix errors formatting for pypy3
2021-08-25 10:20:45 -04:00
Roman Mogylatov
e0825041b0 Update changelog 2021-08-23 21:25:32 -04:00
Roman Mogylatov
cf2861c4b4 Update changelog 2021-08-23 21:14:22 -04:00
Roman Mogylatov
49e2cc75c2 Make #492 follow-up fix of configuration provider docs for environment variables interpolation 2021-08-23 21:07:58 -04:00
Felipe Rubio
eda67e42d0
Fix yaml configuration-envs-interpolation examples (#494)
the interpolation of the environment variables in yaml is wrong, I have changed the example from {$ ENV_VAR} to $ {ENV_VAR}
2021-08-23 21:01:45 -04:00
Roman Mogylatov
ea9aa2370e Update changelog 2021-08-23 21:00:47 -04:00
Roman Mogylatov
4286013ca0
Remove generic meta class from resource and async resource classes (#490)
* Remove generic meta class from resource and async resource classes

* Add link to the issue into the tests

* Update changelog
2021-08-16 10:05:50 -04:00
Roman Mogylatov
9637d97d48 Bump version to 4.35.3 2021-08-11 21:25:18 -04:00
Roman Mogylatov
c4639e555e Add typing fix for container.override_providers() 2021-08-11 21:24:34 -04:00