Files
dl-organizer/pyproject.toml
T
windyboyandClaude Sonnet 4.5 fe03a31dd4 refactor: DLO-16/17/18/20 — CLI simplification, config Pydantic, planner split, type system unification
DLO-16: Reduce cli.py from 1073 to 83 lines by registering Click commands from commands/*.py modules
DLO-17: Migrate Config to Pydantic BaseModel for validation
DLO-18: Split planner.py (826 lines) into orchestration, path rendering, and duplicate handling modules
DLO-20: Unify type system — convert 14 dataclasses to Pydantic BaseModel, keep TypedDicts as JSON schema hints

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-09-27 10:47:04 +08:00

55 lines
986 B
TOML

[project]
name = "video-library-manager"
version = "0.2.0"
description = "A Python-based CLI tool for managing personal video collections"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [
{ name = "windyboy" },
]
dependencies = [
"click>=8.1.0",
"pyyaml>=6.0",
"pydantic>=2.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.0",
"hypothesis>=6.82.0",
"pytest-cov>=4.1.0",
"ruff>=0.4.0",
]
tui = [
"textual>=0.47.0",
]
[project.scripts]
vlm = "vlm.cli:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/vlm"]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
[tool.hypothesis]
max_examples = 100
[tool.ruff]
target-version = "py310"
line-length = 100
src = ["src", "tests"]
[tool.ruff.lint]
select = ["E", "F", "I"]
ignore = ["E501"]