Files
fastapi-cache/pyproject.toml
Martijn Pieters 1d9e126037 Switch to ruff to handle linting and formatting
Ruff handles black, flake8 and isort in one package, and is way faster.
The isort rules had not been enforced, so this commit includes a lot
of import resorting changes.

I switched to flake8-bugbear and the standard black-compatible line
length of 80 + 10% (so max 88 characters), so some line reflowing is
included too.

Finally, because bugbear rightly points out that `setattr()` is less
performant, I've switched the `__signature__` assigment back to using
a direct assignment with type ignore comment.
2023-05-16 12:18:24 +01:00

97 lines
2.6 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.linting]
optional = true
[tool.poetry.group.linting.dependencies]
mypy = { version = "^1.2.0", markers = "python_version >= \"3.10\"" }
pyright = { version = "^1.1.306", markers="python_version >= \"3.10\"" }
types-aiobotocore = { extras = ["dynamodb"], version = "^2.5.0.post2", markers = "python_version >= \"3.10\"" }
types-redis = { version = "^4.5.4.2", markers = "python_version >= \"3.10\"" }
ruff = { version = "^0.0.267", markers = "python_version >= \"3.10\"" }
[tool.poetry.group.dev.dependencies]
pytest = "*"
requests = "*"
coverage = "^6.5.0"
httpx = "*"
tox = "^4.5.1"
[tool.poetry.extras]
redis = ["redis"]
memcache = ["aiomcache"]
dynamodb = ["aiobotocore"]
all = ["redis", "aiomcache", "aiobotocore"]
[tool.mypy]
files = ["fastapi_cache", "examples", "tests"]
python_version = "3.7"
# equivalent of --strict
warn_unused_configs = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
no_implicit_reexport = true
strict_equality = true
strict_concatenate = true
[[tool.mypy.overrides]]
module = "examples.*.main"
ignore_errors = true
[tool.pyright]
include = ["fastapi_cache", "tests", "examples"]
strict = ["fastapi_cache", "tests"]
pythonVersion = "3.7"
[tool.pytest]
addopts = "-p no:warnings"
[tool.ruff]
ignore = ["E501"]
line-length = 80
select = [
"B", # flake8-bugbear
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
"W", # pycodestyle warnings
]
target-version = "py37"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"