[project] name = "auto-commit-service" version = "0.2.11" 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"] # All Python packages (public + lilith) resolve through pypi.black.local, # which nginx splits: /simple/lilith-* → Forgejo PyPI, else → pypiserver # (which falls back to pypi.org for public packages). # # For local dev against uncommitted package changes, add a [tool.uv.sources] # block here with { path = "...", editable = true } entries.