A NOMAD plugin for analysis of FAIR data.
Project description
NOMAD's Analysis plugin
This is a plugin for NOMAD to facilitate analysis of processed entry archives. The plugin provides schemas to create entries for analysis that can interact with other entries, using them as analysis inputs. Jupyter Analysis schemas generate analysis entries that are connected with an external programming interface, JupyterHub, which allows users to run custom code on the connected input entries.
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
Development
The plugin is still under development. If you would like to contribute, follow these steps:
Install the dependencies
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:
uvuses NOMAD's internal package registry viaindex-urldefined undertool.uv.index-urlinpyproject.toml. If you want to usepipdirectly withoutuvwrapper, use the following:
pip install -e '.[dev]' --index-url https://gitlab.mpcdf.mpg.de/api/v4/projects/2187/packages/pypi/simple
Run the tests
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
Set up the plugin on your local installation
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
Run linting and auto-formatting
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nomad_analysis-0.1.3.tar.gz.
File metadata
- Download URL: nomad_analysis-0.1.3.tar.gz
- Upload date:
- Size: 126.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77720d3e93c1480124de86d618fd0147cd0e474c9031b14b917216b798be1759
|
|
| MD5 |
e8e55b6f0fcef0cd54244a8244c52947
|
|
| BLAKE2b-256 |
596a7194456673d0e5486cb32d453d2974229a391fdf36fc1d62f6ca82230ae8
|
File details
Details for the file nomad_analysis-0.1.3-py3-none-any.whl.
File metadata
- Download URL: nomad_analysis-0.1.3-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5544625bf4e6cd5f10d45e86ea63e1b946277026e384555c5645bb37960b9608
|
|
| MD5 |
3883d59b88b4ba317f62b71140eb6b28
|
|
| BLAKE2b-256 |
4231bea9362aa521c63be37c52fbdd96756168f444ecee2c6fbe37113969223c
|