auto-commit-service/pyproject.toml
autocommit a5729ff2b4 deps: make uv sync work from local workspace sources
- Drop unused lilith-auto-commit-pipeline dep (no imports in codebase)
- Rename lilith-fastapi-service-base → lilith-service-fastapi-bootstrap
  (the former was the old name; code imports the new module)
- Move lilith-model-boss to required (runtime-loaded by llm/multi_model_client)
- Declare transitive workspace deps directly (lilith-queue-cli,
  lilith-service-addresses) so tool.uv.sources path overrides reach them
- Add [tool.uv.sources] pointing at local package checkouts so
  uv sync resolves without any packages being published to pypi.black.local

Verified: fresh uv sync builds a clean venv from scratch, imports the new
rebase-recovery code paths, and commits.service restarts cleanly.
2026-04-18 12:09:57 -07:00

58 lines
1.9 KiB
TOML

[project]
name = "auto-commit-service"
version = "0.2.7"
description = "Automated commit message generation service using local LLM inference"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
# lilith workspace packages (resolved from local paths via [tool.uv.sources])
"lilith-service-fastapi-bootstrap>=4.0.0",
"lilith-pipeline-framework>=1.0.0",
"lilith-model-boss>=4.0.0",
# Transitive workspace deps — listed directly so uv.sources path overrides
# reach them (uv.sources doesn't apply to transitive deps otherwise).
"lilith-queue-cli>=0.1.0",
"lilith-service-addresses>=1.0.0",
# Public deps
"httpx>=0.27.0",
"pydantic>=2.0",
"pyyaml>=6.0",
"uvicorn>=0.30.0",
"typer>=0.12.0",
"sqlalchemy[asyncio]>=2.0.0",
"aiosqlite>=0.19.0",
]
[project.scripts]
commits = "auto_commit_service.cli:main"
[project.optional-dependencies]
tray = [
"rumps>=0.4.0",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"pytest-httpx>=0.30",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/auto_commit_service"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
# Resolve workspace Python packages from local source checkouts. This makes
# `uv sync` work without needing the packages on a PyPI registry — each
# referenced path points at the in-repo source of the library.
[tool.uv.sources]
lilith-pipeline-framework = { path = "../../../@packages/@py/pipeline-framework", editable = true }
lilith-service-fastapi-bootstrap = { path = "../../../@packages/@py/service-fastapi-bootstrap", editable = true }
lilith-model-boss = { path = "../../@model-boss/packages/core-py", editable = true }
lilith-queue-cli = { path = "../../../@packages/@py/queue", editable = true }
lilith-service-addresses = { path = "../../../@packages/@py/service-addresses", editable = true }