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
cdce5247c8
Bump version to 4.3.8
2020-11-12 16:31:20 -05:00
Roman Mogylatov
97c33442e0
Add wiring hotfix for fastapi
2020-11-12 15:54:49 -05:00
Roman Mogylatov
ccf6ccad54
Bump version to 4.3.7
2020-11-10 17:02:42 -05:00
Roman Mogylatov
985be71a04
Regenerate C sources after PR#322
2020-11-10 17:02:21 -05:00
Dmitry Rassoshenko
fb0d99c1c9
Fix race in ThreadSafeSingleton ( #322 )
2020-11-10 14:57:10 -05:00
Roman Mogylatov
3ff5c8ce82
Bump version to 4.3.6
2020-11-05 12:37:25 -05:00
Roman Mogylatov
6b93c2e412
Bump version to 4.3.5
2020-11-05 12:23:47 -05:00
Roman Mogylatov
3c71ba4b2a
Fix wiring multiple imports, issue #320
2020-11-05 12:20:09 -05:00
Roman Mogylatov
f3ec74a31f
Bump version to 4.3.4
2020-11-05 10:20:23 -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
25549d7cfe
Bump version to 4.3.3
2020-11-03 16:06:42 -05:00
Roman Mogylatov
fb2d927cae
Fix wiring for @classmethod and @staticmethod
2020-11-03 15:59:02 -05:00
Roman Mogylatov
b0d3f08aa6
Bump version to 4.3.2
2020-10-30 16:56:13 -04:00
Roman Mogylatov
e4e77d0cdb
Fix wiring decorator
2020-10-30 16:55:37 -04:00
Roman Mogylatov
63977a73b2
Refactor wiring to reduce complexity
2020-10-30 16:47:26 -04:00
Roman Mogylatov
c5f799a1ec
Fix issue with wiring and resource initialization
2020-10-30 16:40:27 -04:00
Roman Mogylatov
f65f8b1af9
Bump version to 4.3.1
2020-10-29 23:00:43 -04:00
Roman Mogylatov
d65b31865b
Bump version to 4.3.0
2020-10-29 22:57:14 -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
21f0658ef3
Bump version to 4.2.0
2020-10-29 15:48:04 -04:00
Roman Mogylatov
e3ccb0e764
Bump version to 4.1.8
2020-10-28 22:30:52 -04:00
Roman Mogylatov
f7499354ec
Bump version to 4.1.7
2020-10-28 21:02:21 -04:00
Roman Mogylatov
5c09be46d2
Bump version to 4.1.6
2020-10-28 14:23:00 -04:00
Roman Mogylatov
871bd617d4
Fix wiring linter errors
2020-10-28 13:50:51 -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
c7d8645044
Bump version to 4.1.5
2020-10-27 17:48:05 -04:00
Roman Mogylatov
279910410e
Bump version to 4.1.4
2020-10-27 14:36:11 -04:00
Roman Mogylatov
969849e4da
Bump version to 4.1.3
2020-10-27 14:05:16 -04:00
Roman Mogylatov
c6e7551e87
Bump version to 4.1.2
2020-10-27 13:28:02 -04:00
Roman Mogylatov
b01ee7709c
Bump version to 4.1.1
2020-10-26 13:39:13 -04:00
Roman Mogylatov
a3c7296879
Bump version to 4.1.0
2020-10-24 20:57:48 -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
Roman Mogylatov
5c1486e1a3
Un deprecate container decorators ( #310 )
...
* Remove deprecation warnings
* Add example and docs
* Update changelog
2020-10-22 12:00:46 -04:00
Roman Mogylatov
c90f6c1b97
Bump version to 4.0.6
2020-10-20 17:50:31 -04:00
Roman Mogylatov
4ddac663d9
Fix wiring for package init ( #308 )
...
* Add test
* Add fix
* Add extra test
* Remove package imports on discovery for Python versions < 3.6
* Move wiring samples to a different directory
2020-10-20 17:48:54 -04:00
Roman Mogylatov
ca54db6d05
Bump version to 4.0.5
2020-10-19 17:35:12 -04:00
Roman Mogylatov
ff4d24706e
Move "provided" attribute ( #306 )
...
* Update typing stub
* Move attribute
* Add typing test
* Update docs
* Add test
* Update changelog
2020-10-19 17:21:38 -04:00
Roman Mogylatov
81c67f8b27
Bump version to 4.0.4
2020-10-18 22:27:53 -04:00
Roman Mogylatov
0ffa1e8392
Fix typing stub for container.override() method
2020-10-18 22:22:11 -04:00
Roman Mogylatov
44e0a03148
Bump version to 4.0.3
2020-10-16 21:44:12 -04:00
Roman Mogylatov
f1867b6bf4
Deprecate declarative container decorators ( #303 )
2020-10-16 21:43:21 -04:00
Roman Mogylatov
619fa1f25c
Bump version to 4.0.2
2020-10-16 16:38:37 -04:00
Roman Mogylatov
56c9023b2d
Fix override and copy decorator stubs ( #302 )
...
* Fix stubs and add tests
* Fix tests
* Fix stubs
2020-10-16 16:36:07 -04:00
Roman Mogylatov
09d1c4ce9f
Bump versionto 4.0.1
2020-10-16 14:10:14 -04:00
Rüdiger Busche
819023e7aa
Make Configuration.from_ methods accept Path ( #300 )
...
Co-authored-by: rbusche <rbusche@inserve.de>
2020-10-16 13:57:28 -04:00
Roman Mogylatov
846deaa4dc
Bump version to 4.0.0
2020-10-09 15:17:23 -04:00
Roman Mogylatov
07d4f7e74f
Develop 4.0 ( #298 )
...
* Add wiring (#294 )
* Add wiring module
* Fix code style
* Fix package test
* Add version fix
* Try spike for 3.6
* Try another fix with metaclass
* Downsample required version to 3.6
* Introduce concept with annotations
* Fix bugs
* Add debug message
* Add extra tests
* Add extra debugging
* Update config resolving
* Remove 3.6 generic meta fix
* Fix Flake8
* Add spike for 3.6
* Add Python 3.6 spike
* Add unwire functionality
* Add support of corouting functions
* Bump version to 4.0
* Updaet demo example
* Add pydocstyle ignore for demo
* Add flake8 ignore for demo
* Update aiohttp example
* Update flask example
* Rename aiohttp example directory
* Rename views module to handlers in aiohttp example
* Add sanic example
* Remove not needed images
* Update demo
* Implement wiring for Provide[foo.provider]
* Implement Provide[foo.provided.bar.baz.call()]
* Make flake8 happy
* Wiring refactoring (#296 )
* Refactor wiring
* Add todos to wiring
* Implement wiring of config invariant
* Implement sub containers wiring + add tests
* Add test for wiring config invariant
* Add container.unwire() typing stub
* Deprecate ext package modules and remove types module
* Deprecate provider.delegate() method
* Add __all__ for wiring module
* Add protection for wiring only declarative container instances
* Bump version to 4.0.0a2
* Add wiring docs
* Add wiring of class methods
* Remove unused import
* Add a note on individuals import to wiring docs
* Add minor improvement to wiring doc
* Update DI in Python page
* Update key features
* Update README concep and FAQ
* Add files via upload
* Update README.rst
* Update README.rst
* Update README.rst
* Update docs index page
* Update README
* Remove API docs for flask and aiohttp ext
* Add wiring API docs
* Update docs index
* Update README
* Update readme and docs index
* Change wording in README
* Django example (#297 )
* Add rough django example
* Remove sqlite db
* Add gitignore
* Fix flake8 and pydocstyle errors
* Add tests
* Refactor settings
* Move web app to to the root of the project
* Add bootstrap 4
* Add doc blocks for web app
* Add coverage
* Fix typo in flask
* Remove not needed newlines
* Add screenshot
* Update django app naming
* Add django example to the docs
* Update changelog
* Update Aiohttp example
* Add sanic example to the docs
* Make a little fix in django example docs page
* Add flask example to the docs
* Add aiohttp example to the docs
* Update installation docs page
* Fix .delegate() deprecation
* Refactor movie lister to use wiring
* Make micro cosmetic changes to flask, aiohttp & sanic examples
* Refactor single container example to use wiring
* Refactor multiple container example to use wiring
* Add return type to main() in application examples
* Refactor decoupled packages example to use wiring
* Refactor code layout for DI demo example
* Update wiring feature message
* Add more links to the examples
* Change code layout in miniapps
* Update sanic example
* Update miniapp READMEs
* Update wiring docs
* Refactor part of cli tutorial
* Refactor CLI app tutorial
* Update test coverage results in movie lister example and tutorial
* Make some minor updates to aiohttp and cli tutorials
* Refactor flask tutorial
* Make cosmetic fix in flask example
* Refactor Flask tutorial: Connect to the GitHub
* Refactor Flask tutorial: Search service
* Refactor Flask tutorial: Inject search service into view
* Refactor Flask tutorial: Make some refactoring
* Finish flask tutorial refactoring
* Update tutorials
* Refactor asyncio monitoring daemon example application
* Fix tutorial links
* Rename asyncio miniapp
* Rename tutorial image dirs
* Rename api docs tol-level page
* Refactor initial sections of asyncio daemon tutorial
* Refactor asyncio tutorial till Example.com monitor section
* Refactor asyncio tutorial example.com monitor section
* Refactor asyncio tutorial httpbin.org monitor tutorial
* Refactor tests section of asyncio daemon tutorial
* Update conclusion of asyncio daemon tutorial
* Rename tutorial images
* Make cosmetic update to flask tutorial
* Refactor aiohttp tutorial: Minimal application section
* Refactor aiohttp tutorial: Giphy API client secion
* Refactor aiohttp tutorial secion: Make the search work
* Refactor aiohttp tutorial tests section
* Refactor aiohttp tutorial conclusion
* Upgrade Cython to 0.29.21
* Update changelog
* Update demo example
* Update wording on index pages
* Update changelog
* Update code layout for main demo
2020-10-09 15:16:27 -04:00
Roman Mogylatov
1f136e427d
Bump version to 3.44.0
2020-09-13 20:51:10 -04:00
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
Roman Mogylatov
4d9d12a2ed
Bump version to 3.15.0
2020-01-26 18:55:33 -05:00
Roman Mogylatov
b876d001df
Regenerate C sources using Cython 0.29.14
2020-01-26 14:27:23 -05:00
Roman Mogylatov
d58a10a2c5
Bump version to 3.14.12
2019-10-09 10:46:08 -04:00
Roman Mogylatov
08de710b2f
235 Fix Delegate cannot be used in overridden container ( #236 )
...
* Add test for bug #235
* Fix issue + refactoring
* Update changelog
2019-10-09 10:45:14 -04:00
Roman Mogylatov
fb264a8379
Bump version to 3.14.11
2019-10-08 14:46:26 -04:00
Roman Mogylatov
7e61412b8a
231 Fix object provider copies provided object issue ( #233 )
...
* Add test that reproduces the issue
* Fix the issue
* Add a note about fix in changelog
2019-10-08 14:45:12 -04:00
Roman Mogylatov
e48af3212e
Make 3.14.10 micro release
2019-08-17 21:24:26 -04:00
Roman Mogylatov
642fd7397e
Bump version to 3.14.9
2019-08-17 21:08:42 -04:00
Roman Mogylatov
0ac1a10336
Regenerate C sources using Cython 0.29.13 ( #226 )
2019-07-29 15:24:00 -04:00
Roman Mogylatov
ecae4c2296
Bump version to 3.14.7
2019-06-07 10:03:11 -04:00
Roman Mogylatov
3ced0ed37a
Bump version to 3.14.6
2019-05-09 14:58:54 -04:00
Roman Mogylatov
215b45b442
FactoryAggregate copying issue fix ( #220 )
...
* Add test
* Implement deepcopy handler for FactoryAggregate provider
* Add more granularity for the test
* Update changelog
* Refactor test
2019-05-09 14:58:04 -04:00
Roman Mogylatov
cae4d8cdf2
Update Cython to 0.29.7 ( #219 )
2019-05-09 14:35:27 -04:00
Roman Mogylatov
b2a3404007
Bump version to 3.14.5
2019-03-21 22:22:57 -04:00
Roman Mogylatov
efdae17b57
Regenerate C sources using Cython 0.29.6
2019-03-21 22:22:09 -04:00
Jeroen Rietveld
72d5741ece
Bugfix thread local singleton reset ( #218 )
...
* Fix issue causing ThreadLocalSingleton provider to return None after reset
* Add test for ThreadLocalSingleton provider reset functionality
2019-03-21 22:04:20 -04:00
Roman Mogylatov
69602dc3de
Bump version to 3.14.4
2019-01-05 21:38:07 -05:00
Roman Mogylatov
5d94fa96b3
Bump version to 3.14.3
2018-12-22 21:02:00 +02:00
Roman Mogylatov
7c47c67808
Update Cython to 0.29.2 ( #213 )
...
* Update Cython to 0.29.2
* Regenerate C sources
* Update changelog
2018-12-22 21:00:30 +02:00
Roman Mogylatov
f4f773be5a
Copying providers with sys stream injections ( #211 )
...
* Add fix + tests
* Update changelog
2018-12-22 20:37:53 +02:00
Roman Mogylatov
dc85b2e981
Set Cython language_level=2
2018-11-08 23:12:50 +02:00
Roman Mogylatov
1f2c626b03
Bump version to 3.14.1
2018-11-08 22:59:21 +02:00
Roman Mogylatov
ce3ea6c9c1
Upgrade to Cython 0.29
2018-11-08 22:58:17 +02:00
Roman Mogylatov
b1e166dcd5
Fix issue #208
2018-11-08 22:49:41 +02:00
Roman Mogylatov
84e2fd717f
Bump version to 3.14.0
2018-10-19 13:00:55 +03:00
Roman Mogylatov
ea0f9d8306
Update doc blocks with *args and **kwargs
2018-10-19 12:56:41 +03:00
Roman Mogylatov
9a785de4b5
Coroutine provider ( #206 )
...
* Add coroutine provider examples
* Add coroutine provier
* Update changelog
* Update static analysis travis jobs to python 3.7
* Update coroutine provider implementation for python 3.4
* Update static analysis travis jobs to python 3.6
* Make pycode style happy
* Add tests for coroutine providers
* Make coroutine tests python 2 syntax friendly
* Split tests to python2 and python3
* Refactor coroutine provider tests
* Modify pypy tests running command
* Update coroutine provider docs
2018-10-18 19:39:19 +03:00
Roman Mogylatov
ac0e5eb26a
Regenerate C sources using Cython 0.28.5
2018-10-15 07:46:27 +03:00
Roman Mogylatov
b3a6aeae41
Bump version to 3.13.2
2018-09-02 21:01:19 +03:00
Roman Mogylatov
883fc951a3
Bump version to 3.13.1
2018-08-17 00:27:49 +03:00
Roman Mogylatov
bd43d62f98
Bump version to 3.13.0
2018-08-17 00:18:35 +03:00
Roman Mogylatov
7aa07449b2
Bump version to 3.12.5
2018-08-16 23:53:22 +03:00
Roman Mogylatov
49d74cb66a
Bump version to 3.12.4
2018-07-26 10:23:16 +03:00
Roman Mogylatov
18393eb9ed
Apply refactoring #199
2018-07-26 10:22:43 +03:00
Roman Mogylatov
461c546d31
Fix bug #200
2018-07-26 10:16:02 +03:00
Roman Mogylatov
cc35e1fdb2
Regenerate C sources using Cython 0.28.4
2018-07-24 23:21:59 +03:00
Roman Mogylatov
f77e91cdac
Bump version to 3.12.3
2018-07-24 23:14:08 +03:00
Roman Mogylatov
48ac3824cb
Fix bug #198
2018-07-24 23:09:56 +03:00
Roman Mogylatov
d47f47ea14
Bump version to 3.12.2
2018-07-03 19:31:51 +03:00
Roman Mogylatov
1eabebd0b8
Bump version to 3.12.1
2018-07-02 16:47:46 +03:00
Roman Mogylatov
4d3573dd6f
Regenerate C sources using Cython 0.28.3
2018-06-22 10:39:56 +03:00
Roman Mogylatov
cdc3a7b51d
Bump version to 3.12.0
2018-04-23 19:41:53 +03:00
Roman Mogylatov
78c5ad8531
Regenerate C sources using Cython 0.28.2
2018-04-22 14:02:44 +03:00
Roman Mogylatov
50fc01eeee
Prepare release 3.11.3
2018-02-22 15:32:14 +02:00
Roman Mogylatov
403e406d4a
Bump version to 3.11.2
2018-02-22 11:41:42 +02:00
Roman Mogylatov
de7b38626b
Release/3.11.1 -> Develop ( #181 )
...
* Specify sphix version
* Fix small typo in documentation (#180 )
* Bump version to 3.11.1
* Complement the list of contributors
2018-01-26 19:34:38 +02:00
Roman Mogylatov
39b62e37d5
Improve DependenciesContainer overriding logic
2018-01-24 20:11:36 +02:00
Roman Mogylatov
e877b33fd1
Refactor configuration provider
2018-01-24 19:59:48 +02:00
Roman Mogylatov
86a8efa294
Bump version to 3.11
2018-01-24 19:59:31 +02:00
Roman Mogylatov
c50322db02
178 dependencies container provider ( #179 )
...
* Add DependenciesContainer provider
* Remove bundles_v2 example
* Add use cases example
* Update changelog
* Update documentation requirements to use fixed version of sphinxcontrib-disqus
* Add use cases miniapp to docs
* Update changelog
2018-01-21 23:55:32 +02:00
Roman Mogylatov
af28cb60c2
Bump version to 3.10
2018-01-19 19:21:23 +02:00
Roman Mogylatov
bb155bb74b
Increase version to 3.9.1
2017-12-25 20:39:56 +02:00
Roman Mogylatov
b76738798d
Increase version to 3.9.0
2017-12-25 17:42:01 +02:00
Roman Mogylatov
f1997ee822
Regenerate C sources using Cython 0.27.3
2017-12-25 17:27:19 +02:00
Roman Mogylatov
4a24549923
Fix bug when copying Configuration provider
2017-12-25 16:43:45 +02:00
Roman Mogylatov
1c6160e827
Feature/declarative container initialization ( #176 )
...
* Add overriding functionality on declarative container initialization
* Update changelog
* Update bundles example
2017-12-24 23:03:13 +02:00
Roman Mogylatov
a67e4ebd44
Rename provider ExternalDependency -> Dependency
2017-12-21 22:47:31 +02:00
Roman Mogylatov
e4275c0f85
Increase version to 3.8.2
2017-11-30 11:49:13 +02:00
Roman Mogylatov
d9082f185a
Increase version to 3.8.1
2017-11-30 11:30:41 +02:00
Roman Mogylatov
83a792bfe0
Update version to 3.8.0
2017-11-21 11:48:15 +02:00
Roman Mogylatov
7bd0997f85
Add parsing of nested containers to declarative container
2017-11-21 11:47:55 +02:00
Roman Mogylatov
236fe316e3
Fix bug related to double-overridden providers
2017-11-21 11:44:33 +02:00
Roman Mogylatov
ea111c452b
Increase version to 3.7.1
2017-10-30 16:52:05 +02:00
Roman Mogylatov
8431ebacc0
Bump version to 3.7.0
2017-10-13 10:28:07 -07:00
Roman Mogylatov
a22373a68d
Add .provider attribute
2017-10-13 10:28:07 -07:00
Roman Mogylatov
4e100b36ef
Update Cython to 0.27.1
2017-10-13 10:28:06 -07:00
Roman Mogylatov
bbc909f2fa
Add FactoryAggregate provider implementation
2017-10-13 10:27:08 -07:00
Roman Mogylatov
b1ef79f6b3
Resolve merge conflict
2017-10-13 10:27:07 -07:00
Roman Mogylatov
4cbe918bcc
Regenerate C sources using Cython 0.27
2017-10-13 10:27:07 -07:00
Roman Mogylatov
b65d3bac98
Add early implementation of FactoryAggregate provider
2017-10-13 10:27:06 -07:00
Roman Mogylatov
e3727fca11
Revert "Add six 1.11.0 to the list of compatible dependencies"
2017-10-10 15:36:55 -07:00
Roman Mogylatov
c2e30f4940
Recompile sources using Cython 0.27 (Cython->C)
2017-10-10 14:57:08 -07:00
Roman Mogylatov
d4b84fdb5d
Increase version to 3.6.1
2017-08-08 19:08:53 +03:00
Roman Mogilatov
08e17ac1f8
Regenerate sources using Cython 0.26
...
Author: Roman Mogilatov <rmogilatov@gmail.com>
2017-08-08 19:01:48 +03:00
Roman Mogilatov
0b286bfd69
Bump version to 3.6.0
2017-07-09 23:41:32 +03:00
Roman Mogilatov
76fb03a2a6
Update FactoryDelegate doc block
2017-07-09 23:38:01 +03:00
Roman Mogilatov
de12aee362
Update CallableDelegate doc block
2017-07-09 23:36:04 +03:00
Roman Mogilatov
8705e47d37
Add SingletonDelegate provider + tests
2017-07-09 23:34:14 +03:00
Roman Mogilatov
3f197e3744
Add CallableDelegate provider + tests
2017-07-09 23:29:33 +03:00
Roman Mogilatov
89c1c975e6
Add FactoryDelegate provider + tests
2017-07-09 23:17:12 +03:00
Roman Mogilatov
fcb7cf8e3b
Update version
2017-07-07 17:54:00 +03:00
Roman Mogilatov
d4f4c47242
Add default value setting for Configuration provider
2017-07-07 17:53:36 +03:00
Roman Mogilatov
2712d693a0
Bump version to 3.4.8
2017-06-09 01:46:06 +03:00
Roman Mogilatov
007c256c5f
Make code style fixes in providers module
2017-06-09 01:41:22 +03:00
Roman Mogilatov
bc398cef53
Increase version to 3.4.7
2017-05-29 10:41:31 +03:00
Roman Mogilatov
4cd8ef3b3f
Increase version to 3.4.6
2017-05-29 10:19:43 +03:00
Roman Mogilatov
50b38fd905
Increase version to 3.4.5
2017-05-17 10:58:53 +03:00
Roman Mogilatov
a8ef1ddac9
Increase version to 3.4.4
2017-05-08 18:55:45 +03:00
Roman Mogilatov
e8bd524b6d
Add Provider.last_overriding read-only property
2017-05-08 17:07:22 +03:00
Roman Mogilatov
0766df39d7
Update version to 3.4.3
2017-04-19 00:00:29 +03:00
Roman Mogilatov
9c589df6ab
Update version to 3.4.2
2017-04-18 23:42:48 +03:00
Roman Mogilatov
2a9b14cb0e
Make Provider overriding methods thread safe
2017-04-18 23:30:29 +03:00
Roman Mogilatov
9ed806b0ca
Refactor storage locking of ThreadSafeSingleton
2017-04-18 23:11:03 +03:00
Roman Mogilatov
870809c836
Increase version to 3.4.1
2017-04-07 09:19:48 +03:00
Roman Mogilatov
2aa85228d7
Add abstract providers
2017-04-06 18:17:06 +03:00
Roman Mogilatov
1dacd096f6
Optimize calling of overridden providers
2017-04-06 12:34:04 +03:00
Roman Mogilatov
902cec5364
Increase version to 3.4.0
2017-04-06 12:33:19 +03:00
Roman Mogilatov
3a0e803e3c
Increase version to 3.3.7
2017-03-29 01:34:08 +03:00
Roman Mogilatov
bd62c79702
Fix minor bug in Configuration provider
2017-03-29 01:33:37 +03:00