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 = "maskgate"
version = "0.1.0"
description = "Open-source, self-hosted data masking proxy for LLM APIs"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "Apache-2.0" }
authors = [{ name = "MaskGate contributors" }]
dependencies = [
  "fastapi>=0.115,<1.0",
  "httpx>=0.27,<1.0",
  "pydantic>=2.7,<3.0",
  "defusedxml>=0.7,<1.0",
  "python-multipart>=0.0.20,<1.0",
  "python-dotenv>=1.0,<2.0",
  "PyYAML>=6.0,<7.0",
  "uvicorn[standard]>=0.30,<1.0",
]

[project.optional-dependencies]
dev = [
  "httpx2>=2.9,<3.0",
  "pytest>=9.0.3,<10.0",
  "pytest-cov>=5.0,<7.0",
  "ruff>=0.12,<1.0",
  "pip-audit>=2.9,<3.0",
  "uv>=0.8,<1.0",
  "playwright>=1.62,<2.0",
]
media = [
  "onnxruntime>=1.20,<2.0",
  "opencv-python>=4.10,<5.0",
  "Pillow>=11.0,<13.0",
  "pypdfium2>=5.0,<6.0",
  "rapidocr>=3.9,<4.0",
]

[tool.setuptools.packages.find]
include = ["app*"]

[tool.pytest.ini_options]
testpaths = ["app/tests"]
addopts = "-q"

[tool.coverage.run]
branch = true
omit = ["app/tests/*"]

[tool.coverage.report]
show_missing = true
skip_covered = false

[tool.ruff]
line-length = 100
target-version = "py311"

[tool.ruff.lint]
select = ["E", "F", "I"]

[tool.ruff.lint.per-file-ignores]
# Inline OOXML fixtures are intentionally kept readable as complete XML tags.
"app/tests/test_media_anonymization.py" = ["E501"]
"app/tests/test_media_security.py" = ["E501"]