mirror of
https://github.com/long2ice/fastapi-cache.git
synced 2026-03-25 04:57:54 +00:00
- Compatibility with older Python versions - use `Optional` and `Union` instead of `... | None` and `a | b` - use `typing_extensions.Protocol` instead of `typing.Protocol` - use `typing.Dict`, `typing.List`, etc. instead of the concrete types. - Fix backend `.get()` annotations; not all were marked as `Optional[str]` - Don't return anything from `Backend.set()` methods. - The `Coder.decode_as_type()` type parameter must be a type to be compatible with `ModelField(..., type_=...)`. - Clean up `Optional[]` use, remove where it is not needed. - Clean up variable use in decorator, keeping the raw cached value separate from the return value from the wrapped endpoint. - Annotate the wrapper as returning either the original type _or_ a Response (returning a 304 Not Modified response). - Clean up small edge-case where `response` could be `None`. - Correct type annotation on `JsonCoder.decode()` to match `Coder.decode()`.
50 lines
1.2 KiB
TOML
50 lines
1.2 KiB
TOML
[tool.poetry]
|
|
name = "fastapi-cache2"
|
|
version = "0.2.1"
|
|
description = "Cache for FastAPI"
|
|
authors = ["long2ice <long2ice@gmail.com>"]
|
|
license = "Apache-2.0"
|
|
readme = "README.md"
|
|
homepage = "https://github.com/long2ice/fastapi-cache"
|
|
repository = "https://github.com/long2ice/fastapi-cache.git"
|
|
documentation = "https://github.com/long2ice/fastapi-cache"
|
|
keywords = ["fastapi", "cache", "caching"]
|
|
packages = [
|
|
{ include = "fastapi_cache" }
|
|
]
|
|
include = ["LICENSE", "README.md"]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.7"
|
|
fastapi = "*"
|
|
uvicorn = "*"
|
|
redis = { version = "^4.2.0rc1", optional = true }
|
|
aiomcache = { version = "*", optional = true }
|
|
pendulum = "*"
|
|
aiobotocore = { version = "^1.4.1", optional = true }
|
|
typing-extensions = { version = ">=4.1.0" }
|
|
aiohttp = { version = ">=3.8.3", markers = "python_version >= \"3.11\"" }
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
flake8 = "*"
|
|
isort = "*"
|
|
black = "*"
|
|
pytest = "*"
|
|
requests = "*"
|
|
coverage = "^6.5.0"
|
|
httpx = "*"
|
|
|
|
[build-system]
|
|
requires = ["poetry>=0.12"]
|
|
build-backend = "poetry.masonry.api"
|
|
|
|
[tool.poetry.extras]
|
|
redis = ["redis"]
|
|
memcache = ["aiomcache"]
|
|
dynamodb = ["aiobotocore"]
|
|
all = ["redis", "aiomcache", "aiobotocore"]
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ['py36', 'py37', 'py38', 'py39']
|