Installation

Get a Spore node running in under a minute.

Requirements

  • Python 3.11 or later
  • Training works on CUDA, MPS (Apple Silicon), and CPU
  • No port forwarding needed — nodes connect outbound to the bootstrap peer

Install from PyPI

terminal
$pip install sporemesh

Install from source

terminal
$git clone https://github.com/SporeMesh/Spore.git
$cd Spore
$pip install -e .

On NVIDIA GPUs, install Flash Attention 3 for faster training:

terminal
$pip install -e '.[cuda]'

Configure your LLM

Set up an LLM provider for the experiment agent. Supports Anthropic, Groq, OpenAI, and xAI.

terminal
$spore set anthropic <your-api-key>
Anthropic API key saved.

Quick start

The --bootstrap flag copies the bundled training and data prep scripts into your working directory, downloads data, connects to the bootstrap peer, syncs the graph, and starts the experiment loop.

terminal
$spore run --bootstrap
Preparing data... done.
Connected to bootstrap peer. Syncing graph...
Starting experiment loop.

Your identity, database, and config live in ~/.spore/. Every command auto-initializes the node if it hasn't been set up yet.

Run as a daemon

terminal
$spore start
Spore daemon started.
$spore status
$spore stop

Multi-node setup

terminal
# Machine A
$spore start --port 7470
# Machine B — connect to A
$spore start --port 7470 --peer 192.168.1.100:7470
# Machine C — connect to both
$spore start --port 7470 --peer 192.168.1.100:7470 --peer 192.168.1.101:7470

Nodes sync their full experiment history on connect and gossip new experiments in real time. Peer Exchange (PEX) means connecting to one node discovers the rest of the network automatically.

Resource control

Limit how much of your machine Spore uses (scales training batch size). Works on CUDA, MPS, and CPU.

terminal
$spore run --resource 25 # Light — easy on your Mac
$spore run --resource 50 # Balanced
$spore run --resource 100 # Full send (default)

Launch the Explorer

The Explorer is a local web UI with D3.js DAG visualization, live WebSocket feed, frontier table, activity feed, and reputation leaderboard.

terminal
$spore explorer
Explorer running at http://localhost:8470

Directory structure

~/.spore/
├── config.toml          # Node configuration
├── identity/
│   ├── private_key      # Ed25519 private key (hex)
│   └── node_id          # Public key / node identifier
├── db/
│   ├── graph.sqlite     # Research graph (Merkle-DAG)
│   └── reputation.sqlite # Node reputation scores
└── artifact/            # Content-addressed artifact storage