Skip to main content
Gravity Logo

Process management for Galaxy servers.

Documentation Status Gravity on the Python Package Index (PyPI) https://github.com/galaxyproject/gravity/actions/workflows/test.yaml/badge.svg

Overview

Modern Galaxy servers run multiple disparate processes: gunicorn for serving the web application, celery for asynchronous tasks, tusd for fault-tolerant uploads, standalone Galaxy processes for job handling, and more. Gravity is Galaxy’s process manager, to make configuring and running these services simple.

Installing Gravity will give you two executables, galaxyctl which is used to manage the starting, stopping, and logging of Galaxy’s various processes, and galaxy, which can be used to run a Galaxy server in the foreground.

Quick Start

Installation

Python 3.8 or later is required. Gravity can be installed independently of Galaxy, but it is also a dependency of Galaxy since Galaxy 22.01. If you’ve installed Galaxy, then Gravity is already installed in Galaxy’s virtualenv.

To install independently:

$ pip install gravity

Usage

From the root directory of a source checkout of Galaxy, after first run (or running Galaxy’s ./scripts/common_startup.sh), activate Galaxy’s virtualenv, which will put Gravity’s galaxyctl and galaxy commands on your $PATH:

$ . ./.venv/bin/activate
$ galaxyctl --help
Usage: galaxyctl [OPTIONS] COMMAND [ARGS]...

  Manage Galaxy server configurations and processes.

... additional help output

You can start and run Galaxy in the foreground using the galaxy command:

$ galaxy
Registered galaxy config: /srv/galaxy/config/galaxy.yml
Creating or updating service gunicorn
Creating or updating service celery
Creating or updating service celery-beat
celery: added process group
2022-01-20 14:44:24,619 INFO spawned: 'celery' with pid 291651
celery-beat: added process group
2022-01-20 14:44:24,620 INFO spawned: 'celery-beat' with pid 291652
gunicorn: added process group
2022-01-20 14:44:24,622 INFO spawned: 'gunicorn' with pid 291653
celery                           STARTING
celery-beat                      STARTING
gunicorn                         STARTING
==> /srv/galaxy/var/gravity/log/gunicorn.log <==
...log output follows...

Galaxy will continue to run and output logs to stdout until terminated with CTRL+C.

More detailed configuration and usage examples, especially those concerning production Galaxy servers, can be found in the full documentation.

History

1.2.4

1.2.3

1.2.2

1.2.1

1.2.0

Breaking Changes

Major Changes

Other Changes

1.1.1

1.1.0

1.0.8

1.0.7

1.0.6

1.0.5

1.0.4

1.0.3

1.0.2

1.0.1

1.0.0

Version 1.0.0 represents a significant update to Gravity, its features and functionality. Although Gravity 1.x is intended to be backwards compatible with 0.x, you are strongly encouraged to [read the documentation](https://gravity.readthedocs.io/en/latest/) if upgrading to Gravity 1.x or to Galaxy 23.0 (which depends on Gravity 1.x) in order to get the most out of the new features.

0.13.6

0.13.5

0.13.4

0.13.3

0.13.2

0.13.1

0.13.0

0.12.0

0.11.0

0.10.0

0.9

0.8.3

  • Merge galaxycfg and galaxyadm commands to galaxy.

0.8.2

  • Allow for passing names of individual services directly to supervisorctl via the start, stop, and restart methods.

  • Fix a bug where uWSGI would not start when using the automatic virtualenv install method.

0.8.1

  • Version bump because I deleted the 0.8 files from PyPI, and despite the fact that it lets you delete them, it doesn’t let you upload once they have been uploaded once…

0.8

  • Add auto-register to galaxy start if it’s called from the root (or subdirectory) of a Galaxy root directory.

  • Make galaxycfg remove accept instance names as params in addition to config file paths.

  • Use the same hash generated for an instance name as the hash for a generated virtualenv name, so virtualenvs are more easily identified as belonging to a config.

  • Renamed from galaxyadmin to gravity (thanks John Chilton).

0.7

  • Added the galaxyadm subcommand graceful on a suggestion from Nicola Soranzo.

  • Install uWSGI into the config’s virtualenv if requested.

  • Removed any dependence on Galaxy and eggs.

  • Moved project to its own repository from the Galaxy clone I’d been working from.

Older

  • Works in progress as part of the Galaxy code.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gravity-1.2.4.tar.gz (52.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gravity-1.2.4-py3-none-any.whl (50.6 kB view details)

Uploaded Python 3

File details

Details for the file gravity-1.2.4.tar.gz.

File metadata

  • Download URL: gravity-1.2.4.tar.gz
  • Upload date:
  • Size: 52.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gravity-1.2.4.tar.gz
Algorithm Hash digest
SHA256 e534f5577a62e0010c566193923daa68428c8b24afe4ac167e7dffaa7d1be98f
MD5 008c5ceb8c7c6bb872cec2b629571ff3
BLAKE2b-256 5397007efd7a89cc81e6f49e053c19a955041f9838c6a2e68b4b1b3d00269d9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gravity-1.2.4.tar.gz:

Publisher: publish.yaml on galaxyproject/gravity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gravity-1.2.4-py3-none-any.whl.

File metadata

  • Download URL: gravity-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 50.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gravity-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ced04b903df8d6f8a0ee2ebdbd233c36b3c2afd4e029b91acd53255d4e133bc9
MD5 264622dd0081398716adb1bbb2fcd48a
BLAKE2b-256 cb1838bfd1ea0cc08277f68b230ac14d3de54c0e398457b95a7d2a57ee90f193

See more details on using hashes here.

Provenance

The following attestation bundles were made for gravity-1.2.4-py3-none-any.whl:

Publisher: publish.yaml on galaxyproject/gravity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.2.4 This release

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.13.6

2 files

0.13.5

2 files

0.13.4

2 files

0.13.3

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page