69 lines
1.7 KiB
TOML
69 lines
1.7 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=69", "wheel"]
|
|
build-backend = "setuptools.backends.legacy:build"
|
|
|
|
[project]
|
|
name = "ai-trailer-2026"
|
|
version = "2.0.0"
|
|
description = "Frame-accurate trailer reconstruction via pure Computer Vision"
|
|
requires-python = ">=3.11"
|
|
|
|
dependencies = [
|
|
# Computer Vision
|
|
"opencv-python>=4.9",
|
|
"imagehash>=4.3",
|
|
"numpy>=1.26",
|
|
"Pillow>=10.0",
|
|
|
|
# Scene detection
|
|
"scenedetect[opencv]>=0.6",
|
|
|
|
# Audio / transcription
|
|
"faster-whisper>=1.0",
|
|
|
|
# Config / secrets
|
|
# tomllib — built-in stdlib (Python 3.11+), no install needed
|
|
"python-dotenv>=1.0", # loads .env into os.environ
|
|
|
|
# Export
|
|
"lxml>=5.0", # FCPXML generation
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"pytest-cov",
|
|
"mypy>=1.9",
|
|
"ruff>=0.4",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["src*"]
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Ruff (linter + formatter)
|
|
# ---------------------------------------------------------------------------
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py311"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "UP", "B", "C4", "ANN"]
|
|
ignore = ["ANN101", "ANN102"]
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Mypy
|
|
# ---------------------------------------------------------------------------
|
|
[tool.mypy]
|
|
python_version = "3.11"
|
|
strict = true
|
|
ignore_missing_imports = true
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Pytest
|
|
# ---------------------------------------------------------------------------
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
addopts = "-v --tb=short"
|