gravity
Command-line utilities to assist in managing Galaxy servers
What it is and what it does
Gravity is a process manager for Galaxy servers that orchestrates multiple disparate services—web application servers (gunicorn), asynchronous task workers (celery), file upload handlers (tusd), and standalone Galaxy processes—through a unified command-line interface. It provides two main entry points: `galaxyctl` for managing service lifecycle (start, stop, log retrieval) and `galaxy` for running a Galaxy server in the foreground with live log output.
The package abstracts away the complexity of configuring and coordinating these services, supporting both supervisor and systemd as underlying process managers. It reads Galaxy configuration from YAML files, generates appropriate service definitions, and handles process supervision. Gravity is a dependency of Galaxy since version 22.01, though it can be installed independently for use with Galaxy source checkouts or custom deployments.
Use it for:
- Start and stop all Galaxy services together using `galaxyctl` rather than managing gunicorn, celery, and tusd individually.
- Run Galaxy in the foreground during development with `galaxy` to see all service logs in real time until interrupted.
- Configure Galaxy services declaratively via YAML and have Gravity generate supervisor or systemd configurations automatically.
- Manage Galaxy server processes on POSIX systems where supervisor or systemd is available as the underlying process manager.
- Deploy Galaxy in production with systemd integration, including memory controls and journald log namespace configuration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Gravity manages multiple Galaxy server processes (gunicorn, celery, tusd, and others) through a unified CLI, providing start/stop/logging control via the `galaxyctl` command and a foreground runner via the `galaxy` command.
Yes. Gravity is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and solves a real operational problem for Galaxy deployments. Install it if you are running a Galaxy server or managing Galaxy from source; it is already a dependency of Galaxy 22.01+. Low install friction and broad Python version support (3.8–3.14) make adoption straightforward.
Install
gravity on PyPI
pip
pip install gravityuv
uv add gravitypoetry
poetry add gravityInstalling gravity
Before you install
Low install friction; pure Python wheel with no compiled dependencies. Active maintenance with recent releases; last commit 2026-08-13. Nine runtime dependencies (Click, supervisor, pyyaml, packaging, pydantic, pydantic-settings, jsonref, requests, requests-unixsocket) are all standard ecosystem packages.
License in practice
MIT license (permissive) imposes no significant restrictions on use, modification, or distribution in proprietary or open-source contexts.
Quickstart
$ pip install gravity
$ . ./.venv/bin/activate
$ galaxyctl --help
$ galaxy
Requires Python 3.8 or later. Intended for Galaxy server deployments; most useful when Galaxy is already installed or when managing a Galaxy source checkout.
Verify before relying
- Whether gravity can be used standalone outside a Galaxy deployment context, or if it requires Galaxy configuration files to function.
- Performance characteristics when managing large numbers of concurrent processes or in high-availability Galaxy clusters.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — Click, supervisor, pyyaml, packaging, pydantic, pydantic-settings, jsonref, requests, requests-unixsocket |
| Maintenance | actively maintained — 64 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 108,052/month — #12,581 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gravity-1.2.3-py3-none-any.whl
Keywords: gravity, galaxy
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
galaxy-release-utilProvides command-line scripts to automate…
unclear · top 15,000 on PyPI
pulsar-galaxy-libPulsar Galaxy Lib is a Python server that…
permissive · top 15,000 on PyPI
total-perspective-vortexTotal Perspective Vortex (TPV) provides dynamic…
permissive · top 15,000 on PyPI
bioblendBioBlend provides a Python client library for…
permissive · top 15,000 on PyPI
uvicorn-workerIntegrates Uvicorn's ASGI server with…
permissive · top 5,000 on PyPI
gxformat2Parses, validates, and converts Galaxy workflow…
permissive · top 15,000 on PyPI
supervisorSupervisor is a client/server system that…
permissive · top 5,000 on PyPI
gunicornGunicorn is a WSGI and ASGI HTTP server for…
permissive · top 1,000 on PyPI
superlanceSuperlance provides plugin utilities for…
permissive · top 15,000 on PyPI
supervisord-dependent-startupA Supervisor plugin that orchestrates service…
permissive · top 15,000 on PyPI