CLI harness for the Galaxy bioinformatics platform. It wraps Galaxy's REST API to provide command-line and REPL access to histories, datasets, tools, workflows, jobs, and libraries.
This project was initially generated with cli-anything and then refined into
the standalone galaxy-cli package.
- Python 3.9+
- A running Galaxy server
- A Galaxy API key from your target instance
Install from PyPI with uv or pip:
uv tool install galaxy-clipython3 -m pip install galaxy-cliFor local development from this repository:
python3 -m pip install .Verify installation:
which galaxy-cli
galaxy-cli --versionSet your Galaxy server URL and API key:
export GALAXY_URL=https://usegalaxy.org
export GALAXY_API_KEY=your-api-key
galaxy-cli config testSession state is stored in ~/.galaxy-cli/session.json. It is intended for a
single active writer; for parallel automation or multiple concurrent agents,
pass --history-id explicitly instead of relying on shared session state.
galaxy-cli history list
galaxy-cli history create "My Analysis"
galaxy-cli tool search "bowtie"
galaxy-cli workflow list
galaxy-cli workflow list | jq .galaxy-cli emits human-readable text when stdout is a terminal and JSON when
stdout is piped or redirected. Use --json to force JSON in a terminal, or
--no-json to force text output.
Run the REPL:
galaxy-clipython3 -m pytest galaxy_cli/tests/ -v