pyproject.toml
and dependency set.
Directory | Project name | Purpose |
---|---|---|
/ | cognee | Core library & SDK |
cognee-mcp/ | cognee-mcp | Model-Context-Protocol (MCP) server |
cognee-starter-kit/ | cognee-starter | Minimal starter template |
hatchling
) so nothing locks you in to a single tool.
uv
uv sync
(and any other uv
command) follows these rules:
pyproject.toml
..venv/
inside that directory.--reinstall
flag wipes the target venv before reinstalling.uv
happily creates/overwrites .venv/
in that folder which may “corrupt” the environment you were using.
pyproject.toml
.
$(pwd)/.venv/bin/python
(or whatever env you created).uv sync --inexact --no-editable
during the image build and copy the resulting .venv
into the final image for faster layers.uv sync --extra postgres --extra chromadb
instead of --all-extras
.psycopg2
psycopg2
(requires a system pg_config
) and the precompiled wheel psycopg2-binary
. To give users explicit choice:
When installing your Postgres extras, choose based on your environment:
Context | Command |
---|---|
End-users (pip) | pip install cognee |
Core devs | uv sync --dev --all-extras in the project dir |
MCP server | cd cognee-mcp && uv sync --dev --all-extras --reinstall |
Starter kit | cd cognee-starter-kit && uv sync |
Heads-up:uv sync
will create (or reset) a.venv
in the current directory. If you already have a virtual-env you want to keep, activate it first and add--active
.