Package: pynxtools
pynxtoolsis a tool designed for making your experimental data FAIR.
It allows to develop ontologies and to create ontological instances based on theNeXus format.InstallationIt is recommended to use python 3.10 with a dedicated virtual environment for this package.
Learn how to managepython versionsandvirtual environments.Install this package withpipinstallgit+https://github.com/FAIRmat-NFDI/pynxtools.gitfor the latest development version.Scopepynxtools(previously callednexusutils) is intended as a parser for combining various instrument output formats and electronic lab notebook (ELN) formats to an hdf5 file according to NeXus application definitions.Additionally, the software is used in the research data management system NOMAD for
making experimental data searchable and publishable.
NOMAD is developed by the FAIRMAT consortium, as a part of the German National Research Data Infrastructure
(NFDI).The software tools are located insidepynxtoolsand they are
shipped with unit tests located intests.
Some examples with real datasets are provided inexamples.
It guides you through the process of converting instrument raw
data into the NeXus standard and visualising the files content.Command line toolsdataconverter: Creates compliant instances of NeXus/HDF5 files toNeXus schemas.read_nexus: Outputs a debug log for a given NeXus file.generate_eln: Outputs ELN files that can be used to add metadata to the dataconverter routine.DocumentationDocumentation for the different tools can be foundhere.ContributingDevelopment installInstall the package with its dependencies:gitclonehttps://github.com/FAIRmat-NFDI/pynxtools.git\\--branchmaster\\--recursivepynxtoolscdpynxtools
gitsubmodulesync--recursive
gitsubmoduleupdate--init--recursive--jobs=4python-mpipinstall--upgradepip
python-mpipinstall-e.
python-mpipinstall-e".[dev]"There is also apre-commit hookavailable
which formats the code and checks the linting before actually commiting.
It can be installed withpre-commitinstallfrom the root of this repository.Test this softwareEspecially relevant for developers, there exists a basic test framework written inpytestwhich can be used as follows:python-mpytest-svtestsRun examplesA number of examples exist which document how the tools can be used. For a standalone
usage convenient jupyter notebooks are available for each tool. To use them jupyter
and related tools have to be installed in the development environment as follows:python-mpipinstalljupyter
python-mpipinstalljupyterlab
python-mpipinstalljupyterlab_h5webQuestions, suggestions?To ask further questions, to make suggestions how we can improve these tools, to get advice
on how to build on this work, or to get your parser included into NOMAD, you can:Open an issue on thepynxtools GitHubUse our forums atmatsci.orgWrite tosupport@nomad-lab.euContact directly the lead developers of the individual parsers.Does this software require NOMAD or NOMAD OASIS ?No. The data files produced here can be uploaded to Nomad. Therefore, this acts like the framework to design schemas and instances of data within the NeXus universe.TroubleshootingPlease check thisguidefor any issues you face with the tool. If you don't find a solution there, please make a newGithub Issue.