anydi 0.65.0__tar.gz → 0.66.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {anydi-0.65.0 → anydi-0.66.0}/PKG-INFO +28 -28
  2. {anydi-0.65.0 → anydi-0.66.0}/README.md +27 -27
  3. {anydi-0.65.0 → anydi-0.66.0}/pyproject.toml +1 -1
  4. {anydi-0.65.0 → anydi-0.66.0}/anydi/__init__.py +0 -0
  5. {anydi-0.65.0 → anydi-0.66.0}/anydi/_async_lock.py +0 -0
  6. {anydi-0.65.0 → anydi-0.66.0}/anydi/_container.py +0 -0
  7. {anydi-0.65.0 → anydi-0.66.0}/anydi/_context.py +0 -0
  8. {anydi-0.65.0 → anydi-0.66.0}/anydi/_decorators.py +0 -0
  9. {anydi-0.65.0 → anydi-0.66.0}/anydi/_injector.py +0 -0
  10. {anydi-0.65.0 → anydi-0.66.0}/anydi/_marker.py +0 -0
  11. {anydi-0.65.0 → anydi-0.66.0}/anydi/_module.py +0 -0
  12. {anydi-0.65.0 → anydi-0.66.0}/anydi/_provider.py +0 -0
  13. {anydi-0.65.0 → anydi-0.66.0}/anydi/_resolver.py +0 -0
  14. {anydi-0.65.0 → anydi-0.66.0}/anydi/_scanner.py +0 -0
  15. {anydi-0.65.0 → anydi-0.66.0}/anydi/_types.py +0 -0
  16. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/__init__.py +0 -0
  17. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/django/__init__.py +0 -0
  18. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/fastapi.py +0 -0
  19. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/faststream.py +0 -0
  20. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/pydantic_settings.py +0 -0
  21. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/pytest_plugin.py +0 -0
  22. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/starlette/__init__.py +0 -0
  23. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/starlette/middleware.py +0 -0
  24. {anydi-0.65.0 → anydi-0.66.0}/anydi/ext/typer.py +0 -0
  25. {anydi-0.65.0 → anydi-0.66.0}/anydi/py.typed +0 -0
  26. {anydi-0.65.0 → anydi-0.66.0}/anydi/testing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: anydi
3
- Version: 0.65.0
3
+ Version: 0.66.0
4
4
  Summary: Dependency Injection library
5
5
  Keywords: dependency injection,dependencies,di,async,asyncio,application
6
6
  Author: Anton Ruhlov
@@ -37,7 +37,7 @@ Description-Content-Type: text/markdown
37
37
 
38
38
  <div style="text-align: center;">
39
39
 
40
- Modern, lightweight Dependency Injection library using type annotations.
40
+ Simple Dependency Injection library that uses Python type annotations.
41
41
 
