Files
pdf/gateway/pyproject.toml
T

65 lines
1.7 KiB
TOML

[project]
name = "pdfengine-gateway"
version = "0.0.0"
description = "FastAPI gateway over the PDF engine (auth, metadata, storage, jobs)."
requires-python = ">=3.11"
license = { text = "Proprietary" }
readme = "README.md"
# Pinned exact versions — see docs/phase0.md "Dependency pinning".
# Bumps are deliberate, not opportunistic.
dependencies = [
"fastapi==0.115.6",
"uvicorn[standard]==0.34.0",
"pydantic==2.10.4",
"pydantic-settings==2.7.1",
"python-multipart==0.0.19",
"pillow==10.4.0",
"httpx==0.28.1",
]
[project.optional-dependencies]
dev = [
"pytest==8.3.4",
"httpx==0.28.1",
"ruff==0.8.6",
]
[build-system]
requires = ["hatchling>=1.27"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["app"]
# --- Ruff -------------------------------------------------------------------
# Single tool for lint + format. CI runs `ruff check` and `ruff format --check`.
[tool.ruff]
line-length = 100
target-version = "py311"
extend-exclude = [".venv", "build", "dist"]
[tool.ruff.lint]
select = [
"E", "F", "W", # pycodestyle + pyflakes
"I", # isort
"B", # bugbear
"UP", # pyupgrade
"SIM", # simplify
"RUF", # ruff-specific
]
ignore = [
"E501", # line length handled by formatter
"B904", # within an except clause, raise exceptions with raise ... from err
"B008", # do not perform function calls in argument defaults (standard in FastAPI)
]
[tool.ruff.format]
quote-style = "double"
# --- Pytest ------------------------------------------------------------------
[tool.pytest.ini_options]
minversion = "8.0"
testpaths = ["tests"]
addopts = "-ra --strict-markers --strict-config"