Commit Graph

557 Commits

Author SHA1 Message Date
ZipFile
0c58064a36 Make wiring inspect exclsuions extensible 2025-06-20 10:03:00 +00:00
ZipFile
eb74b1e9d0 Minor improvements for _cwiring.DependencyResolver code generation
* Remove KWPair
* Avoid type checks around _is_injectable
2025-06-20 10:03:00 +00:00
ZipFile
04b5907f21 Add warning on extra @inject 2025-06-20 10:03:00 +00:00
ZipFile
e6cc12762f Add support for resource_type in Lifespans 2025-06-18 21:58:00 +00:00
ZipFile
dd84a1b5d6 Bump version 2025-06-16 08:53:36 +00:00
Aran Moncusí Ramírez
4bfe64563e
Add resource type parameter to init and shutdown resources using specialized providers (#858) 2025-06-16 11:34:02 +03:00
AndrianEquestrian
b411807572
Add support for Fast Stream Depends (#898) 2025-06-16 10:37:31 +03:00
ZipFile
f2da51e0d4 Use typing_extensions.Self as fallback (fixes #902) 2025-06-05 16:26:40 +00:00
ZipFile
d8e49f7dd5
Add support for async generator injections (#900) 2025-06-03 21:45:43 +03:00
ZipFile
c1f14a876a Expose null awaitables 2025-06-02 22:46:57 +00:00
ZipFile
c97a0cc515 Fix mypy warnings in dependency_injector.ext 2025-06-01 18:57:47 +00:00
ZipFile
67827a36d1 Fix mypy warnigns in containers.pyi 2025-06-01 18:46:30 +00:00
ZipFile
6766ef3eba Remove __init__.pyi 2025-06-01 18:45:12 +00:00
ZipFile
a322584308 Add context manager support to Resource provider 2025-06-01 15:48:57 +00:00
ZipFile
4b3476cb48 Use cache in _fetch_reference_injections() 2025-05-31 12:31:54 +00:00
ZipFile
16f444b230 Bump version 2025-05-30 19:50:21 +00:00
ZipFile
1271d0fa79 Add type info for _cwiring module 2025-05-30 19:29:11 +00:00
ZipFile
b9df88eea7 Fix typing for wiring marker 2025-05-30 19:28:49 +00:00
ZipFile
01349c43e1 Bump version 2025-05-28 19:05:05 +00:00
Roman Mogylatov
8814db3fb3
Fix annotated attribute injection (#889)
* Add example for Annotated attribute injection for module/class attributes

* Fix attribute injection with Annotated types

* Add unit tests for Annotated attribute and argument injection in wiring

* Add .cursor to .gitignore

* Style: add blank lines between class definitions and attributes in annotated attribute example

* Docs: clarify and format module/class attribute injection for classic and Annotated forms

* Changelog: add note and discussion link for Annotated attribute injection support

* Fix nls

* Fix CI checks and Python 3.8 tests

* Fix PR issues

* Fix Python 3.8 tests

* Fix flake8 issues

* Fix: robust Annotated detection for wiring across Python versions

* Refactor: extract annotation retrieval and improve typing for Python 3.9 compatibility

* Update src/dependency_injector/wiring.py

Co-authored-by: ZipFile <zipfile.d@protonmail.com>

---------

Co-authored-by: ZipFile <zipfile.d@protonmail.com>
2025-05-21 16:13:37 -04:00
ZipFile
dbf86e4eb4
Do not override methods without patching (#886) 2025-05-18 12:17:54 +03:00
ZipFile
9a08bfcede
Drop Python 3.7 support (#885) 2025-05-18 12:06:33 +03:00
ZipFile
4ae79ac21f
Remove unused root property from ConfigurationOption (#875)
fixes #874
2025-04-07 14:57:45 +03:00
ZipFile
6685c5a141 Fix infinite loop with Closing+ConfigurationOption 2025-03-10 20:35:37 +00:00
ZipFile
6e4794bab1
Remove code for EOL Python versions (#864) 2025-03-02 14:33:31 +02:00
ZipFile
9b66d4bf16 Bump version to v4.46.0 2025-02-23 17:22:13 +00:00
ZipFile
7d4ebecd19
Add option to disable env var interpolation in configs (#861) 2025-02-23 19:01:01 +02:00
ZipFile
09efbffab1
Fix Closing dependency resolution (#852)
Co-authored-by: federinik <federico.tomasi@outlook.com>
Co-authored-by: jazzthief <mynameisyegor@gmail.com>
2025-02-23 18:31:34 +02:00
ZipFile
23acf01c15
Add support for inspect.iscoroutinefunction() in Coroutine provider (#830) 2025-02-23 18:20:38 +02:00
Martin Lafrance
0d6fdb5b78
Fix broken wiring of sync inject-decorated methods (#673)
Co-authored-by: Martin Lafrance <mlafrance@cae.com>
Co-authored-by: ZipFile <zipfile.d@protonmail.com>
2025-02-23 18:17:45 +02:00
Taein Min
2330122de6
Add support for typing.Annotated (#721) 2025-01-20 17:37:28 +02:00
ZipFile
50643e0dfb Run black 2025-01-18 17:02:55 +00:00
Philip Bjorge
de50666a13
fix: type provider (#744) 2025-01-12 14:14:12 +02:00
Philip Bjorge
00326e9a22
fix: type propogation through provided (#733)
Co-authored-by: Gonzalo Martinez <gonzarmv@gmail.com>
2025-01-08 13:31:00 +02:00
Roman Mogylatov
9f38db6ef3 Bump version to 4.45.0 2025-01-05 15:19:57 -05:00
Roman Mogylatov
9f4e2839d2
Remove unused imports from the starlette extension (#846) 2025-01-05 14:57:55 -05:00
ZipFile
41e18dfa90
Add Starlette lifespan handler implementation (#683) 2025-01-05 14:39:26 -05:00
František Trebuňa
f9db578c59
🎨 Raise exception instead of hiding it in finally (#845) 2025-01-05 14:33:09 -05:00
ZipFile
d82d9fb822
Improve debugability of deepcopy errors (#839) 2025-01-01 21:22:29 +02:00
ZipFile
3ba4704bc1 Remove six 2024-12-14 13:24:28 +00:00
Roman Mogylatov
83d71acb70 Bump version to 4.44.0 2024-12-07 11:51:44 -05:00
ZipFile
c61fc16b8d
Yet another Pydantic 2 support (#832)
* Add support for Pydantic v2 settings

* Configure pipeline to run tests against different pydantic versions

* Update Pydantic docs and examples for v2

* Fix compatibility with httpx v0.27.0
2024-12-07 11:38:08 -05:00
ZipFile
494c457643
PEP-517 (#829)
* Convert to PEP-517 project

* Move pylint and coverage configs to pyproject.toml

* Remove autogenerated C files
2024-11-10 00:01:30 -05:00
Roman Mogylatov
3777a947ea Update version to 4.43.0 2024-11-04 00:02:52 -05:00
ZipFile
595daebd3a
Migrate to Cython3 (#813)
* Fix asyncio tests

* Convert class-private attributes to just private

* Upgrade to Cython 3

* Regenerate C files

* Fix tox coverage report
2024-11-03 20:48:40 -05:00
Roman Mogylatov
7a88a8ee8d Update version 2024-09-09 22:23:27 -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