42
42
  [![CI](https://github.com/antonrh/anydi/actions/workflows/ci.yml/badge.svg)](https://github.com/antonrh/anydi/actions/workflows/ci.yml)
43
43
  [![Coverage](https://codecov.io/gh/antonrh/anydi/branch/main/graph/badge.svg)](https://codecov.io/gh/antonrh/anydi)
@@ -53,21 +53,21 @@ http://anydi.readthedocs.io/
53
53
 
54
54
  ---
55
55
 
56
- `AnyDI` is a modern, lightweight Dependency Injection library suitable for any synchronous or asynchronous applications with Python 3.10+, based on type annotations ([PEP 484](https://peps.python.org/pep-0484/)).
56
+ `AnyDI` is a simple Dependency Injection library for Python 3.10+. It works with sync and async applications and uses type annotations ([PEP 484](https://peps.python.org/pep-0484/)).
57
57
 
58
- The key features are:
58
+ Main features:
59
59
 
60
- * **Type-safe**: Dependency resolution is driven by type hints.
61
- * **Async-ready**: Works the same for sync and async providers or injections.
62
- * **Scoped**: Built-in singleton, transient, and request scopes, plus custom scopes.
63
- * **Simple**: Small surface area keeps boilerplate low.
64
- * **Fast**: Has minimal overhead and resolves dependencies quickly.
65
- * **Named**: `Annotated[...]` makes multiple bindings per type simple.
66
- * **Managed**: Providers can open/close resources via context managers.
67
- * **Modular**: Compose containers or modules for large apps.
68
- * **Scanning**: Auto-discovers injectable callables.
69
- * **Integrated**: Extensions for popular frameworks.
70
- * **Testable**: Override providers directly in tests.
60
+ * **Type-safe**: Uses type hints for dependency resolution.
61
+ * **Async support**: Works with both sync and async code.
62
+ * **Scopes**: Provides singleton, transient, and request scopes. Supports custom scope definitions.
63
+ * **Simple**: Minimal boilerplate with straightforward API.
64
+ * **Fast**: Low overhead dependency resolution.
65
+ * **Named providers**: Use `Annotated[...]` for multiple providers per type.
66
+ * **Resource management**: Context manager protocol support for lifecycle management.
67
+ * **Modular**: Container and module composition for large applications.
68
+ * **Auto-scan**: Automatic discovery of injectable callables.
69
+ * **Framework integrations**: Extensions for popular frameworks.
70
+ * **Testing**: Provider override mechanism for test isolation.
71
71
 
72
72
  ## Installation
73
73
 
@@ -266,23 +266,23 @@ urlpatterns = [
266
266
  ]
267
267
  ```
268
268
 
269
- ## What's Next?
269
+ ## Learn More
270
270
 
271
- Ready to learn more? Check out these resources:
271
+ Want to know more? Here are helpful resources:
272
272
 
273
273
  **Core Documentation:**
274
- - [Core Concepts](https://anydi.readthedocs.io/en/latest/concepts/) - Understand containers, providers, scopes, and dependency injection
275
- - [Providers](https://anydi.readthedocs.io/en/latest/usage/providers/) - Learn about registration, named providers, and resource management
276
- - [Scopes](https://anydi.readthedocs.io/en/latest/usage/scopes/) - Master lifecycle management with built-in and custom scopes
277
- - [Dependency Injection](https://anydi.readthedocs.io/en/latest/usage/injection/) - Explore injection patterns and techniques
278
- - [Testing](https://anydi.readthedocs.io/en/latest/usage/testing/) - Write testable code with provider overrides
274
+ - [Core Concepts](https://anydi.readthedocs.io/en/latest/concepts/) - Learn about containers, providers, scopes, and dependency injection
275
+ - [Providers](https://anydi.readthedocs.io/en/latest/usage/providers/) - How to register providers and manage resources
276
+ - [Scopes](https://anydi.readthedocs.io/en/latest/usage/scopes/) - How to use built-in and custom scopes
277
+ - [Dependency Injection](https://anydi.readthedocs.io/en/latest/usage/injection/) - Different ways to inject dependencies
278
+ - [Testing](https://anydi.readthedocs.io/en/latest/usage/testing/) - How to test your code with provider overrides
279
279
 
280
280
  **Framework Integrations:**
281
- - [FastAPI](https://anydi.readthedocs.io/en/latest/extensions/fastapi/) - Build modern APIs with automatic dependency injection
282
- - [Django](https://anydi.readthedocs.io/en/latest/extensions/django/) - Integrate with Django and Django Ninja
283
- - [FastStream](https://anydi.readthedocs.io/en/latest/extensions/faststream/) - Message broker applications
284
- - [Typer](https://anydi.readthedocs.io/en/latest/extensions/typer/) - CLI applications with async support
285
- - [Pydantic Settings](https://anydi.readthedocs.io/en/latest/extensions/pydantic_settings/) - Configuration management
281
+ - [FastAPI](https://anydi.readthedocs.io/en/latest/extensions/fastapi/) - How to use with FastAPI
282
+ - [Django](https://anydi.readthedocs.io/en/latest/extensions/django/) - How to use with Django and Django Ninja
283
+ - [FastStream](https://anydi.readthedocs.io/en/latest/extensions/faststream/) - How to use with message brokers
284
+ - [Typer](https://anydi.readthedocs.io/en/latest/extensions/typer/) - How to use in CLI applications
285
+ - [Pydantic Settings](https://anydi.readthedocs.io/en/latest/extensions/pydantic_settings/) - How to manage configuration
286
286
 
287
287
  **Full Documentation:**
288
- - [Read the Docs](https://anydi.readthedocs.io/) - Complete documentation with examples and guides
288
+ - [Read the Docs](https://anydi.readthedocs.io/) - All documentation with examples and guides
@@ -2,7 +2,7 @@
2
2
 
3
3
  <div style="text-align: center;">
4
4
 
5
- Modern, lightweight Dependency Injection library using type annotations.
5
+ Simple Dependency Injection library that uses Python type annotations.
6
6
 
7
7
  [![CI](https://github.com/antonrh/anydi/actions/workflows/ci.yml/badge.svg)](https://github.com/antonrh/anydi/actions/workflows/ci.yml)
8
8
  [![Coverage](https://codecov.io/gh/antonrh/anydi/branch/main/graph/badge.svg)](https://codecov.io/gh/antonrh/anydi)
@@ -18,21 +18,21 @@ http://anydi.readthedocs.io/
18
18
 
19
19
  ---
20
20
 
21
- `AnyDI` is a modern, lightweight Dependency Injection library suitable for any synchronous or asynchronous applications with Python 3.10+, based on type annotations ([PEP 484](https://peps.python.org/pep-0484/)).
21
+ `AnyDI` is a simple Dependency Injection library for Python 3.10+. It works with sync and async applications and uses type annotations ([PEP 484](https://peps.python.org/pep-0484/)).
22
22
 
23
- The key features are:
23
+ Main features:
24
24
 
25
- * **Type-safe**: Dependency resolution is driven by type hints.
26
- * **Async-ready**: Works the same for sync and async providers or injections.
27
- * **Scoped**: Built-in singleton, transient, and request scopes, plus custom scopes.
28
- * **Simple**: Small surface area keeps boilerplate low.
29
- * **Fast**: Has minimal overhead and resolves dependencies quickly.
30
- * **Named**: `Annotated[...]` makes multiple bindings per type simple.
31
- * **Managed**: Providers can open/close resources via context managers.
32
- * **Modular**: Compose containers or modules for large apps.
33
- * **Scanning**: Auto-discovers injectable callables.
34
- * **Integrated**: Extensions for popular frameworks.
35
- * **Testable**: Override providers directly in tests.
25
+ * **Type-safe**: Uses type hints for dependency resolution.
26
+ * **Async support**: Works with both sync and async code.
27
+ * **Scopes**: Provides singleton, transient, and request scopes. Supports custom scope definitions.
28
+ * **Simple**: Minimal boilerplate with straightforward API.
29
+ * **Fast**: Low overhead dependency resolution.
30
+ * **Named providers**: Use `Annotated[...]` for multiple providers per type.
31
+ * **Resource management**: Context manager protocol support for lifecycle management.
32
+ * **Modular**: Container and module composition for large applications.
33
+ * **Auto-scan**: Automatic discovery of injectable callables.
34
+ * **Framework integrations**: Extensions for popular frameworks.
35
+ * **Testing**: Provider override mechanism for test isolation.
36
36
 
37
37
  ## Installation
38
38
 
@@ -231,23 +231,23 @@ urlpatterns = [
231
231
  ]
232
232
  ```
233
233
 
234
- ## What's Next?
234
+ ## Learn More
235
235
 
236
- Ready to learn more? Check out these resources:
236
+ Want to know more? Here are helpful resources:
237
237
 
238
238
  **Core Documentation:**
239
- - [Core Concepts](https://anydi.readthedocs.io/en/latest/concepts/) - Understand containers, providers, scopes, and dependency injection
240
- - [Providers](https://anydi.readthedocs.io/en/latest/usage/providers/) - Learn about registration, named providers, and resource management
241
- - [Scopes](https://anydi.readthedocs.io/en/latest/usage/scopes/) - Master lifecycle management with built-in and custom scopes
242
- - [Dependency Injection](https://anydi.readthedocs.io/en/latest/usage/injection/) - Explore injection patterns and techniques
243
- - [Testing](https://anydi.readthedocs.io/en/latest/usage/testing/) - Write testable code with provider overrides
239
+ - [Core Concepts](https://anydi.readthedocs.io/en/latest/concepts/) - Learn about containers, providers, scopes, and dependency injection
240
+ - [Providers](https://anydi.readthedocs.io/en/latest/usage/providers/) - How to register providers and manage resources
241
+ - [Scopes](https://anydi.readthedocs.io/en/latest/usage/scopes/) - How to use built-in and custom scopes
242
+ - [Dependency Injection](https://anydi.readthedocs.io/en/latest/usage/injection/) - Different ways to inject dependencies
243
+ - [Testing](https://anydi.readthedocs.io/en/latest/usage/testing/) - How to test your code with provider overrides
244
244
 
245
245
  **Framework Integrations:**
246
- - [FastAPI](https://anydi.readthedocs.io/en/latest/extensions/fastapi/) - Build modern APIs with automatic dependency injection
247
- - [Django](https://anydi.readthedocs.io/en/latest/extensions/django/) - Integrate with Django and Django Ninja
248
- - [FastStream](https://anydi.readthedocs.io/en/latest/extensions/faststream/) - Message broker applications
249
- - [Typer](https://anydi.readthedocs.io/en/latest/extensions/typer/) - CLI applications with async support
250
- - [Pydantic Settings](https://anydi.readthedocs.io/en/latest/extensions/pydantic_settings/) - Configuration management
246
+ - [FastAPI](https://anydi.readthedocs.io/en/latest/extensions/fastapi/) - How to use with FastAPI
247
+ - [Django](https://anydi.readthedocs.io/en/latest/extensions/django/) - How to use with Django and Django Ninja
248
+ - [FastStream](https://anydi.readthedocs.io/en/latest/extensions/faststream/) - How to use with message brokers
249
+ - [Typer](https://anydi.readthedocs.io/en/latest/extensions/typer/) - How to use in CLI applications
250
+ - [Pydantic Settings](https://anydi.readthedocs.io/en/latest/extensions/pydantic_settings/) - How to manage configuration
251
251
 
252
252
  **Full Documentation:**
253
- - [Read the Docs](https://anydi.readthedocs.io/) - Complete documentation with examples and guides
253
+ - [Read the Docs](https://anydi.readthedocs.io/) - All documentation with examples and guides
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "anydi"
3
- version = "0.65.0"
3
+ version = "0.66.0"
4
4
  description = "Dependency Injection library"
5
5
  authors = [{ name = "Anton Ruhlov", email = "antonruhlov@gmail.com" }]
6
6
  requires-python = ">=3.10.0, <3.15"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes