|
8 | 8 | [](https://coveralls.io/github/FAIRmat-NFDI/pynxtools?branch=master) |
9 | 9 | [](https://doi.org/10.5281/zenodo.13862042) |
10 | 10 |
|
11 | | -`pynxtools` is a tool designed for making your experimental data FAIR. |
12 | | -It allows to develop ontologies and to create ontological instances based on the [NeXus format](https://www.nexusformat.org/). |
| 11 | +<table align="center"> |
| 12 | +<tr><td align="center" width="10000"> |
13 | 13 |
|
14 | | -# Scope |
| 14 | +# <strong> pynxtools: FAIR data handling using NeXus </strong> |
| 15 | +</td></tr></table> |
15 | 16 |
|
16 | | -`pynxtools` is a parser for combining various instrument output formats and electronic lab notebook (ELN) formats into an [HDF5](https://support.hdfgroup.org/HDF5/) file according to NeXus application definitions. |
17 | 17 |
|
18 | | -Additionally, the software can be used as a plugin in the research data management system NOMAD for |
19 | | -making experimental data searchable and publishable. NOMAD is developed by the FAIRmat consortium which is a consortium of the German National Research Data Infrastructure (NFDI). |
| 18 | +`pynxtools` is an open-source Python package designed for making your experimental data FAIR. `pynxtools` is a parser for combining various instrument output formats and electronic lab notebook (ELN) formats into an HDF5 file according to NeXus application definitions. |
20 | 19 |
|
21 | | -# Installation |
| 20 | +Additionally, the software can be used as a plugin in the research data management system NOMAD for making experimental data searchable and publishable. NOMAD is developed by the FAIRmat consortium which is a consortium of the German National Research Data Infrastructure (NFDI). |
22 | 21 |
|
23 | | -It is recommended to use python 3.12 with a dedicated virtual environment for this package. |
24 | | -Learn how to manage [python versions](https://github.com/pyenv/pyenv) and |
25 | | -[virtual environments](https://realpython.com/python-virtual-environments-a-primer/). |
| 22 | +Read more in the [official documentation page](https://fairmat-nfdi.github.io/pynxtools/). |
26 | 23 |
|
27 | | -Install the latest stable version of this package from PyPI with |
| 24 | +# How to cite this work |
28 | 25 |
|
29 | | -```shell |
30 | | -pip install pynxtools |
31 | | -``` |
32 | | - |
33 | | -You can also install the latest _development_ version with |
34 | | - |
35 | | -```shell |
36 | | -pip install git+https://github.com/FAIRmat-NFDI/pynxtools.git |
37 | | -``` |
38 | | - |
39 | | -# Documentation |
40 | | -Documentation can be found [here](https://fairmat-nfdi.github.io/pynxtools/). |
41 | | - |
42 | | -# Repository structure |
43 | | - |
44 | | -The software tools are located inside [`src/pynxtools`](https://github.com/FAIRmat-NFDI/pynxtools/tree/master/src/pynxtools). They are shipped with unit tests located in [`tests`](https://github.com/FAIRmat-NFDI/pynxtools/tree/master/tests). |
45 | | -Some examples from the scientific community are provided in [`examples`](https://github.com/FAIRmat-NFDI/pynxtools/tree/master/examples). They guide you through the process of converting instrument data into the NeXus standard and visualising the files' content. |
46 | | - |
47 | | -# NOMAD integration |
48 | | - |
49 | | -## Does this software require NOMAD or NOMAD OASIS? |
50 | | - |
51 | | -No. The data files produced here can be uploaded to NOMAD. Therefore, this tool acts as the framework to design schemas and instances of data within the NeXus universe. It can, however, be used as a NOMAD plugin to parse nexus files, please see the section below for details. |
52 | | - |
53 | | -## How to use pynxtools with NOMAD |
54 | | - |
55 | | -To use pynxtools with NOMAD, simply install it in the same environment as the `nomad-lab` package. |
56 | | -NOMAD will recognize pynxtools as a plugin automatically and offer automatic parsing of `.nxs` files. In addition, NOMAD will install a schema for NeXus application definitions. |
57 | | -By default, `pynxtools` is already included in the NOMAD [production]https://nomad-lab.eu/prod/v1/gui/ and [staging](https://nomad-lab.eu/prod/v1/staging/gui/) deployments. |
58 | | - |
59 | | -# Contributing |
60 | | - |
61 | | -## Development install |
62 | | - |
63 | | -Install the package with its dependencies: |
64 | | - |
65 | | -```shell |
66 | | -git clone https://github.com/FAIRmat-NFDI/pynxtools.git \\ |
67 | | - --branch master \\ |
68 | | - --recursive pynxtools |
69 | | -cd pynxtools |
70 | | -git submodule sync --recursive |
71 | | -git submodule update --init --recursive --jobs=4 |
72 | | -python -m pip install --upgrade pip |
73 | | -python -m pip install -e . |
74 | | -python -m pip install -e ".[dev]" |
75 | | -``` |
76 | | - |
77 | | -There is also a [pre-commit hook](https://pre-commit.com/#intro) available |
78 | | -which formats the code and checks the linting before actually commiting. |
79 | | -It can be installed with |
80 | | -```shell |
81 | | -pre-commit install |
82 | | -``` |
83 | | -from the root of this repository. |
84 | | - |
85 | | -## Test this software |
86 | | - |
87 | | -Especially relevant for developers, there exists a basic test framework written in |
88 | | -[pytest](https://docs.pytest.org/en/stable/) which can be used as follows: |
89 | | - |
90 | | -```shell |
91 | | -python -m pytest -sv tests |
92 | | -``` |
93 | | - |
94 | | -## Run examples |
95 | | - |
96 | | -A number of examples exist which document how the tools can be used. For a standalone |
97 | | -usage convenient jupyter notebooks are available for each tool. To use these notebooks, jupyter |
98 | | -and related tools have to be installed in the development environment as follows: |
99 | | - |
100 | | -```shell |
101 | | -python -m pip install jupyter |
102 | | -python -m pip install jupyterlab |
103 | | -python -m pip install jupyterlab_h5web |
104 | | -``` |
105 | | -# Troubleshooting |
106 | | - |
107 | | -Please check this [guide](https://fairmat-nfdi.github.io/pynxtools/tutorial/troubleshooting.html) for any issues you face with the tool. If you don't find a solution there, please make a new [Github Issue](https://github.com/FAIRmat-NFDI/pynxtools/issues/new?template=bug.yaml). |
108 | | - |
109 | | -# Questions, suggestions? |
110 | | - |
111 | | -To ask further questions, to make suggestions how we can improve these tools, to get advice |
112 | | -on how to build on this work, or to get your parser included into NOMAD, you can: |
113 | | - |
114 | | -- Open an issue on the [pynxtools GitHub](https://github.com/FAIRmat-NFDI/pynxtools/issues) |
115 | | -- Use our forums at [matsci.org](https://matsci.org/c/nomad/32) |
116 | | -- Write to [support@nomad-lab.eu](mailto:support@nomad-lab.eu) |
117 | | -- Contact directly the lead developers of the individual parsers. |
| 26 | +Shabih, S., Dobener, F., Albino, A., Brockhauser, S., Brückner, S., Chang, T., Fekete, Á., Ginzburg, L., Haraszti, T., Hildebrandt, R., Kühbach, M., Maier, S., Márquez, J. A., Mozumder, R., Pielsticker, L., Rettig, L., Scheidgen, M., Weber, H. B., Koch, C. T., & Draxl, C. (2025). Pynxtools: A Python Library for NeXus-Compliant Experimental Data Conversion and Integration with NOMAD Platform (v0.10.6). Zenodo. https://doi.org/10.5281/zenodo.15341365 |
0 commit comments