name: inverse layout: true class: center, middle, inverse
---
# Architecture 04 - Galaxy Files and Directory Structure
John Chilton
last_modification
Updated:
text-document
Plain-text slides
|
Tip:
press
P
to view the presenter notes |
arrow-keys
Use arrow keys to move between slides
??? Presenter notes contain extra information which might be useful if you intend to use these slides for teaching. Press `P` again to switch presenter notes off Press `C` to create a new window where the same presentation will be displayed. This window is linked to the main window. Changing slides on one will cause the slide to change on the other. Useful when presenting. --- ### <i class="far fa-question-circle" aria-hidden="true"></i><span class="visually-hidden">question</span> Questions - How is the Galaxy codebase organized? - Where do I find different components? - What is the difference between `lib` and `packages`? --- ### <i class="fas fa-bullseye" aria-hidden="true"></i><span class="visually-hidden">objectives</span> Objectives - Navigate the Galaxy repository structure - Understand the `lib` vs `packages` organization - Locate key files and directories --- layout: introduction_slides topic_name: Galaxy Architecture # Architecture 04 - Galaxy Files and Directory Structure *The physical architecture of the Galaxy code.* --- layout: true name: left-aligned class: left, middle --- layout: true class: center, middle --- class: center ### Project Docs  --- class: center ### Code  --- class: center ### Scripts  --- class: center ### Test Sources  --- class: center ### Continuous Integration  --- class: center ### One Repository, Two Views of a Project  `lib` contains a single monolithic view of the `galaxy` namespace. Each sub-directory of `packages` contains a logical subset of this `galaxy` namespace. Directory symbolic links are used to ensure the same files are used. ??? TODO: a slide before this one describing Python modules and how they map to files using galaxy.util, galaxy.model.mapping, and galaxy.web.framework. --- class: center ### Package Structure  --- class: center ### PyPI  --- class: center  .footnote[Previous: [Galaxy Architecture Principles](/training-material/topics/dev/tutorials/architecture-principles/slides.html) | Next: [Galaxy Web Frameworks](/training-material/topics/dev/tutorials/architecture-frameworks/slides.html)] --- ### <i class="fas fa-key" aria-hidden="true"></i><span class="visually-hidden">keypoints</span> Key points - Project documentation in root (README, CONTRIBUTING, CODE_OF_CONDUCT) - Code in `lib` (monolithic) and `packages` (modular) - Tests in `test` and `lib/galaxy_test` - CI configuration in `.github` - Packages are published to PyPI --- ## Thank You! This material is the result of a collaborative work. Thanks to the [Galaxy Training Network](https://training.galaxyproject.org) and all the contributors!
John Chilton
Tutorial Content is licensed under
Creative Commons Attribution 4.0 International License
.