fastapi-cachex 0.5.1__tar.gz → 0.5.2__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 (36) hide show
  1. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/PKG-INFO +17 -16
  2. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/README.md +16 -15
  3. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/__init__.py +24 -0
  4. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/pyproject.toml +5 -4
  5. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/pyproject.toml.orig +7 -4
  6. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/LICENSE +0 -0
  7. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_cache_control.py +0 -0
  8. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_callables.py +0 -0
  9. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_coalesce.py +0 -0
  10. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_key_builders.py +0 -0
  11. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_rendering.py +0 -0
  12. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_stored_response.py +0 -0
  13. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_vary.py +0 -0
  14. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/_warnings.py +0 -0
  15. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/__init__.py +0 -0
  16. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/_unavailable.py +0 -0
  17. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/base.py +0 -0
  18. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/codec.py +0 -0
  19. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/config.py +0 -0
  20. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/memcached.py +0 -0
  21. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/memory.py +0 -0
  22. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/backends/redis.py +0 -0
  23. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/cache.py +0 -0
  24. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/cache_key.py +0 -0
  25. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/cached.py +0 -0
  26. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/dependencies.py +0 -0
  27. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/directives.py +0 -0
  28. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/exceptions.py +0 -0
  29. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/headers.py +0 -0
  30. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/lock.py +0 -0
  31. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/manager.py +0 -0
  32. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/manager_proxy.py +0 -0
  33. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/proxy.py +0 -0
  34. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/py.typed +0 -0
  35. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/routes.py +0 -0
  36. {fastapi_cachex-0.5.1 → fastapi_cachex-0.5.2}/fastapi_cachex/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-cachex
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: A caching library for FastAPI with support for Cache-Control, ETag, and multiple backends.
5
5
  Keywords: fastapi,cache,etag,cache-control,redis,memcached,in-memory
6
6
  Author: allen0099
