Commit Graph

301 Commits

Author SHA1 Message Date
Roman Mogylatov
d8439a28b1
Make provider generic type (#293)
* Add __class_getitem__ for Provider to null the typing in runtime

* Make Provider stub generic and remove types module

* Update types module tests

* Return types module with deprecation warning

* Return types module with deprecation warning

* Update changelog

* Add docs page
2020-09-13 20:32:21 -04:00
Roman Mogylatov
6febd03646 Bump version to 3.43.1 2020-09-09 23:48:08 -04:00
Roman Mogylatov
07f050d2ad Bump version to 3.43.0 2020-09-09 23:36:13 -04:00
Roman Mogylatov
ffc477d1ee Update API docs 2020-09-09 22:23:28 -04:00
Roman Mogylatov
a305660a08 Bump version to 3.42.0 2020-09-09 18:02:37 -04:00
Roman Mogylatov
ba574660d8 Bump version to 3.41.0 2020-09-07 22:07:09 -04:00
Roman Mogylatov
098ecb4eec Fix declarative container mypy stub 2020-09-07 11:53:03 -04:00
Roman Mogylatov
6d2a0382a7 Bump version to 3.40.0 2020-09-06 21:54:58 -04:00
Roman Mogylatov
29f209d382
Update bundles example (#292)
* Fix dependency provider stub issue with required init arg

* Refactor bundles example app

* Rename bundles package

* Rename bundles example container

* Rename bundles mini app to decoupled packages

* Move decoupled packages example to main examples

* Fix a typo

* Add meta
2020-09-06 21:51:38 -04:00
Roman Mogylatov
5bb9d221a5 Bump version to 3.39.0 2020-09-04 23:22:58 -04:00
Roman Mogylatov
72b2d0570f Bump version to 3.38.1 2020-09-03 23:25:32 -04:00
Roman Mogylatov
d6dbef0a75 Bump version to 3.38.0 2020-09-03 23:22:11 -04:00
Roman Mogylatov
5f7d978012 Bump version to 3.37.0 2020-09-03 18:05:45 -04:00
Roman Mogylatov
d6e4e8fb08 Add container usage to provided instance examples 2020-09-03 17:48:45 -04:00
Roman Mogylatov
063301a0b3 Bump version to 3.36.0 2020-09-02 21:28:09 -04:00
Roman Mogylatov
dd2ded7321 Update documentation and example on creating a custom provider 2020-09-02 21:09:08 -04:00
Roman Mogylatov
806bd31735 Bump version to 3.35.1 2020-09-01 21:58:13 -04:00
Roman Mogylatov
0985635ea6 Bump version to 3.35.0 2020-09-01 21:40:14 -04:00
Roman Mogylatov
c4b33749d2
Providers docs update (#289)
* Update callable provider docs

* Update coroutine provider docs

* Edit object docs

* Edit list provider docs

* Edit configuration provider docs

* Edit selector provider docs

* Fix mypy stub of the ``DeclarativeContainer`` to specify the ``__init__`` interface

* Edit Dependency provider docs
2020-09-01 21:39:23 -04:00
Roman Mogylatov
0d9aaaac0b Bump version to 3.34.0 2020-08-31 21:29:05 -04:00
Roman Mogylatov
3c27cd6ab2 Bump version to 3.33.0 2020-08-26 22:25:22 -04:00
Roman Mogylatov
2e940adb50
Typing stubs (#286)
* Add basic setup

* Add more tests for factory

* Add mypy checks to CI

* Add mypy checks to makefile command

* Add typing for the factories

* Add stub for Callable providers

* Add typing module and object provider stubs

* Fix typing test issue

* Remove typing module

* Add Delegate stub

* Add stub for Dependency provider

* Add stub for ExternalDependency

* Add stubs for providers module functions

* Add stubs for the DependenciesContainer provider

* Add stub for the CallableDelegate provider

* Add stubs for Coroutine providers

* Add stubs for the configuration options

* Add stub for the FactoryDelegate

* Add stub for the FactoryAggregate provider

* Add singleton stubs

* Add stubs for singletons

* Add stub for the List provider

* Add stub for the Container provider

* Add stub for the Selector provider

* Add stubs for the dynamic container

* Add stub for the declarative container

* Add stubs for the extensions

* Add types module for explicit provider typing

* Set absolute import mode for the providers module and add types module test

* Skip typing test for Python 3.5

* Remove coroutine test from py35

* Fix py35 tests

* Add \n to the tox.ini
2020-08-26 22:24:20 -04:00
Roman Mogylatov
15acccf48f Bump version to 3.32.3 2020-08-26 16:35:31 -04:00
Roman Mogylatov
cc7ade89d7 Bump version to 3.32.2 2020-08-26 16:24:59 -04:00
Roman Mogylatov
3f94a900a4 Bump version to 3.32.1 2020-08-25 10:27:24 -04:00
Roman Mogylatov
fcbab97db2 Bump version to 3.32.0 2020-08-24 13:38:08 -04:00
Roman Mogylatov
f5b97ca92e
Configuration option typed injections (#284)
* Add implementation and tests

* Add docs page and examples

* Revert the api_client miniapp accidental changes
2020-08-24 13:34:47 -04:00
Roman Mogylatov
cc8536b5e4 Bump version to 3.31.0 2020-08-20 21:59:09 -04:00
Roman Mogylatov
cf862fe8b5
Provided attributes (#282)
* Add sketch

* Cythonize MethodCaller

* Cythonize ItemGetter, AttributeGetter & ProvidedInstance providers

* Add docblock for .provided attribute

* Refactor repr methods

* Add .provided attribute to the Dependency provider

* Add tests for the .provided attribute to the majority of the providers

* Add docblock for the ProvidedInstance provider

* Add docblocks for the rest of the providers

* Add example of the provided instance usage

* Add tests for provided instance* providers

* Add complex provided instance example

* Update example provided_instance.py

* Add docs
2020-08-20 21:52:12 -04:00
Roman Mogylatov
e15a6dbb1d Bump version to 3.30.4 2020-08-16 01:16:25 -04:00
Roman Mogylatov
01a18bc2ff Bump version to 3.30.3 2020-08-16 01:13:32 -04:00
Roman Mogylatov
ac6412bd41 Bump version to 3.30.2 2020-08-13 22:57:34 -04:00
Roman Mogylatov
f67dab1f03 Bump version to 3.30.1 2020-08-13 21:53:13 -04:00
Roman Mogylatov
2f42de9fa1 Bump version to 3.30.0 2020-08-12 17:06:40 -04:00
Roman Mogylatov
3c69b4683f Bump version to 3.29.0 2020-08-10 22:32:29 -04:00
Roman Mogylatov
ed2a795581 Bump version to 3.28.1 2020-08-10 15:50:51 -04:00
Roman Mogylatov
d3f3b58389 Bump version to 3.28.0 2020-08-08 14:49:08 -04:00
Roman Mogylatov
3a61457be7
Asyncio daemon tutorial (#278)
* Fix a typo in the docblock of the Configuration provider

* Update the changelog

* Add tutorial sections

* Switch to use https for httpbin.org requests

* Add what we are going to build section

* Fix ``Makefile`` to run ``aiohttp`` integration tests on Python 3.5+

* Add prerequisities and prepare the env sections

* Add logging, config and the dispacher sections

* Change logging

* Fix multiple typos in the ``flask`` and ``aiohttp`` tutorials

* Add the initial and dirty version

* Fix multiple typos in the ``flask`` and ``aiohttp`` tutorials

* Fix the 3.27.0 changelog

* Finish all the parts before the dispatcher

* Finish dispatcher section

* Update http monitor logging format

* Finish the tutorial

* Fix docblock in the dispatcher module

* Update changelog

* Add meta keywords and description
2020-08-08 14:48:05 -04:00
Roman Mogylatov
5bf5a7651b Bump version to 3.27.0 2020-08-06 16:42:49 -04:00
Roman Mogylatov
4a8133204c
Factory deep init injections (#277)
* Add factory deep context providing

* Add example

* Add test
2020-08-06 16:33:06 -04:00
Roman Mogylatov
1f302ec74c Bump version to 3.26.0 2020-08-03 18:08:53 -04:00
Roman Mogylatov
ea1e79885c
274 Configuration provider redesign (#275)
* Get 1st stable version

* Remove prototype module

* Try fix copying

* Add config itemselector example

* Add doc blocks
2020-08-03 18:01:20 -04:00
Roman Mogylatov
6fccb6eec1 Bump version to 3.25.1 2020-07-30 13:53:37 -04:00
Roman Mogylatov
978ebda9eb Bump version to 3.25.0 2020-07-29 22:20:34 -04:00
Roman Mogylatov
4ca385d73b Bump version to 3.24.1 2020-07-29 12:18:09 -04:00
Roman Mogylatov
c190e049b5 Bump version to 3.24.0 2020-07-28 19:26:41 -04:00
Roman Mogylatov
e0d81c2d28
Aiohttp integration (#270)
* Add aiohttp extension module

* Add giphynav-aiohttp app

* Add missing docstrings

* Remove print() call

* Remove not needed import from flask extension tests

* Improve coroutine provider tests

* Add aiohttp extension tests

* Update tox.ini

* Add aiohttp extras

* Try fix Python 3.4 tests

* Try fix 3.6 tests

* Stop running coroutine tests for Python 3.4

* Rename tests

* Remove type hints

* Fix pypy and change python version for coverage job to 3.8

* Fix coveralls job

* Try fix Python 3.4, 3.5 tests

* Make coverage job to run 3.5+ tests

* Add tests

* Add readme

* Update the readmes

* Add API docs

* Add API docs page

* Update changelog
2020-07-28 19:19:05 -04:00
Roman Mogylatov
8f5ea52303 Bump version to 3.23.2 2020-07-23 20:49:08 -04:00
Roman Mogylatov
00d91ae829 Bump version to 3.23.1 2020-07-22 12:17:37 -04:00
Roman Mogylatov
1f115111b2
Dependency provider issue with abc (#267)
* Fix the issue

* Add the test

* Update tests

* Update changelog

* Update tests
2020-07-22 12:14:26 -04:00
Roman Mogylatov
93adbe5207 Bump version to 3.23.0 2020-07-20 17:02:32 -04:00
Roman Mogylatov
78b7be218b Bump version to 3.22.0 2020-07-18 00:45:06 -04:00
Roman Mogylatov
8b2486c5e5 Bump version to 3.21.2 2020-07-13 23:29:32 -04:00
Roman Mogylatov
5ada7f24dd Bump version to 3.21.1 2020-07-13 23:09:42 -04:00
Roman Mogylatov
73cfc873ce Bump version to 3.21.0 2020-07-13 22:50:02 -04:00
Roman Mogylatov
72147b664e Re-design Flask integration 2020-07-13 22:45:15 -04:00
Roman Mogylatov
4f753c8fd3 Bump version to 3.20.1 2020-07-11 12:42:55 -04:00
Roman Mogylatov
d6176dc754 Bump version to 3.20.0 2020-07-11 12:16:08 -04:00
Roman Mogylatov
fa469618dd
Readme update (#263)
* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Add files via upload

* Update README.rst

* Rename Blank Diagram (1).svg to di-map.svg

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Add files via upload

* Rename Blank Diagram (2).svg to di-map2.svg

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Add files via upload

* Add files via upload

* Rename README.svg to di-map3.svg

* Update README.rst

* Add files via upload

* Rename README - Page 3.svg to di-map4.svg

* Update README.rst

* Add files via upload

* Rename README - Copy of Page 3.svg to di-map5.svg

* Update README.rst

* Delete di-map.svg

* Delete di-map2.svg

* Delete di-map3.svg

* Delete di-map4.svg

* Update README.rst

* Update README.rst

* Add Github Navigator - Flask application

* Do more refactoring for ghnav-flask

* More refactoring

* Update README

* Add tests

* Update readme

* Add Flask extension

* Add Factory.provides attribute

* Add Flask extension module

* User flask extension in githubnavigator example

* Add README for ghnav-flask

* Update ghnav-flask README

* Update ghnav-flask README

* Update README with ghnav container example

* Move ghnav-flask to miniapps/ folder

* Fix auth token reading from env for ghnav-flask

* Update readme

* Fix ghnav-flask linter errors

* Add downloads and wheel badge

* Add tests for flask extension

* Fix flask tests

* Add requirements-ext.txt installation to tox.ini

* Add API docs for ext.flask module

* Update setup.py

* Add Flask to the list of keywords

* Update badges on docs README

* Update docs README title

* Fix ext.flask tests

* Fix syntax of ext.flask for Python 2.7, 3.4, 3.5

* Fix syntax of ext.flask for Python 2.7, 3.4, 3.5

* Fix imports in ext.flask for Python 2.7, 3.4, 3.5

* Update ghfnav-flask README

* Update ghfnav-flask README

* Remove setting of empty github token

* Add flask extras

* Update requirements

* Update requirements

* Add flask extra to python 3.4 tox.ini

* Update changelog

* Update changelog
2020-07-11 12:15:00 -04:00
Roman Mogylatov
a8135c0628 Bump version to 3.19.2 2020-07-02 22:08:12 -04:00
Roman Mogylatov
cc90f66dc8 Bump version to 3.19.1 2020-07-01 23:17:29 -04:00
Roman Mogylatov
1a5e7baf7b Bump version to 3.19.0 2020-06-29 16:34:05 -04:00
Roman Mogylatov
2513d1f600
Selector provider (#258)
* Add Selector provider

* Add Selector provider example

* Add tests for selector provider

* Update changelog

* Add pydocstyle ignore D101 for examples

* Fix repr() test

* Update changelog

* Add D203,D213 to examples pydocstyle ignore

* Add selector provider docs
2020-06-29 16:32:12 -04:00
Roman Mogylatov
7491fc05a2 Fix ini files parsing 2020-06-25 23:37:01 -04:00
Roman Mogylatov
1cd25e701f Add interpolation of environment variables for Configuration provider 2020-06-25 23:16:19 -04:00
Roman Mogylatov
525ddbc24c Bump version to 3.18.0 2020-06-25 18:06:37 -04:00
Roman Mogylatov
62e1995a7d Add configuration provider docs 2020-06-25 17:12:16 -04:00
Roman Mogylatov
507a832bb8 Add Configuration.from_env() method + refactoring 2020-06-25 12:50:42 -04:00
Roman Mogylatov
3217feb73b Update providers.pyx code style 2020-06-24 21:27:40 -04:00
Roman Mogylatov
65db4f2b1d Fix code style issue 2020-06-24 21:23:05 -04:00
Roman Mogylatov
ad2d8155d4 Remove yaml stub in providers module 2020-06-24 21:13:37 -04:00
Roman Mogylatov
e22edcdadd Restore configuration methods 2020-06-24 21:04:30 -04:00
Roman Mogylatov
1a23b8b6f5 Try type(dict) fix 2020-06-24 17:38:52 -04:00
Roman Mogylatov
50d8363650 Pin virtualenv to 20.0.23 2020-06-24 17:26:58 -04:00
Roman Mogylatov
52c98bbe49 Comment yaml-related code 2020-06-24 17:16:46 -04:00
Roman Mogylatov
597f5d772f Add default value for name argument of Configuration provider 2020-06-24 16:40:53 -04:00
Roman Mogylatov
a76744805a Add Configuration.from_yaml method 2020-06-24 16:29:44 -04:00
Roman Mogylatov
2c43a1c426 Remove undocumented positional parameter of DependenciesContainer provider 2020-06-24 14:39:07 -04:00
Roman Mogylatov
feab6b6814 Revert "Add overriding logic for Container provider"
This reverts commit b727be3f9a.
2020-06-24 13:24:57 -04:00
Roman Mogylatov
b727be3f9a Add overriding logic for Container provider 2020-06-24 12:41:18 -04:00
Roman Mogylatov
f95dadfc23 Add Configuration.from_dict() method 2020-06-23 18:09:20 -04:00
Roman Mogylatov
a985952d0c Fix Configuration.from_ini() to support Python 2 2020-06-23 16:53:22 -04:00
Roman Mogylatov
87bb5ff97d Add Configuration.from_ini() method 2020-06-23 16:46:24 -04:00
Roman Mogylatov
1e13727a94 Bump version to 3.17.1 2020-06-23 12:48:01 -04:00
Roman Mogylatov
2fd216bb5a Hotfix dynamic container deep-copying 2020-06-23 12:47:48 -04:00
Roman Mogylatov
69e2230b80 Bump version to 3.17.0 2020-06-23 12:14:06 -04:00
Roman Mogylatov
c8b781e744
Container provider (#256)
* Add unit tests

* Add Container provider

* Update changelog
2020-06-22 22:45:16 -04:00
Roman Mogylatov
e6f096270e
Config linking (#255)
* Add config linking test

* Add provider linking

* Update changelog
2020-06-22 21:52:00 -04:00
Roman Mogylatov
7c3d961ae7 Bump version to 3.16.1 2020-06-16 22:34:19 -04:00
Roman Mogylatov
eadac4b1cc Fix warnings in API docs 2020-06-16 22:22:06 -04:00
Roman Mogylatov
dd7c951ea6 Bump version to 3.16.0 2020-06-14 17:49:57 -04:00
Roman Mogylatov
af7297ce71 Update Cython version 2020-06-14 17:38:24 -04:00
Roman Mogylatov
2beafb9a51
List provider (#251)
* Add List provider

* Add List provider example

* Add List provider unit tests

* Add docs

* Upstream changes from develop

* Update API docs

* Update unit tests

* Add support of positional context argument injections

* Update changelog
2020-06-14 17:32:12 -04:00
Bruno P. Kinoshita
910dec38a4
Fix a few typos (#250)
* Fix a few typos

* Spell, grammar checkers on docs
2020-06-13 22:24:32 -04:00
Roman Mogylatov
fac768496e Bump version to 3.15.6 2020-02-18 17:52:46 -05:00
Roman Mogylatov
6c81568888 Bump version to 3.15.5 2020-02-18 17:50:56 -05:00
Roman Mogylatov
b00edad1b9 Bump version to 3.15.4 2020-01-26 20:37:13 -05:00
Roman Mogylatov
f8ddf1b19b Bump version to 3.15.3 2020-01-26 19:53:06 -05:00
Roman Mogylatov
7ce170a1d9 Bump version to 3.15.2 2020-01-26 19:33:28 -05:00
Roman Mogylatov
b09868233c Bump version to 3.15.1 2020-01-26 19:17:03 -05:00