Commit Graph

58 Commits

Author SHA1 Message Date
Roman Mogylatov
15fa6c301e
Pydantic settings support (#388)
* Add implementation and basic test

* Add full test coverage + bugfix

* Add test coverage for .from_yaml() method

* Update setup.py, tox and dev requirements

* Stop running pydantic tests on Python 3.5 and below

* Remove pydantic from tox Python < 3.6

* Add example and docs

* Update features block

* Add extra test

* Update changelog
2021-02-03 09:21:32 -05:00
Roman Mogylatov
717f7a0497
Travis CI -> GitHub Actions (#377)
* Add tests config

* Try run tests on multiple versions

* Add jobs for Python 3.5, 3.6, 3.7

* Add Python 3.4

* Add Python 2.7 job

* Add PyPy and PyPy3 jobs

* Add tests coverage job

* Try to add manual trigger for tests

* Fix coveralls token passing

* Change coverage job name

* Update env sections

* Update run and env sections

* Add COVERALLS_GIT_BRANCH

* Try set branch name

* Set branch name and token

* Update tox.ini to pass env variables

* Update tox.ini

* Re-arrange run actions

* Refactor tests workflow

* Add linters workflow

* Move linters to tests workflow

* Move branch name

* Create common linters job

* Rename tests and linters workflow

* Add pull_request event for tests and linters jobs

* Add publishing workflow

* Try quote asteriks

* Update publishing workflow to publish to test server

* Change publishing workflow name

* Add linux x64 wheels publishing job

* Bump version

* Add publishing wheels on mac and windows

* Fix windows builds

* Refactor to two stages build

* Rename build wheels job

* Add experimental aarch64 builds

* Rename custom archs job

* Add tests & linters to publishing job

* Bump version

* Add docs publishing

* Rename aarch64 job

* Rename aarch64 job

* Revert version change

* Update coveralls job

* Experiment with coveralls

* Experiment with branch name

* Update tox.ini to pass github token

* Update tox.ini to pass all GH vars

* Remove coveralls branch

* Remove travis ci config
2021-01-26 21:11:27 -05:00
Roman Mogylatov
0ab0239d47 Switch Coveralls reporting Travis Job to run on Python 3.9. 2021-01-18 20:56:55 -05:00
Roman Mogylatov
0b7cf3254e Fix test dependencies 2020-12-05 21:49:54 -05:00
Roman Mogylatov
ec49d56751 Add tests for FastAPI wiring 2020-12-05 21:36:30 -05: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
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
ed2fc618f1 Fix coverage 2020-07-28 19:25: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
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
e5275cf3f2 Skip yaml testing for on Python 3.4 2020-06-24 21:23:29 -04:00
Roman Mogylatov
c8b0fa22af Add yaml extras install to tox.ini 2020-06-24 21:07:57 -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
f7871dfc49 Update extras in tox.ini 2020-06-24 16:46:48 -04:00
Roman Mogylatov
a76744805a Add Configuration.from_yaml method 2020-06-24 16:29:44 -04:00
Roman Mogylatov
06ff4bbbe4 Clean up tox.ini file 2020-01-26 15:15:50 -05:00
Roman Mogylatov
953f93631b
Python 3.8 support (#241)
* Add Python 3.8 test environment

* Add Python 3.8 classifier

* Update max compatible version of six to 1.13.0

* Update max compatible version of six to 1.14.0

* Add record to the changelog
2020-01-26 15:00:21 -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 Mogilatov
dafd416b95 Set python 2.7 for coveralls 2017-01-30 00:08:06 +02:00
Roman Mogilatov
1edce9a59d Add python 3.6 and pypy3 to the list of test envs 2017-01-29 23:43:10 +02:00
Roman Mogilatov
82bd1ae843 Clean up 2016-11-03 00:56:30 +02:00
Roman Mogilatov
aac72ed3a3 Clean up and final fixes 2016-11-02 23:55:14 +02:00
Roman Mogilatov
e3408075de Update repository structure 2016-11-02 22:58:30 +02:00
Roman Mogilatov
8f39ed4957 Update tox.ini 2016-11-02 20:19:04 +02:00
Roman Mogilatov
a7c0a76d14 Update tox ini 2016-11-02 20:12:41 +02:00
Roman Mogilatov
0f1497b282 Add debug to tox 2016-11-02 19:59:27 +02:00
Roman Mogilatov
1a9dd6cca7 One more attempt... 2016-11-02 19:16:55 +02:00
Roman Mogilatov
15d156cdaf Remove debug output from tox 2016-11-02 19:06:12 +02:00
Roman Mogilatov
fe36a1220e Try basepython=python 2016-11-02 18:39:57 +02:00
Roman Mogilatov
3bd19a168a Tune building in debug mode 2016-11-02 18:11:50 +02:00
Roman Mogilatov
c93d1fb8a6 Set python 3.5 for coveralls job 2016-11-02 11:38:07 +02:00
Roman Mogilatov
e5498f214b Add creation of debug builds 2016-11-01 10:49:44 +02:00
Roman Mogilatov
78f68468ce Remove dev environment from tox 2016-10-31 00:00:54 +02:00
Roman Mogilatov
71b820487e Replace pep257 with pydocstyle 2016-02-28 16:01:20 +02:00
Roman Mogilatov
0e5ec6956e Optimize provider calls 2016-02-08 00:29:41 +02:00
Roman Mogilatov
449a67eede 1.14.0 Drop support of Python 3.2 2016-01-25 15:07:11 +02:00
Roman Mogilatov
4237184767 Add py35 to TOXENVs 2015-10-12 18:13:54 +03:00
Roman Mogilatov
60f48ab3d9 Add tox commands for running tests on py35 2015-10-12 16:51:14 +03:00
Roman Mogilatov
8ab0cc5e0e Fix PEP257 D211 error 2015-10-11 23:41:55 +03:00
Roman Mogilatov
fd5aa5cb5a Revert "Add tests run on Python 3.5"
This reverts commit d8b4be55a6.
2015-09-21 17:57:14 +03:00
Roman Mogilatov
d8b4be55a6 Add tests run on Python 3.5 2015-09-21 17:50:09 +03:00
Roman Mogilatov
6d0f892f8a Rename Objects to Dependency Injector 2015-08-31 16:31:38 +03:00
Roman Mogilatov
6b482d87e0 Removing coveralls key from tox job 2015-07-21 09:48:50 +03:00
Roman Mogilatov
27441353d9 Updating coveralls job 2015-07-21 09:42:21 +03:00
Roman Mogilatov
acc9259ddd Removing delegate option from injections 2015-07-11 23:34:23 +03:00
Roman Mogilatov
8d896e7272 Run tests on pypy and pypy3 2015-03-26 16:56:49 +02:00
Roman Mogilatov
233dedbcff Adding py 33, 34 to tox and travis 2015-03-26 01:15:41 +02:00
Roman Mogilatov
1231a9b30f Add tox py32 env 2015-03-26 00:24:08 +02:00
Roman Mogilatov
0726a7c253 Setting of exact python versions for tox environments, remove travis python environments 2015-03-18 19:05:31 +02:00