Commit Graph

81 Commits

Author SHA1 Message Date
Roman Mogylatov a5166bf591
Add Python 3.12 Support (#752) (#765)
* Add Python 3.12 Support (#752)

* Ignore .vscode

* Python 3.12 Support

* Change base python to 3.12 and pin pydantic to V1

* all tests passed

* ci: change default python to 3.12

* remove legacy python versions

* annotate pydantic models for tests

* Update publishing pipeline to use Python 3.12

* Test environment updates

* Update Cython to the latest prior 3.0 version and remove tracing from CI/CD

* Give up using editable tox installation in the coverage job

* Add mypy test fixes

* Remove tracing from the coverage job

* Fix typing test

* Remove PyPy 2.7

* Fix typing test

* Fix the typing issue with pydantic

* Remove pypy 3.9

* Fix the typing issue with mypy

* Update pydantic version to the latest from 1.x

* Update scipy deprecation warning filter

* Fix the tox job running coveralls

* Update changelog

---------

Co-authored-by: Anton Petrov <anton.a.petrov@gmail.com>
2024-08-06 22:41:24 -04:00
Roman Mogylatov 31c1f7c2d6 Update setup.py 2022-12-18 21:59:31 -05:00
Eugene Brodsky a9cd0de886
(setup) fix install crash on non-utf8 systems (#644)
fixes https://github.com/ets-labs/python-dependency-injector/issues/643
2022-12-18 21:23:24 -05:00
Roman Mogylatov aaff333f01
Python 3.11 Support (#647)
* Update tests

* Enable tests on 3.11

* Fix coverage config in tox.ini

* feat: re cythonize to support python 3.11 (#646)

* feat: re cythonize to support python 3.11

* misc: added tox env for python 3.11

* misc: add classifiers for python 3.11

* fix: skip tests for removed functions

* misc: CI updates for python 3.11

Co-authored-by: Roman Mogylatov <rmogilatov@gmail.com>

* Update tests and linters job

* Update test skip decorators

* Fix tox.ini

* Update 3.10 to be explicit string literal

* Move pypy3 to legacy job

* Fix error in resourse typing test

* Update publishing job

* Update actions and setup-python versions

* Update changelog

* Update pypy

* Update tox.ini with new pypy versions

* Update publishing job

* Update actions/upload-artifact@v3

* Update ubuntu to 22.04 on docs publishing job

* Update actions/download-artifact@v3 and pypa/gh-action-pypi-publish@release/v1

Co-authored-by: Gen Xu <xgbarry@gmail.com>
2022-12-18 21:09:14 -05:00
Roman Mogylatov 77b5cdebd3
Optimization r1 (#571)
* Add isfuture() and iscoroutine() optimization

* Apply async mode optimization

* Wiring changes

* Add optimization for wiring of async coroutines

* Remove unused imports

* Update changelog

* Refactor async mode checks
2022-03-27 22:20:05 -04:00
Roman Mogylatov b97862cb9f
Python 3.10 (#520)
* Add GA test and linter jobs

* Remove not used async run() functions from tests

* Update aiohttp ext test

* Add botocore warning ignores

* Update changelog

* Update publishing job config for testing

* Publishing test #1

* Update GA tests-and-linters job to use latest ubuntu for tests

* Update publishing GA job
2021-10-20 12:10:05 -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 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