Skip to content

Note on versioning

Keeping track of versions matters for every software and data-modeling project. We follow PEP 440 for version numbers, read at run time via importlib.metadata. Several versions are relevant to a converted file: that of pynxtools, that of the NeXus definitions it was generated against, and those of h5py and the underlying HDF5 library. See the corresponding section of the pynxtools documentation for where each of these is recorded.

pynxtools-raman version

As best practice for pynxtools plugins, pynxtools-raman records its own version as a programID instance of NXprogram in every converted file. ID serves as a placeholder that can be either omitted or replaced by an integer if multiple programs need to be distinguished. Counting should start at one, i.e., program or program1 are preferred options. Specifically, the field program inside the programID instance should store the distribution (package) name. The attribute program/@version should store a version string following PEP440.