This is a plugin for NOMAD to facilitate analysis of processed entry archives using classes and functions. The plugin also supports ELN schemas which allow the use of these functions in Jupyter notebooks and persist the analysis workflow.
To install the package as a dependency for your NOMAD Oasis, add it to your
pyproject.toml
as under project.dependencies
table:
[project]
dependencies = [
...
"nomad-analysis",
]
Or you can use pip
to install the package in your Python environment:
pip install nomad-analysis
The plugin is still under development. If you would like to contribute, follow these steps:
Clone the project and go into the cloned directory. Create and start a virtual environment (note this project uses Python 3.11):
git clone https://github.com/FAIRmat-NFDI/nomad-analysis.git
cd nomad-analysis
python3.11 -m venv .pyenv
source .pyenv/bin/activate
Install the nomad-analysis
package in editable mode (with -e
flag) along
with development dependencies (with '.[dev]
'):
pip install --upgrade pip
uv pip install -e '.[dev]'
Note:
uv
uses NOMAD's internal package registry viaindex-url
defined undertool.uv.index-url
inpyproject.toml
. If you want to usepip
directly withoutuv
wrapper, use the following:
pip install -e '.[dev]' --index-url https://gitlab.mpcdf.mpg.de/api/v4/projects/2187/packages/pypi/simple
You can run the unit testing using the pytest
package:
python -m pytest -sv
We recommend to install the coverage
and coveralls
packages for a more comprehensive
output of the testing:
pip install coverage coveralls
python -m coverage run -m pytest -sv
Read the NOMAD plugin documentation for all details on how to deploy the plugin on your local NOMAD installation. In summary:
-
Install the plugin repo in your local installation environment
pip install -e <path to the plugin repo>
-
From the following available entry points, include the ones you want (or all) in the nomad.yaml of your local installation:
plugins: include: - nomad_analysis.general:schema - nomad_analysis.jupyter:schema
Ruff auto-formatting is also a part of the GitHub workflow actions. Make sure that before you make a Pull Request to add your contributions to this repo, the following commands run in your local without any errors otherwise the workflow action will fail.
ruff check .
ruff format . --check
Alternatively, if you are using VSCode as your IDE, we added the settings configuration
file, .vscode/settings.json
, such that it performs ruff format
whenever you save
progress in a file.