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:
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:
Next: the Quickstart.