Plugins¶
Plugins allow one to add Python-based functionality to NOMAD without a custom NOMAD image or release. Plugins can be installed at NOMAD start-up time. Therefore, a NOMAD installation or Oasis can be configured with a different custom set of plugins or disable unnecessary plugins.
Note
You might also want to read the how-to guide on plugins
Plugin entry point reference¶
This is a list of the available plugin entry point configuration models.
AppEntryPoint¶
Base model for a app plugin entry points.
name | type | |
---|---|---|
id | str |
Unique identifier corresponding to the entry point name. Automatically set to the plugin entry point name in pyproject.toml. |
entry_point_type | Literal[app] |
Determines the entry point type.default: app |
name | str |
Name of the plugin entry point. |
description | str |
A human readable description of the plugin entry point. |
plugin_package | str |
The plugin package from which this entry points comes from. |
app | App |
The app configuration. |
NormalizerEntryPoint¶
Base model for normalizer plugin entry points.
name | type | |
---|---|---|
id | str |
Unique identifier corresponding to the entry point name. Automatically set to the plugin entry point name in pyproject.toml. |
entry_point_type | Literal[normalizer] |
Determines the entry point type.default: normalizer |
name | str |
Name of the plugin entry point. |
description | str |
A human readable description of the plugin entry point. |
plugin_package | str |
The plugin package from which this entry points comes from. |
level | int |
Integer that determines the execution order of this normalizer. Normalizers are run in order from lowest level to highest level.default: 0 |
ParserEntryPoint¶
Base model for parser plugin entry points.
name | type | |
---|---|---|
id | str |
Unique identifier corresponding to the entry point name. Automatically set to the plugin entry point name in pyproject.toml. |
entry_point_type | Literal[parser] |
Determines the entry point type.default: parser |
name | str |
Name of the plugin entry point. |
description | str |
A human readable description of the plugin entry point. |
plugin_package | str |
The plugin package from which this entry points comes from. |
level | int |
Integer that determines the execution order of this parser. Parser with lowest level will attempt to match raw files first.default: 0 |
mainfile_contents_re | str |
A regular expression that is applied the content of a potential mainfile. If this expression is given, the parser is only considered for a file, if the expression matches. |
mainfile_name_re | str |
A regular expression that is applied the name of a potential mainfile. If this expression is given, the parser is only considered for a file, if the expression matches.default: .* |
mainfile_mime_re | str |
A regular expression that is applied the mime type of a potential mainfile. If this expression is given, the parser is only considered for a file, if the expression matches.default: .* |
mainfile_binary_header | bytes |
Matches a binary file if the given bytes are included in the file. |
mainfile_binary_header_re | bytes |
Matches a binary file if the given binary regular expression bytes matches the file contents. |
mainfile_alternative | int |
If True, the parser only matches a file, if no other file in the same directory matches a parser.default: False |
mainfile_contents_dict | dict |
Is used to match structured data files like JSON or HDF5. |
supported_compressions | List[str] |
Files compressed with the given formats (e.g. xz, gz) are uncompressed and matched like normal files.default: [] |
SchemaPackageEntryPoint¶
Base model for schema package plugin entry points.
name | type | |
---|---|---|
id | str |
Unique identifier corresponding to the entry point name. Automatically set to the plugin entry point name in pyproject.toml. |
entry_point_type | Literal[schema_package] |
Specifies the entry point type.default: schema_package |
name | str |
Name of the plugin entry point. |
description | str |
A human readable description of the plugin entry point. |
plugin_package | str |
The plugin package from which this entry points comes from. |
Default plugin entry points¶
This is a list of the plugin entry points that are activated by default:
normalizer: bandstructurenormalizer (This is the normalizer for band structure in NOMAD. ), dosnormalizer (This is the normalizer for DOS in NOMAD. ), soapnormalizer (This is the normalizer for SOAP in NOMAD. ), spectranormalizer (This is the normalizer for spectra in NOMAD. ), systemnormalizer (This is the normalizer for system in NOMAD. ), simulationworkflownormalizer (This is the normalizer for simulation workflows in NOMAD. )
parser: parsers/abacus, parsers/abinit, parsers/aflow, parsers/amber, parsers/ams, parsers/asap, parsers/asr, parsers/atk, parsers/atomate, parsers/bigdft, parsers/bopfox, parsers/castep, parsers/charmm, parsers/chemotion, parsers/cp2k, parsers/cpmd, parsers/crystal, parsers/dftbplus, parsers/dl-poly, parsers/dmol, parsers/edmft, parsers/eels, parsers/elabftw, parsers/elastic, parsers/elk, parsers/exciting, parsers/fhi-aims, parsers/fhi-vibes, parsers/fleur, parsers/fplo, parsers/gamess, parsers/gaussian, parsers/gpaw, parsers/gromacs, parsers/gromos, parsers/gulp, parsers/h5md, parsers/lammps, parsers/lib-atoms, parsers/lobster, parsers/magres, parsers/molcas, parsers/mopac, parsers/namd, parsers/nwchem, parsers/ocean, parsers/octopus, parsers/onetep, parsers/openkim, parsers/openmx, parsers/orca, parsers/phonopy, parsers/psi4, parsers/qball, parsers/qbox, parsers/quantumespressoepw, parsers/quantumespressophonon, parsers/quantumespressoxspectra, parsers/quantumespresso, parsers/siesta, parsers/soliddmft, parsers/tbstudio, parsers/tinker, parsers/turbomole, parsers/vasp, parsers/w2dynamics, parsers/wannier90, parsers/wien2k, parsers/xtb, parsers/yambo
schema package: runschema (Run schema plugin for NOMAD. ), simulationworkflowschema (This is a collection of schemas for various types of simulation workflows. )