Skip to content

Installation

Architecture in progress

The 0.4.x release is a pure-Python package. The Rust core refactor is staging on the rust-core branch. Installation instructions below cover both.


Python package (current release — 0.4.x)

Requirements: Python 3.10 or newer (3.10–3.14 tested in CI).

# pip
pip install graphforge

# uv (recommended)
uv add graphforge

Verify

import graphforge
print(graphforge.__version__)   # 0.4.0

Optional dependencies

# pandas DataFrame export — db.to_dataframe()
pip install "graphforge[pandas]"

# NetworkX export — db.to_networkx()
pip install "graphforge[networkx]"

# igraph export — db.to_igraph()
pip install "graphforge[igraph]"

# All analytics extras at once
pip install "graphforge[analytics]"

# Zstandard compression for LDBC .tar.zst datasets
pip install "graphforge[zstandard]"

With uv:

uv add "graphforge[analytics]"

Install from source — Rust core (rust-core branch)

The Rust core requires both a Python environment and the Rust toolchain.

Requirements

  • Python 3.10 or newer
  • Rust stable toolchain (rustup)
  • uv
  • maturin (Python/Rust build bridge)

Setup

# 1. Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup update stable

# 2. Clone and check out the staging branch
git clone https://github.com/DecisionNerd/graphforge.git
cd graphforge
git checkout rust-core

# 3. Install Python dev dependencies
uv sync --dev

# 4. Build and install the Rust extension in development mode
maturin develop --release

# 5. Verify
python -c "import graphforge; print(graphforge.__version__)"

Run checks

# Rust: unit + integration tests across all crates
cargo test --workspace

# Rust: lint
cargo clippy --workspace -- -D warnings

# Python binding: pytest
make test

# Full pre-push suite (Rust + Python)
make pre-push

Next steps