Roman Mogylatov
938091b6ea
Add Github Sponsors button
2024-09-09 22:23:19 -04:00
Roman Mogylatov
4bda5105c2
Remove obsolete disqus javascript file
2024-09-09 22:22:09 -04:00
Roman Mogylatov
46034cbeb1
Update the copuright in the docs
2024-09-09 21:53:37 -04:00
Roman Mogylatov
39ac098ca2
Fix the Disqus comment widget
2024-09-09 21:52:11 -04:00
Roman Mogylatov
8a44027f3d
Update cibuildwheel to version 2.20.0
2024-08-07 21:04:37 -04:00
Roman Mogylatov
a8b54423dc
Update version to 4.42.0b1
2024-08-06 22:51:59 -04:00
Roman Mogylatov
3e56fef461
Update version to 4.42.0b
2024-08-06 22:45:40 -04:00
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
4bfdf89142
Bump version
2022-12-18 22:14:00 -05:00
Roman Mogylatov
659d242503
Update builds badge
2022-12-18 22:12:38 -05:00
Roman Mogylatov
d0c8f328b3
Update changelog
2022-12-18 21:52:32 -05:00
Roman Mogylatov
a79ea1790c
Update custom provider docs formatting
2022-12-18 21:43:02 -05:00
thatguysimon
6f491a6cae
Explicitly mention the required usage of "memo" ( #598 )
2022-12-18 21:38:12 -05:00
Roman Mogylatov
88a2b96102
Update FastAPI + Redis example
2022-12-18 21:35:43 -05:00
Roman Mogylatov
55f81bd754
Update changelog
2022-12-18 21:25:16 -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
8cf86826eb
Bump version to 4.40.0
2022-08-03 21:20:38 -04:00
Roman Mogylatov
6f859e4aa2
( #454 ) ( #597 ) Fix @inject + @wraps, refactor patched callables registry and injections storage principles ( #610 )
...
* Refactor patched callables registry and injections storage principles
* Rename properties of PatchedRegistry
* Add typing improvements in wiring module
* Add __slots__ for PatchedAttribute
* Minor code style fixes
* Add test
* Rename test
* Update typing in test
* Make minor style fixes to test
* Update changelog
* Add documentation on the @inject decorator
2022-07-26 21:37:15 -04:00
Roman Mogylatov
0668295543
Fix code layout in tests/unit/schema/test_integration_py36.py
2022-07-19 20:33:43 -04:00
Roman Mogylatov
142b91921a
Upgrade Cython to 0.29.30 ( #605 )
2022-07-10 21:23:25 -04:00
Roman Mogylatov
753e863d02
Add `Configuration.from_json()
` method ( #602 )
...
* Add implementation and tests
* Refactor naming in configuration fixtures
* Add typing for .from_json()
* Move get/set_ini_files() methods upper
* Add init implementation and tests
* Refactor typing tests
* Add examples
* Add docs
* Update docs index and readme
* Update changelog
2022-07-10 21:08:45 -04:00
Roman Mogylatov
14b5ddae4f
Update pytest configuration
2022-07-02 15:11:25 -04:00
Roman Mogylatov
bf356ec565
Update wording in introduction docs
2022-04-17 10:55:17 -04:00
Roman Mogylatov
9bc11a7828
Improve wording in docs
2022-04-16 22:29:19 -04:00
Roman Mogylatov
a0bb7c4ede
Update changelog
2022-04-16 21:46:01 -04:00
Roman Mogylatov
450407bf7a
Update year 2021 -> 2022
2022-04-16 21:39:47 -04:00
Illia Volochii
daca85d555
Fix a few issues in the introduction ( #580 )
...
* Fix a statement about coupling and cohesion that is not always true
https://enterprisecraftsmanship.com/posts/cohesion-coupling-difference/#_types_of_code_from_a_cohesion_and_coupling_perspective
* Fix a typing issue in an example
`ApiClient` expects timeout to be an integer (based on a type hint), but `os.getenv` returns a string when `TIMEOUT` is set.
* Specify the `None` return type where it is missed
* Fix typing issues in some other places
* Edit a statement about coupling and cohesion
Co-authored-by: Roman Mogylatov <rmogilatov@gmail.com>
Co-authored-by: Roman Mogylatov <rmogilatov@gmail.com>
2022-04-16 21:29:35 -04:00
Roman Mogylatov
cfed30cf07
Hotfix issue #574 , bump version to 4.39.1
2022-03-29 22:51:40 -04:00
Roman Mogylatov
93c8cbc83b
Bump version to 4.39.0
2022-03-27 22:21:51 -04: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
f00fa16bd0
Update changelog
2022-03-27 14:23:27 -04:00
Roman Mogylatov
ad0d430229
Bump version to 4.38.0
2022-01-30 23:27:58 -05:00
Roman Mogylatov
86df7f91f6
531 Provider import from string ( #555 )
...
* Implement string imports for Factory, Callable, Singletons, and Resource
* Refactor the implementation
* Add tests
* Update tests to pass on Python 2
* Update typing and add typing tests
* Update changelog
* Update docs
2022-01-30 23:16:55 -05:00
Roman Mogylatov
38ca1cdeed
Fix #550
2022-01-28 23:12:08 -05:00
Roman Mogylatov
d4933baec1
Update logo, v4
2022-01-16 18:39:36 -05:00
Roman Mogylatov
742e73af1a
Aggregate provider ( #544 )
...
* Add implementation and typing stubs
* Add tests
* Add typing tests
* Refactor FactoryAggregate
* Update changelog
* Add Aggregate provider docs and example
* Update cross links between Aggregate, Selector, and FactoryAggregate docs
* Add wording improvements to the docs
2022-01-09 21:45:20 -05:00
Roman Mogylatov
cfadd8c3fa
Add config.from_env(as_=...) ( #541 )
...
* Add implementation and typing stub
* Add unit tests
* Update demo example
* Add typing tests
* Update changelog
* Update docs
* Add tests for an empty environment variable
* Improve wording in di_in_python.rst
* Update wording in changelog and docs
* Update doc blocks
2021-12-20 23:46:51 +01:00
Roman Mogylatov
7238482402
Add .providers attribute and .set_providers() method to FactoryAggregate provider
2021-11-26 19:50:19 +03:00
Roman Mogylatov
72d0e2610d
Add announce of Python 3.5 support dropping
2021-10-31 21:00:28 -04:00
Roman Mogylatov
0b3bcf334e
Bump version to 4.37.0
2021-10-31 20:50:16 -04:00
Roman Mogylatov
99d858e2fb
Upgrade Cython to 0.29.24
2021-10-31 20:48:23 -04:00
Roman Mogylatov
fe01ad41d9
Update examples to use config __init__ args ( #527 )
...
* Update application-single-container example
* Update application-multiple-containers example
* Update decoupled-packages example
* Update movie lister example
* Update CLI tutorial
* Update sanic example
* Update sanic example with wiring_config
* Update fastapi example
* Update fastapi-simple example
* Update fastapi-sqlalchemy example
* Update flask-blueprints example
* Update flask example and tutorial
* Update aiohttp example and tutorial
* Update asyncio-daemon example and tutorial
2021-10-31 20:31:39 -04:00
Roman Mogylatov
6030950596
Configuration(pydantic_settings=[...]) ( #525 )
...
* Add implementation
* Update changelog
* Fix deepcopy()
* Add example
* Add tests
* Add docs
2021-10-26 21:08:47 -04:00
Roman Mogylatov
34902db86e
Configuration(ini_files=[...]) ( #524 )
...
* Update changelog
* Add implementation
* Add tests
* Add more tests and example
* Update changelog
* Update documentation
2021-10-26 20:27:11 -04:00
Roman Mogylatov
b16b190ff7
Configuration(yaml_files=[...]) ( #522 )
...
* Add provider changes and tests
* Move config test fixtures
* Fix issue with explicit providing of envs_required=False for configuration from_*()
* Implement container API
* Increase priority of overriding from context
* Add docs and example
* Update changelog
* Update changelog
2021-10-23 21:46:50 -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
94aca21fb8
Pytest migration ( #519 )
...
* Add pytest and pytest-asyncio to the requirements
* Update aiohttp ext test
* Update setup.cfg
* Update tox.ini
* Add pytest to the tox requirements
* Update tox.ini
* Move configuration to tox.ini
* Add pytest configs
* Rename pytest-py34-py35.ini -> pytest-py35.ini
* Update config file paths
* Update makefile
* Migrate common tests to pytest
* Migrate FastAPI and Flask wiring tests
* Rename flask and fastapi wiring test files
* Move wiring autoloader tests
* Add pytest-asyncio to the tox.ini
* Migrate wiring async injection tests
* Migrate main wiring tests
* Migrate wiring string module and package names tests
* Migrate wiring config tests
* Migrate misc wiring tests
* Update tests structure
* Migrate misc wiring tests
* Refactor container.from_schema() API tests
* Migrate container.from_schema() integration tests
* Rename schema samples
* Update sample imports
* Migrate container tests
* Refactor container tests
* Migrate container self tests
* Migrate container instance tests
* Migrate container custom string attribute name tests
* Migrate container async resource tests
* Fix py2 container tests
* Migrate container cls tests
* Migrate container class custom string cls as atrribute name tests
* Migrate ext.aiohttp tests
* Migrate ext.flasks tests
* Update ext package tests doc block
* Migrate provider utils tests
* Migrate Factory async mode tests
* Migrate async tests
* Rename common test module
* Refactor asserts in provider tests
* Migrate factory tests
* Migrate selector provider tests
* Migrate object provider tests
* Migrate self provider tests
* Migrate delegate provider tests
* Migrate provider tests
* Migrate dependency provider tests
* Migrate dependencies container provider tests
* Fix warnings
* Migrate list provider tests
* Migrate dict provider tests
* Migrate callable tests
* Migrate injection tests
* Migrate container provider tests
* Migrate coroutine providers
* Migrate traversal tests
* Migrate resource tests
* Migrate configuration tests
* Migrate provided instance provider tests
* Update doc blocks and imports
* Migrate singleton tests
* Update changelog and cosmetic fixes
2021-10-18 16:19:03 -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
284dee6e58
Add with support for container.override_providers() ( #517 )
...
* Add implementation, tests, and typing stub
* Update documentation
* Update changelog
2021-10-06 21:36:41 -04:00
Roman Mogylatov
73a43e6191
Wiring config ( #516 )
...
* Implement POC
* Implement concept with WiringConfiguration object
* Update changelog
* Add docs
* Update changelog
2021-10-03 20:35:48 -04:00