didi-lot1-ai/ai_platform/modules/extractors/pyproject.toml

45 lines
1.1 KiB
TOML

[project]
name = "extractors"
version = "0.1.0"
description = "Consolidated lightweight feature-extraction service (metadata, EXIF, ELA, spectrogram, integrity; LLM-delegated sentiment/NER/OCR; object detection)"
requires-python = ">=3.10"
dependencies = [
"fastapi>=0.115.0,<0.116",
"uvicorn[standard]>=0.32.0",
"python-multipart>=0.0.9",
"pydantic>=2.0",
"pydantic-settings>=2.0",
"httpx>=0.27.0",
"pillow>=11.0",
"numpy>=2.0",
"prometheus-fastapi-instrumentator>=7.0.0",
]
[project.optional-dependencies]
# Heavy model backends (torch). Kept out of the base install so dev/CI stay
# fast; the deployed image installs `.[ml]`. NER degrades to 503 without it.
ml = [
"gliner>=0.2.13",
"ultralytics>=8.3.0",
]
dev = [
"pytest>=8.0",
"pytest-cov>=4.0",
"pytest-asyncio>=0.24",
"ruff>=0.8",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/extractors"]
[tool.ruff]
extend = "../../ruff.toml"
[tool.pytest.ini_options]
pythonpath = ["src"]
testpaths = ["tests"]
asyncio_mode = "auto"