Install This Plugin¶
Installing a NOMAD plugin has two parts: getting the Python package into the environment, and turning its entry points on in nomad.yaml. The general mechanics are covered by the NOMAD plugin documentation; below is where each part concretely lives for FAIRmat's two workspaces.
In nomad-distro-dev (local development)¶
- Add this repo as a git submodule under
packages/:
git submodule add git@github.com:FAIRmat-NFDI/nomad-eosc-galaxy-actions.git packages/nomad-eosc-galaxy-actions
-
Register it as a workspace package in the root
pyproject.toml: add"nomad-eosc-galaxy-actions"to the plugindependencieslist, andnomad-eosc-galaxy-actions = { workspace = true }under[tool.uv.sources]. Then runuv sync. -
Add both entry points to the root
nomad.yaml:
plugins:
entry_points:
include:
- "nomad_eosc_galaxy_actions.actions.find_peaks:find_peaks_action"
- "nomad_eosc_galaxy_actions.example_uploads:find_peaks_example_upload"
options:
nomad_eosc_galaxy_actions.actions.find_peaks:find_peaks_action:
galaxy_workflow_id: "..." # see below
# galaxy_url: "https://usegalaxy.eu" # default, override if needed
The example upload isn't strictly required. Leave it out if you don't want the XPS Peak Finding via Galaxy entry showing up under Uploads → Add example uploads; but it's the fastest way for anyone else to try this plugin, see Use This Plugin.
There's no separate schema package to enable: triggering happens through NOMAD's generic Actions page, not through a bespoke entry, see Use This Plugin and Explanation for why.
In a (production / Oasis deployment)¶
- Once this plugin is published to PyPI: add it, with a pinned version, to
pyproject.toml's[project.optional-dependencies].pluginslist, alongside the other plugin packages there. - Until then: install it as a git dependency in that same list instead, e.g
"nomad-eosc-galaxy-actions @ git+https://github.com/FAIRmat-NFDI/nomad-eosc-galaxy-actions.git@<tag>". - Ensure that both entry points are activated in your NOMAD configuration (e.g., your
nomad.yaml).
Import the workflow¶
The Action calls an already-imported Galaxy workflow by ID; it never imports or looks one up itself. Import it once, into whichever Galaxy account the Action will run as:
Put the printed workflow_id into nomad.yaml's galaxy_workflow_id option above.
Temporal¶
This plugin needs the CPU action queue running. For local development, run docker compose up -d (brings up Temporal) and uv run poe cpuworker (the worker process), from the nomad-distro-dev repo root.