Files
mediapreview/pyproject.toml
T
2026-08-11 23:46:57 +00:00

104 lines
1.7 KiB
TOML

[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "mediapreview"
dynamic = ["version"]
description = "Low-level media preview converters and a worker pool framework"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"docopt-ng>=0.9.0",
"msgspec>=0.19.0",
"pyvips[binary]>=3.1.1",
]
[project.scripts]
mediapreview = "mediapreview.__main__:main"
[project.optional-dependencies]
worker = [
"blake3>=1.0.5",
"tracerite>=2.3.1",
]
pdf = [
"pymupdf>=1.26.3",
]
video = [
"av>=15.0.0",
"numpy>=2.3.2",
]
office = [
"httpx>=0.28.0",
"pyjwt>=2.10.1",
]
standard = [
"mediapreview[worker]",
"mediapreview[pdf]",
"mediapreview[video]",
"mediapreview[office]",
]
[dependency-groups]
dev = [
"pytest>=8.4.1",
"pytest-asyncio>=0.25.0",
"pytest-cov>=6.0.0",
"ruff>=0.8.0",
"mypy>=1.13.0",
]
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.targets.wheel]
packages = ["mediapreview"]
[tool.ruff]
target-version = "py311"
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"COM812",
"ANN001",
"ANN002",
"ANN201",
"ANN202",
"ANN204",
"BLE001",
"C901",
"CPY",
"D100",
"D101",
"D102",
"D103",
"D104",
"D105",
"D107",
"D200",
"D203",
"D212",
"D213",
"D400",
"D401",
"D413",
"D415",
"E501",
"EM101",
"EM102",
"INP001",
"PLR0911",
"PLR0912",
"PLR0915",
"PLR2004",
"PLW0603",
"TRY003",
]
isort.known-first-party = ["mediapreview"]
per-file-ignores."tests/*" = ["S", "ARG001", "SLF001"]
[tool.pytest.ini_options]
asyncio_mode = "auto"