Skip to content

Installation#

CaptureGraph is a monorepo and is not published to PyPI. It is a uv workspace: one uv sync from a clone creates the environment and installs every Python package editable.

Requirements#

  • uv (manages Python 3.12+ for you)
  • git

Clone and Sync#

git clone https://github.com/CaptureGraph/CaptureGraph.git
cd CaptureGraph
uv sync

This installs all three workspace packages into .venv:

Package What it's for
capturegraph-lib The whole authoring and analysis surface under one import, capturegraph as cg: the schema types, the procedure recorder, and cg.load for reading captured data back. There is no separate analysis package.
capturegraph-server Hosting shared targets for multi-user capture (Running a Server)
capturegraph-sync Downloading captured data from a server (Syncing Data)

Only the library is required for the single-user workflow in this section — captured data comes off the phone as plain files.

Verify the install:

uv run python -c "import capturegraph as cg; print(cg.Struct)"
Optional: Graphviz rendering

procedure_to_graphviz renders a procedure DAG as a diagram. It needs the optional graphviz extra (plus the Graphviz system package for rendering):

uv sync --extra graphviz

Running the Tests#

cd capturegraph-lib
uv run pytest

Building These Docs Locally#

From the repo root:

uv sync --group docs
uv run zensical serve

Next#

Continue to The iOS App to build the capture app.