1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-09-27 03:51:07 +02:00

[wheel build] Release 2.5.0 + updated README

This commit is contained in:
q-posev 2024-09-11 09:47:14 +02:00
parent d0044bf7a0
commit 908842122e
No known key found for this signature in database
GPG Key ID: 45235B39F0399606
2 changed files with 29 additions and 31 deletions

View File

@ -15,31 +15,30 @@ which enables fast read and write operations. It is compatible with a variety
of platforms and has interfaces for the Fortran, Python, OCaml and Rust
programming languages.
* [TREXIO](#trexio)
* [Installation](#installation)
* [Installation using a package manager](#installation-using-a-package-manager)
* [Conda](#conda)
* [Spack](#spack)
* [Guix](#guix)
* [Debian/Ubuntu](#debianubuntu)
* [Installation from source](#installation-from-source)
* [Minimal requirements (for users):](#minimal-requirements-for-users)
* [Recommended: Installation from the release tarball](#recommended-installation-from-the-release-tarball)
* [Compilation without the HDF5 library](#compilation-without-the-hdf5-library)
* [For TREXIO developers: from the GitHub repo clone](#for-trexio-developers-from-the-github-repo-clone)
* [Using CMake instead of Autotools](#using-cmake-instead-of-autotools)
* [Using TREXIO](#using-trexio)
* [Naming convention](#naming-convention)
* [Tutorial](#tutorial)
* [Documentation](#documentation)
* [Linking to your program](#linking-to-your-program)
* [Distributing TREXIO with your code](#distributing-trexio-with-your-code)
* [APIs for other languages](#apis-for-other-languages)
* [Python](#python)
* [Rust](#rust)
* [OCaml](#ocaml)
* [Citation](#citation)
* [Miscellaneous](#miscellaneous)
* [Installation](#installation)
* [Installation using a package manager](#installation-using-a-package-manager)
* [Conda](#conda)
* [Spack](#spack)
* [Guix](#guix)
* [Debian/Ubuntu](#debianubuntu)
* [Installation from source](#installation-from-source)
* [Minimal requirements (for users):](#minimal-requirements-for-users)
* [Recommended: Installation from the release tarball](#recommended-installation-from-the-release-tarball)
* [Compilation without the HDF5 library](#compilation-without-the-hdf5-library)
* [For TREXIO developers: from the GitHub repo clone](#for-trexio-developers-from-the-github-repo-clone)
* [Using CMake instead of Autotools](#using-cmake-instead-of-autotools)
* [Using TREXIO](#using-trexio)
* [Naming convention](#naming-convention)
* [Tutorial](#tutorial)
* [Documentation](#documentation)
* [Linking to your program](#linking-to-your-program)
* [Distributing TREXIO with your code](#distributing-trexio-with-your-code)
* [APIs for other languages](#apis-for-other-languages)
* [Python](#python)
* [Rust](#rust)
* [OCaml](#ocaml)
* [Citation](#citation)
* [Miscellaneous](#miscellaneous)
## Installation

View File

@ -11,8 +11,8 @@ can be used to convert data from one input/output file format into another.
## Requirements
- python3 (>= 3.6)
- numpy (>= 1.17.3)
- python3 (>= 3.8)
- numpy (>= 1.17.3)
## Installation from PyPI
@ -27,10 +27,6 @@ However, it is good practice to first check for updates of the build-system pack
**Note: we highly recommend to use virtual environments to avoid compatibility issues and to improve reproducibility.**
For more details, see the corresponding part of the [Python documentation](https://docs.python.org/3/library/venv.html#creating-virtual-environments).
**Note: our build farm (GitHub Actions) does not support ARM64 architectures (including the Mac M1/M2 chips). Therefore, `pip install trexio` does not work on an ARM64-based machine. Thus, we recommend to install TREXIO from source on an ARM64-based machine. If one uses a Mac where HDF5 is installed with brew (i.e., `brew install hdf5`), a workaround is to execute the following 2 lines before doing `pip install trexio`:**
- `export H5_CFLAGS="-I$(brew --prefix hdf5)/include"`
- `export H5_LDFLAGS="-L$(brew --prefix hdf5)/lib"`
## Additional requirements (for installation from source)
@ -50,6 +46,9 @@ For more details, see the corresponding part of the [Python documentation](https
The following two steps can be skipped if HDF5 is properly configured for `pkg-config` (i.e. if executing `pkg-config --libs hdf5` returns a list of options).
- `export H5_CFLAGS=-I/path/to/hdf5/include`
- `export H5_LDFLAGS=-L/path/to/hdf5/lib`
On MacOS where HDF5 is installed with homebrew (i.e. `brew install hdf5`), one can use the following:
- `export H5_CFLAGS="-I$(brew --prefix hdf5)/include"`
- `export H5_LDFLAGS="-L$(brew --prefix hdf5)/lib"`
6. `pip install .` (this installs `trexio` in your environment)
7. `cd test && python -m pytest -v test_api.py` (this executes several tests that verify the installation)