[Nexus] NAPI future
Clausen, Bjorn
clausen at lanl.gov
Thu Oct 22 22:01:25 BST 2020
Mark, et al.,
At the Lujan Center we have not made any major changes to our data acquisition system in a while; decades!
And, as far as I know, we do not have plans to do so. I will inquire with our developer (out on medical leave)...
That means we are using HDF4 and the NAPI (C/C++).
We are running on old linux distributions (RHL6) and will be required to update that soon.
If that impacts the compatibility of the current NAPI then we could have issues.
I do not recognize the utilities listed below : I have my own C++ programs including the NAPI header files and libraries that use NXopen, NXopendata, NXgetdata, etc. to read data out of the NeXus files and process it (pardon my ignorance here, I am not a programmer - I just use the data ;-)
I hope this gives you the informatioin you need?
Thanks,
Bjørn
=================================================
Bjørn Clausen, Ph.D., M.Sc., B.Sc.
MST-8, SMARTS Instrument Scientist
Los Alamos National Laboratory
TA-53, Bldg. 622, Rm. 308
P.O. Box 1663, MS H805
Los Alamos, NM 87545, USA
Phone: (505) 667-2944
Cell: (505) 695-5294
Fax: (505) 665-2676
E-mail: clausen at lanl.gov
Web: http://public.lanl.gov/clausen
=================================================
-----Original Message-----
From: NeXus <nexus-bounces at shadow.nd.rl.ac.uk> On Behalf Of Koennecke Mark (PSI) via NeXus
Sent: Thursday, October 22, 2020 8:09 AM
To: Discussion forum for the NeXus data format <nexus at nexusformat.org>
Cc: Koennecke Mark (PSI) <mark.koennecke at psi.ch>
Subject: [EXTERNAL] [Nexus] NAPI future
Dear NeXus-API users,
The NeXus International Advisory Committee (NIAC) is contemplating dropping support for the NeXus-API (NAPI, https://manual.nexusformat.org/napi.html?highlight=napi ), his is a library for accessing NeXus data files. Before we make a decision, we would like to determine how many people are still using it. If you still rely on this API, please let the NIAC know! In order to focus our efforts better, we would also like to have some information about which parts of NAPI are still used.
But first some history: The NeXus-API was conceived shortly after the inception of NeXus as a means to simplify the access to files in the then prevalent HDF4 format. The HDF4 API is very complex and NAPI abstracted a lot of that complexity away. At that time the NAPI was a major selling point for NeXus.
Years later the HDF group presented HDF-5 and it was felt that the NAPI should support HDF-5 too. And this being a transition period, it should support both HDF4 and HDF5 transparently. Consequently the NAPI was refactored to allow other file formats and HDF5 was integrated.
Some more years later, the community wished to have a human readable ASCII version of the NeXus file format. XML was in favour at the time and thus NAPI was extended to support an XML version of NeXus using the mxml library.
Moving to the current day, the simpler HDF5 native interface and python packages such as h5py means many people are writing NeXus format files directly with these interfaces rather than using NAPI. This lead to the decision by the NIAC to place the NAPI in maintenance only mode.
The NAPI now requires some attention, most notably to make it work with newer versions of the underlying libraries such as mxml-3.x which introduced a breaking API change and is now present on many recent linux distributions. We are preparing a new NAPI release to address this. But the NIAC as an organization is relying on volunteers to get its work done and is hard pressed to maintain NAPI, so we wish to determine where best to divert our efforts.
To help the NIAC make the most informed decisions, please could you answer a few questions. Please place an X between the square brackets in order to mark statements which apply.
## Questions
Abandoning the support for NAPI for bugfix or compatibility with future linux/library/compiler versions will cause me problems at the following level:
[X] Critical: I am using NAPI in critical data acquisition or data reduction/analysis software [] Major: important applications may not be usable at some future date [] Minor: inconvenience, I have alternatives/can live with this [] None: either i am not using NAPI, or I have copies of all the dependencies that I build/maintain myself
[] I want the NIAC to continue developing NAPI and make it support more HDF5 features. Please list the
HDF5 feature you miss in NAPI.
Which of the NAPI file format bindings do you use:
[X] HDF4
[] HDF5
[] XML
Which of the NAPI language bindings do you use?
[X] ANSI-C
[] Fortran
[X] C++
[] Java
[] IDL
[] Swig generated bindings to Tcl, perl, ...
Which of the NAPI utilities do you use?
[] NXbrowse
[] NXingest
[] NXtranslate
[] NXconvert
[] NXdump
[] NXsummary
General
[] I am willing to help maintain NAPI
The NeXus validator: cnxvalidate, is missing in this list. This is a separate product to NAPI and the NIAC is committed to maintaining it. It uses the HDF5 API directly rather than NAPI.
Thank you for your time filling in this questionnaire!
Please send replies to nexus-committee at nexusformat.org
If you have further concerns or comments regarding the NAPI, please inform your NIAC representative - these are listed at https://www.nexusformat.org/NIAC.html
If your facility is using NeXus, but has no representation on the NIAC, please consider joining the NIAC.
Best Regards,
Freddie Akeroyd
Mark Koennecke
on behalf of the NIAC
_______________________________________________
NeXus mailing list
NeXus at nexusformat.org
https://lists.nexusformat.org/mailman/listinfo/nexus
More information about the NeXus
mailing list