Package: wnpp
Severity: wishlist
Owner: Evgeny <posenits...@irsamc.ups-tlse.fr>

* Package name    : trexio
  Version         : 2.2.0
  Upstream Author : Evgeny Posenitskiy <posenits...@irsamc.ups-tlse.fr>
* URL             : https://github.com/TREX-CoE/trexio 
* License         : (BSD)
  Programming Lang: (C, C++, Fortran, Python)
  Description     : TREX I/O library and data format to exchange the quantum 
chemistry data.


The TREXIO library is an open-source software for the quantum chemistry 
community. It allows
to efficiently write and read data in a common format using the default back 
end which relied 
on the HDF5 library. 
TREXIO has been developed within the TREX-CoE project and it is now a hard 
dependency
of several scientific codes including Quantum Package, QMC=Chem, CHAMP, 
GammCor, QMCkl etc.

Moreover, TREXIO has bindings in the OCaml programming language and having a 
Debian package 
for it would simplify the installation experience for OCaml users.

For now, it would be nice to package at least the C library with the Fortran 
binding as these 
are the most commonly used ones. Having a C library installed via Debian will 
simplify a lot
development of binding with languages like Rust, OCaml and Julia.

The build system relies on Autotools to build and install the shared C library 
`libtrexio`.
It provides additional `m4` macros to detect the HDF5 library and some other 
dependencies.
We can already produce debian package on the user machine and I wrote a short 
README about
it here: https://github.com/TREX-CoE/trexio/blob/master/debian/README.md. It 
requires only
the Autotools-generated distribution tarball.

TREXIO default dependencies are (when building from the distribution tarball, 
not from the 
GitHub repository clone):
 - libc
 - C compiler (gcc/icc/clang)
 - Autotools (autoconf >= 2.69, automake >= 1.11, libtool >= 2.2) or CMake (>= 
3.16)
 - Fortran compiler (gfortran/ifort) [can be disabled at the `configure` time]
 - HDF5 library (>= 1.8) for high-performance I/O [can be disabled at the 
`configure` time]


This package can be particularly interesting for the Debichem team 
(https://wiki.debian.org/Debichem) and, in particular,
for the *Input prepataion and output processing* subsection:
https://blends.debian.org/debichem/tasks/input-generation-output-processing

To the best of our knowledge, TREXIO is the first package that attemps to unify 
data exchange.
However, there are some Python packages like `cclib` that can parse the output 
of some 
chemistry programs and convert them into other formats. However, they do not 
provide a uniform
API that can be used within the chemistry programs to *a priori* write/read 
data in a common 
format.

As this is my first packaging attempt, I do not know about the best practices 
and would 
appreciate any piece of advice.

Reply via email to