Files
vocero-client/s2s-client/pyproject.toml
T

76 lines
1.9 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "aquaportal-s2s-client"
version = "0.1.0"
description = "FastAPI integration and realtime proxy for the Vocero frontend"
readme = "README.md"
requires-python = ">=3.12,<3.13"
dependencies = [
"fastapi==0.115.6",
"uvicorn[standard]==0.34.0",
"httpx==0.28.1",
"python-dotenv==1.2.2",
"pydantic==2.13.5",
"websockets==17.2",
]
[dependency-groups]
dev = [
"mypy>=1.16,<2",
"pre-commit>=4.4,<5",
"pytest>=9,<10",
"ruff>=0.12,<1",
]
[tool.uv]
required-version = "==0.12.5"
[tool.setuptools.packages.find]
include = ["s2s_client*"]
[tool.ruff]
target-version = "py312"
line-length = 120
include = ["pyproject.toml", "s2s_client/**/*.py", "server.py", "tests/**/*.py", "scripts/**/*.py"]
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I", "B", "UP"]
ignore = ["UP040", "UP046"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "auto"
[tool.mypy]
python_version = "3.12"
plugins = ["pydantic.mypy"]
files = ["s2s_client", "server.py"]
check_untyped_defs = true
disallow_untyped_defs = true
no_implicit_optional = true
strict_equality = true
warn_redundant_casts = true
warn_return_any = true
warn_unused_configs = true
warn_unused_ignores = true
show_error_codes = true
pretty = true
[tool.pydantic-mypy]
init_typed = true
warn_untyped_fields = true
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
# Starlette 0.41.3 uses an alias deprecated by AnyIO 4.15. Keep the runtime
# versions used for compatibility captures; remove this test-only exception
# when upgrading Starlette. Upstream: https://github.com/Kludex/starlette/issues/3497
filterwarnings = [
'ignore:^The anyio\.abc\.BlockingPortal alias is deprecated, use anyio\.from_thread\.BlockingPortal instead\.$:DeprecationWarning:^starlette\.testclient$',
]