Galaxy Ecosystem and Projects
Learning Questions
What projects make up the Galaxy ecosystem?
How do different Galaxy projects interact?
What tools are available for developers vs administrators?
Learning Objectives
Identify the major projects in the Galaxy ecosystem
Understand the difference between user-facing and developer tools
Learn about Galaxy communication channels
Chat: galaxyproject Lobby (via Element)
GitHub: github.com/galaxyproject
Bluesky: bsky.app/profile/galaxyproject.bsky.social
Mastodon: @galaxyproject
LinkedIn: Galaxy Project
The /galaxyproject projects
The architecture of the ecosystem.
Matrix Community with Element

Access via Element client or any Matrix client at https://matrix.to/#/#galaxyproject_Lobby:gitter.im
More links we’ll mention as we go through the slides:
https://matrix.to/#/#galaxyproject_FederatedGalaxy:gitter.im
https://matrix.to/#/#bgruening_docker-galaxy-stable:gitter.im
https://matrix.to/#/#Galaxy-Training-Network_Lobby:gitter.im
Working group chats linked at https://galaxyproject.org/community/wg/.
User-Facing Applications
The main Galaxy application.
Web interface, database model, job running, etc…
Also includes other web applications including the ToolShed.
galaxyproject/training-material

Galaxy training material for scientists, developers, and admins. Powers *https://training.galaxyproject.org/*.
Resources: README | Issues | License: MIT
The Galaxy Hub is the community and documentation hub for the Galaxy Project. It is maintained by the community through this GitHub repository. It is a static website built using the metalsmith static site generator.
Powers *https://galaxyproject.org/*.
Content distribution system for publishing to multiple social media platforms. Post once, share across Mastodon, Bluesky, Matrix, Slack, and LinkedIn with automatic formatting.
Resources: README | Issues | License: CC0-1.0
Community resource repository for Galaxy users and contributors. Provides access to the Galaxy Community Catalog featuring tools, training materials, and workflows. Galaxy Labs for creating customized community subdomain pages.
Resources: README | Issues | License: MIT
Official Python client for the Galaxy, ToolShed, and CloudMan APIs.
Best documented path to scripting the Galaxy API.
Resources: README | Issues | License: MIT
A standalone client library for the Galaxy API, built using the type definitions from the main Galaxy client.
https://www.npmjs.com/package/@galaxyproject/galaxy-api-client
Galaxy API bindings for other languages, less actively maintained.
Resources:
bgruening/docker-galaxy-stable
High quality Docker containers for stable Galaxy environments.
Releases corresponding to each new version of Galaxy.
Many flavors available.
Resources: README | Issues | License: MIT

For Plugin Developers
Galaxy tools maintained by the IUC (“Intergalactic Utilities Commission”).
A variety of tools, generally of high quality including many of the core tools for Galaxy main.
Demonstrates current tool development best practices - development on github and then deployed to test/main ToolSheds
Many older tools appearing on usegalaxy.org.
Resources:
Tools Aside - More Repositories
Other repositories with high quality tools:
Peter Cock’s repos:
Intergalactic Workflow Commission. Hosting workflows and defining best practices for publishing workflows.
https://matrix.to/#/#galaxyproject_iwc:gitter.im
Command-line utilities to assist in the development of Galaxy tools and workflows. Linting, testing, deploying to ToolSheds…
The best practice approach for Galaxy tool development!
Builds Galaxy environments for Galaxy tool development including Docker container, virtual machines, Google compute images
Resources:
galaxyproject/galaxy-language-server

Language server implementation for Galaxy tools. Visual Studio Code extension for tool development.
Test execution, code completion, best practices, documentation tooltips, etc..
Resources: README | Issues | License: Apache 2.0

Build Galaxy framework dependencies as Python wheels when needed.
Resources: README | Issues | License: MIT

Provides stable URLs and caching for application links, etc.. An important layer for reproducibility but largely transparent.
Resources: README | Issues | License: MIT
For Deployers and Admins
galaxyproject/{ansible-*, *-playbook}
usegalaxy-eu/{ansible-*, *-playbook}
Ansible components to automate almost every aspect of Galaxy installation and maintenance.
Ansible is an advanced configuration management system
These playbooks are used to maintain Galaxy main, cloud and Docker images, virtual machines, …
A process manager (supervisor) and management tools for Galaxy servers.
galaxyctl which is used to manage the starting, stopping, and logging of Galaxy’s various processes.
galaxy which can be used to run a Galaxy server in the foreground.
Resources: README | Issues | License: MIT
Kubernetes helm chart for deploying Galaxy. Leveraged by cloudlaunch and CloudMan but usable standalone.
Resources: README | Issues | License: MIT

Distributed job execution engine for Galaxy.
Stages data, scripts, configuration.
Can run jobs on Windows machines.
Can act as its own queuing system or access an existing cluster DRM.
Resources: README | Issues | License: Apache 2.0
Library and CLI for managing Galaxy plugins - tools, index data, and workflows.
Layer on top of BioBlend building useful utilities for working with the Galaxy API from an administrator perspective.
Handy command-line utility for Galaxy administrators.
ephemeris vs gxadmin
Ephemeris generally talks to the Galaxy API and is a pure Python project, gxadmin talks directly to the Galaxy database and relevant files.
Total Perspective Vortex
galaxyproject/total-perspective-vortex **

TotalPerspectiveVortex (TPV) provides an installable set of dynamic rules for the Galaxy application that can route entities (Tools, Users, Roles) to appropriate job destinations based on a configurable yaml file.
Resources: README | Issues | License: MIT

Django-based infrastructure for creating pools of users, etc.. for training events and connecting them to Galaxy.
Some (out of many) friends of the project


Check out dev training materials “Tool Dependencies and Conda” and “Tool Dependencies and Containers” for more context.
Putting it all together

The rest of the slides will focus on the core repository.
Key Takeaways
Multiple user-facing applications (Galaxy, Training Material)
Developer libraries for plugin developers
Admin tools for deployment
Active community on Matrix (via Element client)