Skip to main content

System Requirements

Required

  • Python: 3.10, 3.11, 3.12, or 3.13
  • Operating System: Linux, macOS, or Windows (with WSL)
  • Memory: 4GB RAM minimum (8GB+ recommended for large benchmarks)
  • Disk Space: 2GB for base installation, additional space for benchmark data
  • uv: Fast Python package installer (installation guide)
  • Git: For cloning the repository and managing checkpoints
  • API Access: OpenAI, Google Gemini, Anthropic, or local LLM endpoint

Installation Methods

The fastest way to get started:
1

Install uv

If you don’t have uv installed:
2

Clone the repository

3

Install SkyDiscover

This installs the base package with core dependencies:
  • openai>=1.0.0
  • pyyaml>=6.0
  • tqdm>=4.64.0
  • numpy>=1.22.0
4

Verify installation

You should see the CLI help message.

Method 2: Using pip

Alternative installation with pip:

Installing Extras

SkyDiscover uses optional dependency groups for different benchmarks and features:

Math Benchmarks

For circle packing, Erdos problems, and geometric optimization:
Installs: scipy, sympy, jax, optax, torch, scikit-learn, numba, pandas, matplotlib, plotly, networkx, cvxpy, autograd, pymoo, PyWavelets

ADRS Systems Benchmarks

For cloud scheduling and load balancing problems:
Installs: numpy, pandas, networkx>=3.2,<3.4, torch

External Algorithm Backends

For OpenEvolve, GEPA, and ShinkaEvolve:
Installs: openevolve, gepa[full], litellm>=1.81
ShinkaEvolve requires manual installation (see below).

Frontier-CS Benchmark

For competitive programming challenges:
Installs: anthropic, colorlog, datasets, google-genai, google-generativeai, numpy>=2.0.0, python-dotenv, skypilot
Frontier-CS requires numpy 2.x, which may conflict with other benchmarks using numpy 1.x. Use separate virtual environments if needed.

Prompt Optimization

For HotPotQA prompt evolution:
Installs: dspy>=3.1.3, litellm, bm25s, pystemmer, datasets, diskcache, ujson

Development Tools

For contributors and developers:
Installs: pytest, pytest-asyncio, black, isort, mypy, requests

Combining Extras

Install multiple extras at once:

Manual Installation: ShinkaEvolve

ShinkaEvolve is not available on PyPI and requires manual installation:
Then use with:

Environment Variables

LLM API Keys

SkyDiscover automatically reads API keys from environment variables:

Custom API Endpoints

For local or self-hosted LLMs:
config.yaml

Other Environment Variables

Verify Installation

Check Version

Run Basic Test

Test your installation with a minimal example:
test_install.py

Model Configuration

Single Model

Use a single model for all generations:

Multiple Models with Weighted Sampling

Combine multiple models in a config file:
config.yaml
SkyDiscover will randomly select models based on their weights for each generation.

Supported Model Providers

SkyDiscover supports any LiteLLM-compatible model:

Troubleshooting

Import Errors

You’re trying to run a math benchmark without the math extras:
You’re trying to use an external backend without installing it:
Frontier-CS requires numpy 2.x, which may conflict with other benchmarks:

API Key Issues

Ensure your API key is set correctly:
OpenAI and other providers have rate limits. To handle this:
  1. Reduce concurrency in your config:
config.yaml
  1. Add retry logic (built-in by default)
  2. Use multiple models to distribute load:
config.yaml

Performance Issues

  1. Use faster models:
    • Replace gpt-5 with gpt-5-mini or gemini/gemini-2.0-flash
  2. Reduce timeout:
  3. Enable cascade evaluation (evaluates cheap checks first):
  1. Reduce batch size or max solution length:
  2. Disable checkpointing (saves disk I/O):
  3. Use a smaller database:

Platform-Specific Issues

Ensure uv is in your PATH:
Install certificates:
Ensure scripts are executable:

Next Steps

Quick Start

Run your first discovery in under 5 minutes

Configuration

Learn how to configure search algorithms and models

CLI Reference

Complete command-line interface documentation

Python API

Use SkyDiscover programmatically in your Python code