Commit Graph

381 Commits

Author SHA1 Message Date
Roman Mogylatov
139e67dd95 Delete api client example mini app 2020-09-07 22:02:33 -04:00
Roman Mogylatov
e1844a3040 Refactor factory of factories pattern example 2020-09-07 21:57:43 -04:00
Roman Mogylatov
8284d1f169 Refactor chained factories pattern example 2020-09-07 21:45:03 -04:00
Roman Mogylatov
36ece67586 Add docs for the use cases example 2020-09-07 12:31:59 -04:00
Roman Mogylatov
af51937004 Refactor main module 2020-09-07 12:03:49 -04:00
Roman Mogylatov
5306b27c48 Refactor password hashing example 2020-09-07 11:51:17 -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
bf978601ba
Refactor services miniapps (#291)
* Refactor services mini app with single container

* Make few little fixes to single container app

* Update requirements.txt for single container example

* Refactor multiple containers example

* Add single container docs page

* Create multiple containers page
2020-09-04 23:19:32 -04:00
Roman Mogylatov
0a10f32233 Remove old di demo 2020-09-03 23:21:09 -04:00
Roman Mogylatov
b5b6c1f680 Fix flake8 warning in factory provided type example 2020-09-03 18:05:28 -04:00
Roman Mogylatov
441cc66427 Improve singleton provider docs 2020-09-03 17:57:26 -04:00
Roman Mogylatov
ad260fe709 Add container usage to the custom provider example 2020-09-03 17:56:54 -04:00
Roman Mogylatov
d6e4e8fb08 Add container usage to provided instance examples 2020-09-03 17:48:45 -04:00
Roman Mogylatov
4f111aae9b Update provider overriding example to use container and fix bug 2020-09-03 17:42:15 -04:00
Roman Mogylatov
d61281a0b9 Add usage of the container to the selector example 2020-09-03 17:38:52 -04:00
Roman Mogylatov
e48746d65f Add usage of the container to the configuration examples 2020-09-03 17:37:03 -04:00
Roman Mogylatov
2a23f3d2f4 Add container usage for list provider example 2020-09-03 17:03:28 -04:00
Roman Mogylatov
6528411271 Add container usage for object provider example 2020-09-03 17:00:14 -04:00
Roman Mogylatov
b074d2aeb7 Add container usage for coroutine provider example 2020-09-03 16:59:11 -04:00
Roman Mogylatov
a497cb2527 Add container usage for callable provider example 2020-09-03 16:57:35 -04:00
Roman Mogylatov
1eb9020a4e Add container usage for all singleton provider examples 2020-09-03 16:56:01 -04:00
Roman Mogylatov
a7afa66e40 Add container usage for all factory provider examples 2020-09-03 16:51:12 -04:00
Roman Mogylatov
dd2ded7321 Update documentation and example on creating a custom provider 2020-09-02 21:09:08 -04:00
Roman Mogylatov
aeace8cba5 Update documentation on injecting provided object attributes, items or method calls 2020-09-02 17:59:31 -04:00
Roman Mogylatov
f8648adaf7 Update providers overriding documentation and rework examples 2020-09-02 16:59:25 -04:00
Roman Mogylatov
806bd31735 Bump version to 3.35.1 2020-09-01 21:58:13 -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
0bb30f91ef
Singleton docs update (#288)
* Update docblocks of factory provider examples

* Edit singleton docs
2020-09-01 16:04:48 -04:00
Roman Mogylatov
1ad852d193
Factory provider docs update (#287)
* Update index page

* Update providers index page

* Make a little wording fix on containers index page

* Refactor factory provider docs header

* Update factory injection docs

* Update factory init injections example and picture

* Start work on underlying providers

* Finish the docs for factory arguments to the underlying providers

* Edit providers delegation section

* Edit section about specialized factory provider

* Edit abstract factory section

* Edit FactoryAggregate docs

* Add meta keywords and description
2020-08-31 21:26:21 -04:00
Roman Mogylatov
9d85b63c3b Make a fix in the providers delegation example 2020-08-26 16:22:54 -04:00
Roman Mogylatov
6c7c9eaa47 Update example 2020-08-25 10:27:11 -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
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
d2828519b4 Update container overriding docs 2020-08-16 01:10:08 -04:00
Roman Mogylatov
75c65f334e Update container provider type specialization docs 2020-08-16 00:53:37 -04:00
Roman Mogylatov
cfdcbaa77a Improve declarative and dynamic container docs 2020-08-15 22:09:41 -04:00
Roman Mogylatov
e0fa746d7f Update DI Demo 2 2020-08-15 11:01:58 -04:00
Roman Mogylatov
e479e2cb94 Update the declarative container docs 2020-08-14 16:27:17 -04:00
Roman Mogylatov
925801c73f Add overriding demo to the README 2020-08-14 15:49:31 -04:00
Roman Mogylatov
684745a6b4 Add providers overriding to demo 2 2020-08-14 15:31:33 -04:00
Roman Mogylatov
f67dab1f03 Bump version to 3.30.1 2020-08-13 21:53:13 -04:00
Roman Mogylatov
5358dd85f1
Movie lister example rework (#280)
* Rework movie lister example app

* Code style fix

* Doc block fix

* Update the container

* Make second round of the refactoring

* Rename name to title

* Remove old movie lister docs from the examples

* Add fixtures generator output on success

* Update docblock in the entities module

* Update example readme

* Add CLI app tutorial

* Update some wording in the other tutorials

* Spread link to the tutorial

* Fix code indentation issue
2020-08-12 17:04:46 -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
0cb45bbc1c Update the docblock of the example 2020-08-06 16:45:00 -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
2fc3606671
Asyncio daemon example (#276)
* Add prototype

* Update .pydocstylerc

* Add tests

* Remove one of the tests

* Fix typo in the giphynav-aiohttp

* Add README

* Fix flake8
2020-08-05 22:11:26 -04:00
Roman Mogylatov
a202335519 Update giphynav-aiohttp to remove doubled "if not query" 2020-08-03 18:07:04 -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
45e6b943f6 Fix typos in aiohttp tutorial 2020-07-30 13:52:42 -04:00
Roman Mogylatov
d2f4585a8b
Aiohttp tutorial (#273)
* Make a code style change to the giphynav-aiohttp app

* Make minimal punctuation changes for the flask tutorial

* Add parts of http tutorial

* Fix few issues in the flask tutorial

* Make some cosmetic changes to test data

* Fix typo in flask tutorial

* Add more tutorial sections
2020-07-29 22:17:56 -04:00
Roman Mogylatov
97577d84e4
Revert "Aiohttp tutorial (#271)" (#272)
This reverts commit adcea61657.
2020-07-29 22:16:40 -04:00
Roman Mogylatov
adcea61657
Aiohttp tutorial (#271)
* Make a code style change to the giphynav-aiohttp app

* Make minimal punctuation changes for the flask tutorial

* Add parts of http tutorial

* Fix few issues in the flask tutorial

* Make some cosmetic changes to test data

* Fix typo in flask tutorial
2020-07-29 22:16:02 -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
1674cecc8d
Flask tutorial (#265)
* Add a piece of the tutorial

* Add "Make it pretty" tutorial step

* Add section about github client setup

* Make minor fixes

* Add search service section + table of contents

* Make various fixes

* Make more fixes

* Update make the search section

* Update ghnav-flask example & README

* Update base.html markup

* Finish section: Make the search work

* Update ghnav-flask screenshot

* Update tutorials

* Add flaks tutorial link to the DI in Python page
2020-07-20 16:58:18 -04:00
Roman Mogylatov
6eff213a68
Migrate to alabaster (#264)
* Add bootstrap and remove created at from ghnav-flask app

* Update readme

* Add logo to the docs

* Update key features description

* Update README

* Change headers of API docs

* Add alabaster theme config

* Update docs index

* Add tutorials section

* Update what is DI page

* Update DI in Python page

* Update tutorials index page

* Update provider docs

* Update container docs

* Update examples docs
2020-07-18 00:40:14 -04:00
Roman Mogylatov
5ada7f24dd Bump version to 3.21.1 2020-07-13 23:09:42 -04:00
Roman Mogylatov
72147b664e Re-design Flask integration 2020-07-13 22:45:15 -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
a0a3da8f72 Improve List and Configuration provider docs 2020-06-29 16:32:48 -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
62e1995a7d Add configuration provider docs 2020-06-25 17:12:16 -04:00
RobinsonMa
c136663071
Update singleton_thread_locals.py (#252)
* Update singleton_thread_locals.py

fix

* Update singleton_thread_locals.py

* Update singleton_thread_locals.py
2020-06-16 21:53:00 -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
c20202a23d Refactor passlib password hasing example 2020-01-26 18:55:04 -05:00
Roman Mogylatov
cf44e5815d Refactor example modules in Python3-ish way 2020-01-26 18:41:36 -05:00
Roman Mogylatov
23642e49f4 Fix PEP257 doc block errors in example modules. 2020-01-26 14:22:43 -05: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
50af2508e8 Add factory patterns 2018-08-16 23:52:29 +03:00
Roman Mogylatov
b243afa748 Apply code style fixes for services_v2 example miniapp 2018-07-03 12:39:43 +03:00
Roman Mogylatov
f1c1a4ed0c Change code layout of services_v2 miniapp 2018-07-02 16:43:23 +03:00
Roman Mogylatov
a8dd335d71 Add example of callable delegation 2018-06-27 19:53:06 +03:00
Roman Mogylatov
96b44004b1 Refactor example miniapps - services_v1, services_v2 2018-06-27 19:12:57 +03:00
Roman Mogylatov
431dee80d8 Add ioc_container example 2018-06-22 09:52:58 +03:00
Roman Mogylatov
d5bd3bdfce Update services example 2018-01-25 01:06:28 +02:00
Roman Mogylatov
4b863a659e Update bundles example after configuration provider refactoring 2018-01-24 19:59:48 +02:00
Roman Mogylatov
4a37433c43 Add minor fixes to movie lister miniapp 2018-01-21 23:58:34 +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
d5ac1474d4 Add bundles example miniapp 2017-12-25 16:55:59 +02:00
Roman Mogylatov
bb390f51f0 Add doc blocks for bundles example miniapp 2017-12-25 14:38:53 +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
1115e783e0 Update bundles example with Dependency provider 2017-12-21 22:58:13 +02:00
Roman Mogylatov
c5d8032e95 Update docs & examples 2017-12-21 22:54:44 +02:00
Roman Mogylatov
81718c5b6a Rename bundles example 2017-12-21 22:06:00 +02:00
Roman Mogylatov
6a64b6e297 Add container dependencies concept 2017-12-20 12:25:46 +02:00
Roman Mogylatov
be65996e57 Add .provider attribute 2017-10-13 10:15:21 -07:00
Roman Mogylatov
3364d6f1b9 Add documentation for FactoryAggregate provider 2017-10-12 21:55:29 -07:00
Roman Mogylatov
c1053cbd73 Add early implementation of FactoryAggregate provider 2017-10-11 10:13:31 -07:00
Roman Mogylatov
eb52ccb3c0 Add example & prototype of factory aggregate 2017-10-11 10:11:07 -07:00
Roman Mogilatov
464c4f724f Add mail_service example 2017-07-10 23:33:01 +03:00
Roman Mogilatov
fee8530b1e Update movie lister example miniapp 2017-05-08 18:55:14 +03:00
Roman Mogilatov
d8d910d342 Update example of writing custom providers 2017-05-08 17:36:17 +03:00
Roman Mogilatov
d3d170620a Fix few pydocstyle errors in examples 2017-04-18 23:38:04 +03:00
Roman Mogilatov
870809c836 Increase version to 3.4.1 2017-04-07 09:19:48 +03:00
Roman Mogilatov
f4992d842e Add example for abstract factory provider 2017-04-06 19:18:46 +03:00
Roman Mogilatov
ca9c13543d Update services miniapp example 2017-03-15 17:26:59 +02:00
Roman Mogilatov
a2843a974a Update readme and services miniapp example 2016-12-02 21:01:23 +02:00
Roman Mogilatov
7ab471fe49 Update services miniapp with configuration provider 2016-12-02 20:43:39 +02:00
Roman Mogilatov
b0d507b8bf Release 3.1.3 2016-11-15 14:32:23 +02:00