[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"] [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"]