- 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.
58 lines
1.9 KiB
TOML
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 }
|