Skip to content

Installation

Galapagos requires Python ≥ 3.10.

Not on PyPI yet

The galapagos name on PyPI currently belongs to an unrelated project, so pip install galapagos will not install this platform. Until it's published, install from source.

From source

Install an editable checkout from the repository:

git clone https://github.com/minnesotanlp/open-galapagos-dev.git
cd open-galapagos-dev
pip install -e .                   # core only
pip install -e ".[all]"            # core + every general-purpose extra

With uv: uv pip install -e ".[all]".

This pulls the lightweight core (the frozen-search path): an OpenAI-compatible client, pydantic, pyyaml, rich, and python-dotenv. After install, import galapagos as gx is ready to use and the galapagos console script is on your PATH.

Optional extras

The core is deliberately minimal. Heavier capabilities live behind extras, so a plain install stays light and fast:

Extra Pulls in Enables
math numpy, scipy numeric tasks — circle-packing, AlgoTune, Heilbronn, …
dev pytest running the test suite
all math every general-purpose extra in one go
pip install "galapagos[math]"        # numpy / scipy for numeric tasks
pip install "galapagos[all]"         # every general-purpose extra at once
pip install "galapagos[dev]"         # pytest, for running the test suite

Some bundled tasks need extra libraries

Galapagos ships a large catalogue of benchmark tasks, and a task's evaluator runs real code. Most numeric tasks are covered by [math]. A few specialized suites declare their own requirements — e.g. graph/data tasks pull networkx/pandas, symbolic regression pulls scikit-learn (and some symbolic-math tasks pull sympy), and some cloud or Apple-silicon kernel tasks need modal or mlx. Each task card lists what it needs; install those on demand, or start with the numeric tasks, which run on core + [math] alone.

Configure a provider

Galapagos talks to any OpenAI-compatible endpoint. The host= you pass to GalapagosModel.from_card(...) selects the client; OPENAI_API_KEY and OPENAI_BASE_URL provide the credentials and endpoint. A .env file in the working directory is read automatically:

# .env
OPENAI_API_KEY=sk-or-...
OPENAI_BASE_URL=https://openrouter.ai/api/v1
# .env
OPENAI_API_KEY=sk-...
# (leave OPENAI_BASE_URL unset)
# .env
OPENAI_API_KEY=EMPTY
OPENAI_BASE_URL=http://localhost:8000/v1

The supported hosts are openai, openrouter, togetherai (alias together), litellm, vllm, huggingface (alias hf), azure, bedrock, anthropic, and google — chosen with one host= argument. See Models for the full host table and per-host credentials.

An API key is required to run

Every run calls a live LLM, so you need a provider key before the first run. The reference setup is an OpenRouter key in OPENAI_API_KEY (e.g. OPENAI_API_KEY=sk-or-..., with OPENAI_BASE_URL=https://openrouter.ai/api/v1), set in the environment or a .env file as shown above.

Verify

import galapagos as gx

print(gx.available_scaffolds())     # ['adaevolve', 'beam_search', 'best_of_n', 'best_of_n_attempts', 'evox', 'meta_harness', 'openevolve', 'topk']
print(gx.registered_scaffolds())    # the runnable subset — the same eight
print(gx.available_tasks())         # every bundled task card

Or from the command line:

galapagos --version
galapagos scaffold list
galapagos task list

Next: the Quickstart.