[project] name = "mcp-tracking" version = "0.2.1" description = "MCP server, HTTP API and Textual TUI dashboard to track long-running tasks in real time" readme = "README.md" license = { text = "MIT" } authors = [{ name = "amineutron" }] requires-python = ">=3.11" dependencies = [ "mcp[cli]>=2.2,<3", "pydantic>=2.0", "textual>=0.80.0", ] [project.urls] Homepage = "https://github.com/amineutron/mcp-tracking" Repository = "https://github.com/amineutron/mcp-tracking" Issues = "https://github.com/amineutron/mcp-tracking/issues" [project.scripts] mcp-tracking = "server:main" mcp-tracking-api = "api:main" mcp-tracking-ui = "ui:main" [project.optional-dependencies] dev = ["pytest>=8", "requests>=2.31"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] only-include = ["server.py", "api.py", "metrics.py", "models.py", "mutations.py", "poller.py", "sim.py", "storage.py", "templates.py", "ui.py"] [tool.hatch.build.targets.sdist] include = ["*.py", "README.md", "LICENSE", "Makefile", "tests/", "docs/", "*.service", "install.sh", "deploy.sh"] [tool.pytest.ini_options] testpaths = ["tests"] # Lancer la suite : .venv/bin/python -m pytest [tool.ruff] line-length = 120 [tool.ruff.lint] # Sélection explicite : les règles par défaut de ruff ont changé en 0.16 ; on garde les règles de base et le tri des imports. select = ["E4", "E7", "E9", "F", "I"]