mcquack/pyproject.toml
Erich Blume c7a0b04573 Add uv package structure and pytest test framework
Set up mcquack as a proper uv package with flat layout (no src/ directory).
Uses hatchling build backend to support single-file module structure.
Added pytest as dev dependency with fixtures for testing against
temporary directories instead of actual macOS LaunchAgent paths.

- Rename list() to list_agents() to avoid shadowing builtin (Python 3.14 compat)
- Add mock_dirs fixture that monkeypatches LAUNCH_AGENTS_DIR and LOGS_DIR
- Add mock_script and mock_launchctl fixtures
- 26 tests covering list, create, edit, show, delete commands
- Parameterized tests for argument handling
- XML validation tests independent of plistlib

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 19:18:17 -08:00

26 lines
553 B
TOML

[project]
name = "mcquack"
version = "0.1.0"
description = "A simple macOS LaunchAgent manager for executable scripts"
readme = "README.md"
authors = [
{ name = "Erich Blume", email = "blume.erich@gmail.com" }
]
requires-python = ">=3.14"
dependencies = ["typer>=0.9.0"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["."]
only-include = ["mcquack.py"]
[tool.hatch.build.targets.wheel.sources]
"mcquack.py" = "mcquack.py"
[dependency-groups]
dev = [
"pytest>=9.0.2",
]