Commit Graph

77 Commits

Author SHA1 Message Date
Roman Mogylatov
a631ca213f Merge branch 'develop' of github.com:ets-labs/python-dependency-injector into python-3.10 2021-10-18 16:28:09 -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
762d690720 Add GA test and linter jobs 2021-10-06 21:41:34 -04:00
Roman Mogylatov
08ea99759d Update versions 2021-09-30 20:36:42 -04:00
Roman Mogylatov
0b5987bf84 Bump version to 4.36.2 2021-09-28 14:59:11 -04:00
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
c3a04cc340 Add Python 3.9 classifier 2020-10-29 15:44:14 -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
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
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
93adbe5207 Bump version to 3.23.0 2020-07-20 17:02:32 -04:00
Roman Mogylatov
24addb65eb Fix README 2020-07-11 13:18:52 -04:00
Roman Mogylatov
4f753c8fd3 Bump version to 3.20.1 2020-07-11 12:42:55 -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
0dad8727cf Fix setup.py 2020-06-24 21:01:33 -04:00
Roman Mogylatov
52c98bbe49 Comment yaml-related code 2020-06-24 17:16:46 -04:00
Roman Mogylatov
a76744805a Add Configuration.from_yaml method 2020-06-24 16:29:44 -04: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
7daf23eb2b Add python 3.7 to the list of classifiers 2018-08-17 00:17:47 +03:00
Roman Mogylatov
4cdc5bce56 Drop python 2.6 and 3.3 support 2018-08-17 00:06:20 +03:00
Roman Mogylatov
181a21cb26 Add explicit declaration of CYTHON_CLINE_IN_TRACEBACK macro 2017-08-08 19:27:33 +03:00
Roman Mogilatov
622a6d08e5 Consolidate all containers in container module 2017-03-26 16:40:41 +03:00
Roman Mogilatov
5b3dbae572 Consolidate providers into single cython module 2017-03-25 22:38:48 +02:00
Roman Mogilatov
b05b673108 Add some improvements to the documentation 2017-02-01 13:07:44 +02:00
Roman Mogilatov
79d1d76817 Increase version to 3.3.0 2017-01-30 00:12:08 +02:00
Roman Mogilatov
b8ab88dcd5 Change name of version variable to make it follow PEP8 2016-12-04 13:16:48 +02:00
Roman Mogilatov
3f8e53aa9c Add configuration provider 2016-12-02 13:53:37 +02:00
Roman Mogilatov
98ee1882cd Increase version to 3.0.1 2016-11-11 18:36:35 +02:00
Roman Mogilatov
7b61464c93 Make providers stable 2016-11-08 13:13:43 +02:00
Roman Mogilatov
38bdc4f04f Update providers package structure 2016-11-04 18:35:53 +02:00
Roman Mogilatov
f5680ff032 Update project structure 2016-11-04 15:48:26 +02:00
Roman Mogilatov
5695c781c9 Update project structure 2016-11-04 13:06:47 +02:00
Roman Mogilatov
7bcb882425 Transfer utils module to Cython 2016-11-04 11:12:37 +02:00
Roman Mogilatov
74aea6f1dc Transfer errors module to Cython 2016-11-04 10:50:05 +02:00
Roman Mogilatov
82bd1ae843 Clean up 2016-11-03 00:56:30 +02:00
Roman Mogilatov
4823278f11 Tune debug mode 2016-11-03 00:06:14 +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
b72488154a Attempt x 2016-11-02 19:28:11 +02:00
Roman Mogilatov
3bd19a168a Tune building in debug mode 2016-11-02 18:11:50 +02:00
Roman Mogilatov
b413826299 Add injections extension to setup script 2016-10-31 11:31:56 +02:00
Roman Mogilatov
741af3e67e Add makefile with publish command 2016-10-30 14:41:33 +02:00
Roman Mogilatov
e22dd14596 Update project title and description 2016-10-12 10:41:50 +03:00
Konstantin Enchant
a6b7a75136 Normalize package names by PEP-503 (https://www.python.org/dev/peps/pep-0503/) 2016-09-06 13:18:43 +03:00
Roman Mogilatov
3416728309 Add dynamic containers
+ Drop catalogs
2016-06-01 18:53:35 +03:00
Roman Mogilatov
6f0bd441fe Update repositary url 2016-04-25 11:07:47 +03:00
Roman Mogilatov
136b562a81 Split `catalogs` module into smaller modules 2016-04-03 23:47:34 +03:00
Roman Mogilatov
040d44d55b Split `providers` module into smaller modules 2016-04-03 22:54:08 +03:00
Roman Mogilatov
53f156cb49 Update package information 2016-03-17 02:02:17 +02:00
Roman Mogilatov
b5e07c42e6 Update README, docs and setup.py with new description 2016-02-04 22:54:01 +02:00