Files
srbhr--resume-matcher/apps/backend/pyproject.toml
T
wehub-resource-sync 5bdf4cc89a
Publish Docker Image / publish (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:39:36 +08:00

67 lines
1.6 KiB
TOML

[project]
name = "rm-backend"
version = "1.2.0"
description = "Resume Matcher Backend API"
requires-python = ">=3.13"
dependencies = [
"fastapi==0.128.4",
"uvicorn==0.40.0",
"python-multipart==0.0.31",
"pydantic==2.12.5",
"pydantic-settings==2.14.2",
"tinydb==4.8.2",
"sqlalchemy[asyncio]==2.0.36",
"aiosqlite==0.20.0",
"cryptography==48.0.1",
"litellm==1.86.2",
"markitdown[docx]==0.1.4",
"pdfminer.six==20260107",
"playwright==1.58.0",
"python-docx==1.2.0",
"python-dotenv==1.2.2",
]
[project.scripts]
app = "app.main:main"
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"httpx>=0.28.0",
"respx>=0.21.1",
]
e2e-monitor = [
"pypdf>=4.0.0", # PDF text probe for the non-blank render check
"httpx>=0.28.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["app"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
asyncio_mode = "auto"
addopts = [
"--strict-markers",
"-v",
# Exclude LLM-as-judge evals from the default run (they may call a real
# provider and are non-deterministic). Run them on demand with `-m eval`.
"-m",
"not eval",
]
markers = [
"unit: pure function tests, no external dependencies",
"service: service layer tests with mocked LLM",
"integration: API endpoint tests with httpx AsyncClient",
"eval: prompt-quality evaluations; may call a real LLM, skipped without a configured key",
]