Development in Galaxy

Galaxy is an open-source project. Everyone can contribute to its development with core Galaxy development, integration of softwares in Galaxy environment, …

Join us and discuss Galaxy project code development on our Matrix channel

cta.icon   Galaxy project code development Chat

Join us and discuss Galaxy tool development on our Matrix channel

cta.icon   Galaxy tool development Chat

Join Galaxy Tools Developers special interest group for all aspects of Galaxy tool development.

cta.icon   Galaxy Tool Developers (SIG)

Material

You can view the tutorial materials in different languages by clicking the dropdown icon next to the slides (slides) and tutorial (tutorial) buttons below.

Core

These are the core, foundational topics for Galaxy development.

Lesson Slides Hands-on Recordings
Contributing a New Feature to Galaxy Core
Debugging Galaxy
Writing Automated Tests for Galaxy

Architecture

These topics cover the architecture of Galaxy and how the different components interact with each other.

Lesson Slides Hands-on Recordings
Architecture 01 - Galaxy Ecosystem and Projects
Architecture 02 - Galaxy Project Management and Contribution
Architecture 03 - Galaxy Architecture Principles
Architecture 04 - Galaxy Files and Directory Structure
Architecture 05 - Galaxy Web Frameworks
Architecture 06 - Dependency Injection in Galaxy
Architecture 07 - Galaxy Task Management with Celery
Architecture 08 - Galaxy Application Components: Models, Managers, and Services
Architecture 09 - Galaxy Plugin Architecture
Architecture 10 - Galaxy File Sources Architecture
Architecture 11 - Galaxy Markdown Architecture
Architecture 12 - Galaxy Client Architecture
Architecture 13 - Galaxy Dependencies Management
Architecture 14 - Galaxy Startup Process
Architecture 15 - Galaxy Production Deployment
Architecture 16 - Galaxy Testing

API

Interacting with the Galaxy API

Lesson Slides Hands-on Recordings
Contributing to BioBlend as a developer
Scripting Galaxy using the API and BioBlend

Dependencies

These topics include information on how dependencies work in Galaxy and how to construct them.

Lesson Slides Hands-on Recordings
Prerequisites for building software/conda packages
Tool Dependencies and Conda
Tool Dependencies and Containers

Tool Development

Here you can learn everything about tool development in the Galaxy Ecosystem

Lesson Slides Hands-on Recordings
Adding and updating best practice metadata for Galaxy tools using the bio.tools registry
Creating Galaxy tools from Conda Through Deployment
Galaxy Interactive Tools
Tool Shed: sharing Galaxy tools
Tool development and integration into Galaxy
ToolFactory: Generating Tools From More Complex Scripts
ToolFactory: Generating Tools From Simple Scripts
Understanding Galaxy Data Managers
nb2workflow: Generating Galaxy Tools From Jupyter Notebooks

Viz

Visualizations in Galaxy give you the ability to implement Javascript apps into Galaxy to analyse and visualise data.

Lesson Slides Hands-on Recordings
Generic plugins
JavaScript plugins

Advanced Features

These are more advanced features of Galaxy which you might want to develop for as they greatly expand the abilities of Galaxy.

Lesson Slides Hands-on Recordings
Data source integration
Galaxy Interactive Tours
Galaxy Webhooks
Setting up a dev Onedata instance

Learning Pathways

Or have a look at one of our learning pathways involving this topic. Learning pathways are sets of tutorials curated for you by community experts to form a coherent set of lessons around a topic, building up knowledge as you go. We always recommend to follow the tutorials in the order they are listed in the pathway.

Frequently Asked Questions

Common questions regarding this topic have been collected on a dedicated FAQ page . Common questions related to specific tutorials can be accessed from the tutorials themselves.

Follow topic updates rss-feed with our RSS Feed

Community Resources

Community Home Maintainer Home

Editorial Board

This material is reviewed by our Editorial Board:

Gildas Le Corguillé avatar Gildas Le Corguilléorcid logoBérénice Batut avatar Bérénice Batut

Are you on the editorial board or want to help out with this topic? View the topic maintainer page for ways to improve this topic!

Contributors

This material was contributed to by:

orcid logoMartin Čech avatar Martin ČechOleg Zharkov avatar Oleg ZharkovClare Sloggett avatar Clare SloggettEstelle Ancelet avatar Estelle Anceletorcid logoArmin Dadras avatar Armin DadrasErik Schill avatar Erik SchillGildas Le Corguillé avatar Gildas Le CorguilléWilliam Durand avatar William DurandSimon Bray avatar Simon Brayorcid logoWolfgang Maier avatar Wolfgang Maierorcid logoAndrei Variu avatar Andrei VariuHervé Ménager avatar Hervé Ménagerorcid logoMatthias Bernt avatar Matthias BerntRoss Lazarus avatar Ross Lazarusorcid logoAlex Ostrovsky avatar Alex OstrovskyDave B. avatar Dave B.orcid logoNate Coraor avatar Nate Coraororcid logoSaskia Hiltemann avatar Saskia HiltemannAysam Guerler avatar Aysam Guerlerorcid logoAmirhossein Naghsh Nilchi avatar Amirhossein Naghsh Nilchiorcid logoBeatriz Serrano-Solano avatar Beatriz Serrano-Solanoorcid logoWendi Bacon avatar Wendi Baconorcid logoAnthony Bretaudeau avatar Anthony Bretaudeauorcid logoClemens Blank avatar Clemens Blankorcid logoSimon Gladman avatar Simon Gladmanorcid logoMarius van den Beek avatar Marius van den Beekorcid logoPaul Zierep avatar Paul ZierepYouri Hoogstrate avatar Youri Hoogstrateorcid logoJohn Chilton avatar John ChiltonNitesh Turaga avatar Nitesh Turagaorcid logoBérénice Batut avatar Bérénice BatutCyril Monjeaud avatar Cyril Monjeaudorcid logoŁukasz Opioła avatar Łukasz Opiołaorcid logoJohan Gustafsson avatar Johan GustafssonStéphanie Legras avatar Stéphanie Legrasorcid logoJohn Davis avatar John Davisorcid logoMarie Josse avatar Marie JosseLoraine Guéguen avatar Loraine Guéguenorcid logoYvan Le Bras avatar Yvan Le BrasDenys Savchenko avatar Denys Savchenkoorcid logoNicola Soranzo avatar Nicola SoranzoDavid López avatar David Lópezorcid logoGianmauro Cuccuru avatar Gianmauro CuccuruTunc Kayikcioglu avatar Tunc KayikciogluAssunta DeSanto avatar Assunta DeSantoLain Pavot avatar Lain Pavotorcid logoCameron Hyde avatar Cameron Hydeorcid logoHelena Rasche avatar Helena Rascheorcid logoPhil Reed avatar Phil Reedorcid logoBjörn Grüning avatar Björn GrüningNiall Beard avatar Niall Beardorcid logoCristóbal Gallardo avatar Cristóbal GallardoDannon Baker avatar Dannon Baker

Funding

These individuals or organisations provided funding support for the development of this resource