@@ -50,11 +50,11 @@ Description-Content-Type: text/markdown
50
50
  [![PyPI version](https://img.shields.io/pypi/v/fastapi-cachex.svg?logo=pypi&logoColor=gold&label=PyPI)](https://pypi.org/project/fastapi-cachex)
51
51
  [![Python Versions](https://img.shields.io/pypi/pyversions/fastapi-cachex.svg?logo=python&label=Python&logoColor=gold)](https://pypi.org/project/fastapi-cachex/)
52
52
 
53
- [English](https://fastapi-cachex.readthedocs.io/en/latest/) | [繁體中文](https://fastapi-cachex.readthedocs.io/zh-tw/latest/)
53
+ [English](https://fastapi-cachex.readthedocs.io/en/stable/) | [繁體中文](https://fastapi-cachex.readthedocs.io/zh-tw/stable/)
54
54
 
55
55
  A high-performance caching extension for FastAPI: a server-side response cache with `Cache-Control` and `ETag` support, and application-level caching.
56
56
 
57
- **Documentation:** <https://fastapi-cachex.readthedocs.io/en/latest/> — guides and the full API reference.
57
+ **Documentation:** <https://fastapi-cachex.readthedocs.io/en/stable/> — guides and the full API reference.
58
58
 
59
59
  ## Features
60
60
 
@@ -115,7 +115,7 @@ async def report(cache: AppCache):
115
115
  > Put `@cache` **below** the route decorator. FastAPI registers whatever function
116
116
  > reaches `@app.get(...)`; with `@cache` on top, FastAPI registers the
117
117
  > undecorated handler, so the route works but nothing is cached and nothing warns
118
- > (see [Decorator order](https://fastapi-cachex.readthedocs.io/en/latest/HTTP_CACHING/#decorator-order)).
118
+ > (see [Decorator order](https://fastapi-cachex.readthedocs.io/en/stable/HTTP_CACHING/#decorator-order)).
119
119
  >
120
120
  > ```python
121
121
  > @app.get("/items") # ✅ route decorator first,
@@ -132,7 +132,7 @@ async def report(cache: AppCache):
132
132
  > with `private=True` or a per-user key builder plus `cache_authorized=True`
133
133
  > (requests with `Authorization` or non-empty `request.session` data otherwise
134
134
  > bypass the backend) — see
135
- > [Authenticated endpoints](https://fastapi-cachex.readthedocs.io/en/latest/HTTP_CACHING/#authenticated-endpoints).
135
+ > [Authenticated endpoints](https://fastapi-cachex.readthedocs.io/en/stable/HTTP_CACHING/#authenticated-endpoints).
136
136
 
137
137
  ## Documentation
138
138
 
@@ -141,18 +141,19 @@ a code block that includes one of the runnable examples renders on the site,
141
141
  while GitHub shows only its `--8<--` include line (the sentence before each
142
142
  block links the example file).
143
143
 
144
- - [Migrating to 0.5.0](https://fastapi-cachex.readthedocs.io/en/latest/MIGRATING_0_5/) — what 0.5.0 removes and how to upgrade from 0.4.x
145
- - [Migrating to 0.4.0](https://fastapi-cachex.readthedocs.io/en/latest/MIGRATING_0_4/) — what 0.4.0 changes and how to upgrade from 0.3.x
146
- - [Migrating from fastapi-cache2](https://fastapi-cachex.readthedocs.io/en/latest/MIGRATING_FROM_FASTAPI_CACHE2/) — its API mapped onto this one, and the behaviour that differs
147
- - [When to use it](https://fastapi-cachex.readthedocs.io/en/latest/COMPARISON/) — how it compares with fastapi-cache2, cashews, aiocache and a CDN, and when another one fits better
148
- - [HTTP caching](https://fastapi-cachex.readthedocs.io/en/latest/HTTP_CACHING/) — the `@cache` decorator, Cache-Control directives, cache keys, invalidation and monitoring routes
149
- - [Application cache](https://fastapi-cachex.readthedocs.io/en/latest/APP_CACHE/) — `CacheManager`
150
- - [Backends](https://fastapi-cachex.readthedocs.io/en/latest/BACKENDS/) — choosing and configuring a backend, atomic primitives
151
- - [Distributed lock](https://fastapi-cachex.readthedocs.io/en/latest/LOCK/) — `CacheLock` for multi-process mutual exclusion
152
- - [Cache flow](https://fastapi-cachex.readthedocs.io/en/latest/CACHE_FLOW/) — what happens inside a cached request
144
+ - [Migrating to 0.6.0](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_0_6/) — what 0.6.0 will change, starting with the end of Python 3.10 support
145
+ - [Migrating to 0.5.0](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_0_5/) — what 0.5.0 removes and how to upgrade from 0.4.x
146
+ - [Migrating to 0.4.0](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_0_4/) — what 0.4.0 changes and how to upgrade from 0.3.x
147
+ - [Migrating from fastapi-cache2](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_FROM_FASTAPI_CACHE2/) — its API mapped onto this one, and the behaviour that differs
148
+ - [When to use it](https://fastapi-cachex.readthedocs.io/en/stable/COMPARISON/) — how it compares with fastapi-cache2, cashews, aiocache and a CDN, and when another one fits better
149
+ - [HTTP caching](https://fastapi-cachex.readthedocs.io/en/stable/HTTP_CACHING/) — the `@cache` decorator, Cache-Control directives, cache keys, invalidation and monitoring routes
150
+ - [Application cache](https://fastapi-cachex.readthedocs.io/en/stable/APP_CACHE/) — `CacheManager`
151
+ - [Backends](https://fastapi-cachex.readthedocs.io/en/stable/BACKENDS/) — choosing and configuring a backend, atomic primitives
152
+ - [Distributed lock](https://fastapi-cachex.readthedocs.io/en/stable/LOCK/) — `CacheLock` for multi-process mutual exclusion
153
+ - [Cache flow](https://fastapi-cachex.readthedocs.io/en/stable/CACHE_FLOW/) — what happens inside a cached request
153
154
  - [Runnable examples](https://github.com/allen0099/FastAPI-CacheX/tree/master/examples) — one complete app per feature, each covered by the test suite
154
- - [API reference](https://fastapi-cachex.readthedocs.io/en/latest/api/http-caching/)
155
- - [Development guide](https://fastapi-cachex.readthedocs.io/en/latest/DEVELOPMENT/) and [contributing](https://fastapi-cachex.readthedocs.io/en/latest/CONTRIBUTING/) · [Security policy](https://github.com/allen0099/FastAPI-CacheX/blob/master/SECURITY.md) — report vulnerabilities privately, not in public issues
155
+ - [API reference](https://fastapi-cachex.readthedocs.io/en/stable/api/http-caching/)
156
+ - [Development guide](https://fastapi-cachex.readthedocs.io/en/stable/DEVELOPMENT/) and [contributing](https://fastapi-cachex.readthedocs.io/en/stable/CONTRIBUTING/) · [Security policy](https://github.com/allen0099/FastAPI-CacheX/blob/master/SECURITY.md) — report vulnerabilities privately, not in public issues
156
157
  - [Changelog](https://github.com/allen0099/FastAPI-CacheX/blob/master/CHANGELOG.md) · [Known limitations and planned work](https://github.com/allen0099/FastAPI-CacheX/issues)
157
158
 
158
159
  ## License
@@ -12,11 +12,11 @@
12
12
  [![PyPI version](https://img.shields.io/pypi/v/fastapi-cachex.svg?logo=pypi&logoColor=gold&label=PyPI)](https://pypi.org/project/fastapi-cachex)
13
13
  [![Python Versions](https://img.shields.io/pypi/pyversions/fastapi-cachex.svg?logo=python&label=Python&logoColor=gold)](https://pypi.org/project/fastapi-cachex/)
14
14
 
15
- [English](https://fastapi-cachex.readthedocs.io/en/latest/) | [繁體中文](https://fastapi-cachex.readthedocs.io/zh-tw/latest/)
15
+ [English](https://fastapi-cachex.readthedocs.io/en/stable/) | [繁體中文](https://fastapi-cachex.readthedocs.io/zh-tw/stable/)
16
16
 
17
17
  A high-performance caching extension for FastAPI: a server-side response cache with `Cache-Control` and `ETag` support, and application-level caching.
18
18
 
19
- **Documentation:** <https://fastapi-cachex.readthedocs.io/en/latest/> — guides and the full API reference.
19
+ **Documentation:** <https://fastapi-cachex.readthedocs.io/en/stable/> — guides and the full API reference.
20
20
 
21
21
  ## Features
22
22
 
@@ -77,7 +77,7 @@ async def report(cache: AppCache):
77
77
  > Put `@cache` **below** the route decorator. FastAPI registers whatever function
78
78
  > reaches `@app.get(...)`; with `@cache` on top, FastAPI registers the
79
79
  > undecorated handler, so the route works but nothing is cached and nothing warns
80
- > (see [Decorator order](https://fastapi-cachex.readthedocs.io/en/latest/HTTP_CACHING/#decorator-order)).
80
+ > (see [Decorator order](https://fastapi-cachex.readthedocs.io/en/stable/HTTP_CACHING/#decorator-order)).
81
81
  >
82
82
  > ```python
83
83
  > @app.get("/items") # ✅ route decorator first,
@@ -94,7 +94,7 @@ async def report(cache: AppCache):
94
94
  > with `private=True` or a per-user key builder plus `cache_authorized=True`
95
95
  > (requests with `Authorization` or non-empty `request.session` data otherwise
96
96
  > bypass the backend) — see
97
- > [Authenticated endpoints](https://fastapi-cachex.readthedocs.io/en/latest/HTTP_CACHING/#authenticated-endpoints).
97
+ > [Authenticated endpoints](https://fastapi-cachex.readthedocs.io/en/stable/HTTP_CACHING/#authenticated-endpoints).
98
98
 
99
99
  ## Documentation
100
100
 
@@ -103,18 +103,19 @@ a code block that includes one of the runnable examples renders on the site,
103
103
  while GitHub shows only its `--8<--` include line (the sentence before each
104
104
  block links the example file).
105
105
 
106
- - [Migrating to 0.5.0](https://fastapi-cachex.readthedocs.io/en/latest/MIGRATING_0_5/) — what 0.5.0 removes and how to upgrade from 0.4.x
107
- - [Migrating to 0.4.0](https://fastapi-cachex.readthedocs.io/en/latest/MIGRATING_0_4/) — what 0.4.0 changes and how to upgrade from 0.3.x
108
- - [Migrating from fastapi-cache2](https://fastapi-cachex.readthedocs.io/en/latest/MIGRATING_FROM_FASTAPI_CACHE2/) — its API mapped onto this one, and the behaviour that differs
109
- - [When to use it](https://fastapi-cachex.readthedocs.io/en/latest/COMPARISON/) — how it compares with fastapi-cache2, cashews, aiocache and a CDN, and when another one fits better
110
- - [HTTP caching](https://fastapi-cachex.readthedocs.io/en/latest/HTTP_CACHING/) — the `@cache` decorator, Cache-Control directives, cache keys, invalidation and monitoring routes
111
- - [Application cache](https://fastapi-cachex.readthedocs.io/en/latest/APP_CACHE/) — `CacheManager`
112
- - [Backends](https://fastapi-cachex.readthedocs.io/en/latest/BACKENDS/) — choosing and configuring a backend, atomic primitives
113
- - [Distributed lock](https://fastapi-cachex.readthedocs.io/en/latest/LOCK/) — `CacheLock` for multi-process mutual exclusion
114
- - [Cache flow](https://fastapi-cachex.readthedocs.io/en/latest/CACHE_FLOW/) — what happens inside a cached request
106
+ - [Migrating to 0.6.0](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_0_6/) — what 0.6.0 will change, starting with the end of Python 3.10 support
107
+ - [Migrating to 0.5.0](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_0_5/) — what 0.5.0 removes and how to upgrade from 0.4.x
108
+ - [Migrating to 0.4.0](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_0_4/) — what 0.4.0 changes and how to upgrade from 0.3.x
109
+ - [Migrating from fastapi-cache2](https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_FROM_FASTAPI_CACHE2/) — its API mapped onto this one, and the behaviour that differs
110
+ - [When to use it](https://fastapi-cachex.readthedocs.io/en/stable/COMPARISON/) — how it compares with fastapi-cache2, cashews, aiocache and a CDN, and when another one fits better
111
+ - [HTTP caching](https://fastapi-cachex.readthedocs.io/en/stable/HTTP_CACHING/) — the `@cache` decorator, Cache-Control directives, cache keys, invalidation and monitoring routes
112
+ - [Application cache](https://fastapi-cachex.readthedocs.io/en/stable/APP_CACHE/) — `CacheManager`
113
+ - [Backends](https://fastapi-cachex.readthedocs.io/en/stable/BACKENDS/) — choosing and configuring a backend, atomic primitives
114
+ - [Distributed lock](https://fastapi-cachex.readthedocs.io/en/stable/LOCK/) — `CacheLock` for multi-process mutual exclusion
115
+ - [Cache flow](https://fastapi-cachex.readthedocs.io/en/stable/CACHE_FLOW/) — what happens inside a cached request
115
116
  - [Runnable examples](https://github.com/allen0099/FastAPI-CacheX/tree/master/examples) — one complete app per feature, each covered by the test suite
116
- - [API reference](https://fastapi-cachex.readthedocs.io/en/latest/api/http-caching/)
117
- - [Development guide](https://fastapi-cachex.readthedocs.io/en/latest/DEVELOPMENT/) and [contributing](https://fastapi-cachex.readthedocs.io/en/latest/CONTRIBUTING/) · [Security policy](https://github.com/allen0099/FastAPI-CacheX/blob/master/SECURITY.md) — report vulnerabilities privately, not in public issues
117
+ - [API reference](https://fastapi-cachex.readthedocs.io/en/stable/api/http-caching/)
118
+ - [Development guide](https://fastapi-cachex.readthedocs.io/en/stable/DEVELOPMENT/) and [contributing](https://fastapi-cachex.readthedocs.io/en/stable/CONTRIBUTING/) · [Security policy](https://github.com/allen0099/FastAPI-CacheX/blob/master/SECURITY.md) — report vulnerabilities privately, not in public issues
118
119
  - [Changelog](https://github.com/allen0099/FastAPI-CacheX/blob/master/CHANGELOG.md) · [Known limitations and planned work](https://github.com/allen0099/FastAPI-CacheX/issues)
119
120
 
120
121
  ## License
@@ -1,6 +1,8 @@
1
1
  """FastAPI-CacheX: A powerful and flexible caching extension for FastAPI."""
2
2
 
3
3
  import logging
4
+ import sys
5
+ import warnings
4
6
  from importlib.metadata import PackageNotFoundError
5
7
  from importlib.metadata import version
6
8
 
@@ -47,6 +49,28 @@ def _read_version() -> str:
47
49
 
48
50
  __version__ = _read_version()
49
51
 
52
+ _PYTHON_310_NOTICE = (
53
+ "fastapi-cachex 0.6.0 will require Python 3.11 or later; Python 3.10 "
54
+ "reached its end of life in October 2026. Upgrade Python; see "
55
+ "https://fastapi-cachex.readthedocs.io/en/stable/MIGRATING_0_6/#python-311"
56
+ )
57
+
58
+
59
+ def _warn_python_310(python: tuple[int, int] = sys.version_info[:2]) -> None:
60
+ """Warn on import under Python 3.10, which 0.6.0 drops (#491).
61
+
62
+ ``FutureWarning``, not ``DeprecationWarning``: it is shown by default.
63
+ ``stacklevel=3`` skips this function and the package module; ``warnings``
64
+ skips the import machinery's frames itself, so the warning names the line
65
+ that imported ``fastapi_cachex`` (for ``importlib.import_module()`` it
66
+ names ``importlib/__init__.py``; 3.10 has no ``skip_file_prefixes``).
67
+ """
68
+ if python < (3, 11):
69
+ warnings.warn(_PYTHON_310_NOTICE, FutureWarning, stacklevel=3)
70
+
71
+
72
+ _warn_python_310()
73
+
50
74
  _package_logger = logging.getLogger("fastapi_cachex")
51
75
  _package_logger.addHandler(
52
76
  logging.NullHandler()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fastapi-cachex"
3
- version = "0.5.1"
3
+ version = "0.5.2"
4
4
  description = "A caching library for FastAPI with support for Cache-Control, ETag, and multiple backends."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -59,7 +59,7 @@ dev = [
59
59
  "coverage>=7.8.0",
60
60
  "httpx2>=2.13.1",
61
61
  "itsdangerous>=1.1.0",
62
- "mypy>=2.4.0",
62
+ "mypy>=2.4.1",
63
63
  "orjson>=3.10.16",
64
64
  "pre-commit>=4.2.0",
65
65
  "pymemcache>=4.0.0",
@@ -67,7 +67,7 @@ dev = [
67
67
  "pytest-asyncio>=0.26.0",
68
68
  "pytest-cov>=6.1.0",
69
69
  "redis[hiredis]>=5.3.0",
70
- "ruff>=0.17.0",
70
+ "ruff>=0.17.4",
71
71
  "tox>=4.25.0",
72
72
  "tox-uv>=1.29.0",
73
73
  "ty>=0.0.1a34",
@@ -75,7 +75,7 @@ dev = [
75
75
  "types-redis>=4.6.0.20241004",
76
76
  ]
77
77
  docs = [
78
- "zensical>=0.0.65,<0.1",
78
+ "zensical>=0.1,<0.2; python_version >= '3.11'",
79
79
  "mkdocstrings-python>=2.0",
80
80
  "markdown-callouts>=0.4",
81
81
  ]
@@ -98,6 +98,7 @@ asyncio_default_fixture_loop_scope = "function"
98
98
  filterwarnings = [
99
99
  "error",
100
100
  "ignore:The anyio.abc.BlockingPortal alias is deprecated:DeprecationWarning",
101
+ "ignore:fastapi-cachex 0.6.0 will require Python 3.11:FutureWarning",
101
102
  ]
102
103
 
103
104
  [tool.ruff.lint]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fastapi-cachex"
3
- version = "0.5.1"
3
+ version = "0.5.2"
4
4
  description = "A caching library for FastAPI with support for Cache-Control, ETag, and multiple backends."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -51,7 +51,7 @@ dev = [
51
51
  "httpx2>=2.13.1",
52
52
  # Starlette's SessionMiddleware, which tests of the session bypass use.
53
53
  "itsdangerous>=1.1.0",
54
- "mypy>=2.4.0",
54
+ "mypy>=2.4.1",
55
55
  "orjson>=3.10.16",
56
56
  "pre-commit>=4.2.0",
57
57
  "pymemcache>=4.0.0",
@@ -59,7 +59,7 @@ dev = [
59
59
  "pytest-asyncio>=0.26.0",
60
60
  "pytest-cov>=6.1.0",
61
61
  "redis[hiredis]>=5.3.0",
62
- "ruff>=0.17.0",
62
+ "ruff>=0.17.4",
63
63
  "tox>=4.25.0",
64
64
  "tox-uv>=1.29.0",
65
65
  "ty>=0.0.1a34",
@@ -68,7 +68,7 @@ dev = [
68
68
  ]
69
69
  docs = [
70
70
  # Pre-1.0: upgrades are deliberate, not automatic.
71
- "zensical>=0.0.65,<0.1",
71
+ "zensical>=0.1,<0.2; python_version >= '3.11'",
72
72
  "mkdocstrings-python>=2.0",
73
73
  "markdown-callouts>=0.4",
74
74
  ]
@@ -104,6 +104,9 @@ filterwarnings = [
104
104
  # deprecates. Later starlette releases no longer use it; nothing in this
105
105
  # package or its tests does.
106
106
  "ignore:The anyio.abc.BlockingPortal alias is deprecated:DeprecationWarning",
107
+ # Importing the package warns on Python 3.10 until 0.6.0 drops it (#491);
108
+ # tests/test_python_support.py checks that warning.
109
+ "ignore:fastapi-cachex 0.6.0 will require Python 3.11:FutureWarning",
107
110
  ]
108
111
 
109
112
  [tool.ruff.lint]
File without changes