Ruff autofix removed pre-existing F401 unused imports across adapters, context, compiler, extractor, scheduler, web, and main. Also reordered models.py so its SQLAlchemy imports sit at the top of the file (E402 was triggered by the inline `utcnow` helper definition). Added a [dependency-groups] dev block (pytest, pytest-cov, ruff) so the zero-check test gauntlet — which runs `pytest --cov --cov-report=term-missing` — can resolve its plugins without a manual `uv pip install pytest-cov`.
52 lines
1.4 KiB
TOML
52 lines
1.4 KiB
TOML
[project]
|
|
name = "second-brain"
|
|
version = "0.1.0"
|
|
description = "Personal knowledge system: video/article extraction pipeline + LLM-maintained wiki"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"alembic>=1.13.0",
|
|
"click>=8.1.0",
|
|
"embedding-chunking",
|
|
"fastapi>=0.115.0",
|
|
"httpx>=0.28.0",
|
|
"jinja2>=3.1.0",
|
|
"openai-whisper",
|
|
"psycopg[binary]>=3.2",
|
|
"psycopg-pool>=3.2",
|
|
"pydantic>=2.0.0",
|
|
"python-dotenv>=1.0.0",
|
|
"sqlalchemy>=2.0.0",
|
|
"tomli>=2.0.0",
|
|
"trafilatura>=1.9.0",
|
|
"uvicorn[standard]>=0.30.0",
|
|
"yt-dlp>=2024.1.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# Only required when extractor.backend = "api" in settings.toml.
|
|
# The default "cli" backend shells out to the Claude Code CLI under your
|
|
# Max OAuth subscription and has no Python-side Anthropic dependency.
|
|
api = ["anthropic>=0.40.0"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"pytest-cov>=5.0",
|
|
"ruff>=0.8",
|
|
]
|
|
|
|
[tool.uv.sources]
|
|
# Shared chunker that vault-mcp / ob1-enricher / ob1-reflector also pin.
|
|
# Same source so the 512/64 chunking stays in lockstep across services.
|
|
embedding-chunking = { git = "https://gitea.plantbasedsoutherner.com/petal-power/embedding-chunking.git", tag = "v0.1.0" }
|
|
|
|
[project.scripts]
|
|
second-brain = "second_brain.main:cli"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/second_brain"]
|