Files
LetterFeed/backend/pyproject.toml

68 lines
1.4 KiB
TOML

[project]
name = "letterfeed-backend"
version = "0.4.0"
description = "Backend for LetterFeed"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"alembic>=1.16.4",
"apscheduler>=3.11.0",
"bcrypt>=4.3.0",
"beautifulsoup4>=4.13.4",
"fastapi>=0.116.0",
"feedgen>=1.0.0",
"nanoid>=2.0.0",
"nh3>=0.3.0",
"passlib>=1.7.4",
"pydantic-settings>=2.10.1",
"pydantic[email]>=2.11.7",
"python-dotenv>=1.1.1",
"python-jose[cryptography]>=3.5.0",
"python-multipart>=0.0.20",
"readability-lxml>=0.8.4.1",
"sqlalchemy>=2.0.41",
"uvicorn>=0.35.0",
]
[tool.ruff]
exclude = ["alembic"]
lint.select = [
"E", # pycodestyle
"F", # pyflakes
"I", # isort
"D", # pydocstyle
"D401", # First line should be in imperative mood
"T201",
"UP",
]
lint.ignore = [
"UP006",
"UP007",
# We actually do want to import from typing_extensions
"UP035",
# Relax the convention by _not_ requiring documentation for every function parameter.
"D417",
"D100",
"E501",
]
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["D", "UP"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.mypy]
python_executable=".venv/bin/python"
[tool.pyright]
venvPath='.'
venv=".venv"
include="app"
[dependency-groups]
test = [
"httpx>=0.28.1",
"pre-commit>=4.2.0",
"pytest>=8.4.1",
"ruff>=0.12.3",
]