anydi 0.65.0__py3-none-any.whl → 0.66.0__py3-none-any.whl

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.
@@ -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
@@ -21,7 +21,7 @@ anydi/ext/starlette/middleware.py,sha256=n_JJ7BcG2Mg2M5HwM_SBboxZ-mnnD6WWJn4khq7
21
21
  anydi/ext/typer.py,sha256=z-sDd3jZMPTE2CyEuJ0f9uIJB43FjoLWbjpnkOvqSKA,6236
22
22
  anydi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  anydi/testing.py,sha256=cHg3mMScZbEep9smRqSNQ81BZMQOkyugHe8TvKdPnEg,1347
24
- anydi-0.65.0.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
25
- anydi-0.65.0.dist-info/entry_points.txt,sha256=AgOcQYM5KyS4D37QcYb00tiid0QA-pD1VrjHHq4QAps,44
26
- anydi-0.65.0.dist-info/METADATA,sha256=1_HiKQhF3W8pOnXHqMkAzLvhTOC7UiZX-0-fIbRVprY,8142
27
- anydi-0.65.0.dist-info/RECORD,,
24
+ anydi-0.66.0.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
25
+ anydi-0.66.0.dist-info/entry_points.txt,sha256=AgOcQYM5KyS4D37QcYb00tiid0QA-pD1VrjHHq4QAps,44
26
+ anydi-0.66.0.dist-info/METADATA,sha256=UJVE26FM3Nsn4PgAJDvy5FiwoAQ2oU1U7TIs311y_Zs,8061
27
+ anydi-0.66.0.dist-info/RECORD,,
File without changes