Ctrl K
ComunidadGuías…

pyproject.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"

[project]
name = "clippyme"
version = "0.0.0"
requires-python = ">=3.11"

[tool.setuptools.packages.find]
where = ["src"]

# Light runtime subset needed by the host (non-integration) test suite.
# The package's full runtime (requirements.txt) pulls the heavy CV/ML stack
# (torch / mediapipe / opencv / ultralytics / scenedetect / faster-whisper),
# which only the `integration`-marked Docker tests need. `pip install -e .`
# alone installs NO runtime deps, so CI must install this group to collect the
# host suite. Versions mirror requirements.txt; numpy/pydantic mirror
# requirements.lock (normally transitive via torch/opencv — explicit here
# because the heavy stack is intentionally absent on the host runner).
[project.optional-dependencies]
host-tests = [
    "numpy==2.4.6",
    "pydantic==2.13.4",
    "fastapi==0.135.3",
    "starlette>=1.0.1",  # CVE-2026-48710 (BadHost auth bypass) fixed in 1.0.1
    "uvicorn==0.42.0",
    "click>=8.3.3,<9",  # PYSEC-2026-2132 (click.edit command injection)
    "python-multipart==0.0.31",
    "yt-dlp>=2026.6.9,<2027",  # CVE-2026-50023 / CVE-2026-50574 fixed in 2026.6.9
    "google-genai>=1.70.0,<2.0.0",
    "python-dotenv==1.2.2",
    "Pillow>=12.3.0,<13",
    "requests>=2.32,<3",
    "json-repair>=0.30",
    "psutil==7.0.0",
    "tqdm==4.67.3",
    "tzdata>=2026.1; sys_platform == 'win32'",  # zoneinfo data; Windows has no system tz database
]

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
# Heavy pipeline tests (cv2/mediapipe/yt-dlp runtime) live behind the Docker
# backend image; the pure-logic suites (api, domain, integrations, parser)
# run on the host with just `pip install -e .` + pytest.
#
# Tests that import clippyme.pipeline.main (pulls cv2/scenedetect/mediapipe)
# or otherwise need the heavy runtime are marked `integration`. Run the fast
# host suite with `pytest -m "not integration"`; run everything in Docker.
markers = [
    "integration: requires the heavy CV/ML runtime (cv2, scenedetect, mediapipe); run in Docker",
    "live: real external provider calls, always opt-in and credential-gated",
]