Install This Plugin¶
In nomad-distro-dev¶
This plugin already lives at packages/nomad-semantic-web-service and is wired
into the workspace:
.gitmoduleshas apackages/nomad-semantic-web-servicesubmodule entry.- The root
pyproject.tomllistsnomad-semantic-web-serviceas a dependency and as a[tool.uv.sources]workspace member. nomad.yaml'splugins.entry_points.includelist must contain both entry points, since this repo's include list is a non-empty explicit allowlist (everything not listed is dormant):
plugins:
entry_points:
include:
- "nomad_semantic_web_service.apis:api_entry_point"
- "nomad_semantic_web_service.schema_packages:schema_package_entry_point"
- "nomad_semantic_web_service.schema_packages:downloaded_dataset_entry_point"
- From the repository root, run
uv sync, then start NOMAD (poe start).
In another NOMAD Oasis¶
Read the NOMAD plugin documentation
for how to add this package as a dependency and enable its entry points in your
own nomad.yaml.
Dependencies¶
This plugin requires httpx, owlready2, and rdflib for the ICAT+ proxy and
ontology mapping, plus pyparsing<3 to work around a SPARQL-parsing
incompatibility between nomad-lab's pinned rdflib==5 and newer pyparsing
releases (see Explanation).
Optional: nexus extra (auto-convert downloaded .h5 to NXxas)¶
To enable auto-conversion of downloaded ESRF .h5 files into NeXus NXxas
entries (MatchedDataset.auto_convert_to_nxxas), install the nexus extra,
which brings pynxtools-xas:
Without it, downloads still work and only the conversion step is skipped (with a
warning). pynxtools-xas must be paired with a pynxtools that ships the NXxas
contributed definitions.