mirror of
https://github.com/TREX-CoE/trexio.git
synced 2025-01-08 20:33:36 +01:00
add PyPI version badge to README
This commit is contained in:
parent
fe75b72752
commit
e4073d0a8c
@ -47,7 +47,7 @@ TREX library for efficient I/O.
|
|||||||
|
|
||||||
## Installation procedure for CMake users (from the tarball or GitHub repo clone):
|
## Installation procedure for CMake users (from the tarball or GitHub repo clone):
|
||||||
|
|
||||||
The aforementioned instructions rely on [Autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html) build system.
|
The aforementioned instructions rely on [Autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html) build system.
|
||||||
[CMake](https://cmake.org) users can achieve the same with the following steps (an example of out-of-source build):
|
[CMake](https://cmake.org) users can achieve the same with the following steps (an example of out-of-source build):
|
||||||
|
|
||||||
1. `cmake -S. -Bbuild`
|
1. `cmake -S. -Bbuild`
|
||||||
@ -77,7 +77,7 @@ In order to link the program against TREXIO, the search paths can be modified as
|
|||||||
|
|
||||||
(same holds for `$LD_LIBRARY_PATH`). The `<path_to_trexio>` has to be replaced by the prefix used during the installation.
|
(same holds for `$LD_LIBRARY_PATH`). The `<path_to_trexio>` has to be replaced by the prefix used during the installation.
|
||||||
|
|
||||||
If your project relies on CMake build system, feel free to use the
|
If your project relies on CMake build system, feel free to use the
|
||||||
[FindTREXIO.cmake](https://github.com/TREX-CoE/trexio/blob/master/cmake/FindTREXIO.cmake)
|
[FindTREXIO.cmake](https://github.com/TREX-CoE/trexio/blob/master/cmake/FindTREXIO.cmake)
|
||||||
module to find and link TREXIO library automatically.
|
module to find and link TREXIO library automatically.
|
||||||
|
|
||||||
@ -110,6 +110,8 @@ These quantities can be accessed using the corresponding `trexio_[has|read|write
|
|||||||
|
|
||||||
## Python API
|
## Python API
|
||||||
|
|
||||||
|
[![PyPI version](https://badge.fury.io/py/trexio.svg)](https://badge.fury.io/py/trexio)
|
||||||
|
|
||||||
For more details regarding the installation and usage of the TREXIO Python API,
|
For more details regarding the installation and usage of the TREXIO Python API,
|
||||||
see [this page](python/README.md).
|
see [this page](python/README.md).
|
||||||
|
|
||||||
@ -140,5 +142,3 @@ This can be checked with the `cppcheck` tool.
|
|||||||
-----------------
|
-----------------
|
||||||
![European flag](https://trex-coe.eu/sites/default/files/inline-images/euflag.jpg)
|
![European flag](https://trex-coe.eu/sites/default/files/inline-images/euflag.jpg)
|
||||||
[TREX: Targeting Real Chemical Accuracy at the Exascale](https://trex-coe.eu) project has received funding from the European Union’s Horizon 2020 - Research and Innovation program - under grant agreement no. 952165. The content of this document does not represent the opinion of the European Union, and the European Union is not responsible for any use that might be made of such content.
|
[TREX: Targeting Real Chemical Accuracy at the Exascale](https://trex-coe.eu) project has received funding from the European Union’s Horizon 2020 - Research and Innovation program - under grant agreement no. 952165. The content of this document does not represent the opinion of the European Union, and the European Union is not responsible for any use that might be made of such content.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
|
|
||||||
# TREXIO Python API
|
# TREXIO Python API
|
||||||
|
|
||||||
|
[![PyPI version](https://badge.fury.io/py/trexio.svg)](https://badge.fury.io/py/trexio)
|
||||||
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TREX-CoE/trexio-tutorials/HEAD)
|
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TREX-CoE/trexio-tutorials/HEAD)
|
||||||
|
|
||||||
TREXIO provides a Python API, which enables interactive calls to the library.
|
TREXIO provides a Python API, which enables interactive calls to the library.
|
||||||
It facilitates the development of interfaces between different codes and
|
It facilitates the development of interfaces between different codes and
|
||||||
can be used to convert data from one input/output file format into another.
|
can be used to convert data from one input/output file format into another.
|
||||||
|
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ However, it is good practice to first check for updates of the build-system pack
|
|||||||
|
|
||||||
`python -m pip install --upgrade pip setuptools build wheel`
|
`python -m pip install --upgrade pip setuptools build wheel`
|
||||||
|
|
||||||
**Note: we highly recommend to use virtual environments to avoid compatibility issues and to improve reproducibility.**
|
**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).
|
For more details, see the corresponding part of the [Python documentation](https://docs.python.org/3/library/venv.html#creating-virtual-environments).
|
||||||
|
|
||||||
|
|
||||||
@ -41,7 +42,7 @@ For more details, see the corresponding part of the [Python documentation](https
|
|||||||
2. `gzip -cd trexio-<version>.tar.gz | tar xvf -`
|
2. `gzip -cd trexio-<version>.tar.gz | tar xvf -`
|
||||||
3. `cd trexio-<version>`
|
3. `cd trexio-<version>`
|
||||||
4. `pip install -r requirements.txt` (this installs all required python dependencies)
|
4. `pip install -r requirements.txt` (this installs all required python dependencies)
|
||||||
5. Export custom environment variables needed for the installation following the procedure below and replacing `/path/to/hdf5/` with your paths.
|
5. Export custom environment variables needed for the installation following the procedure below and replacing `/path/to/hdf5/` with your paths.
|
||||||
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).
|
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).
|
||||||
1. `export H5_CFLAGS=-I/path/to/hdf5/include`
|
1. `export H5_CFLAGS=-I/path/to/hdf5/include`
|
||||||
2. `export H5_LDFLAGS=-L/path/to/hdf5/lib`
|
2. `export H5_LDFLAGS=-L/path/to/hdf5/lib`
|
||||||
@ -50,8 +51,8 @@ The following two steps can be skipped if HDF5 is properly configured for `pkg-c
|
|||||||
|
|
||||||
You are ready to go!
|
You are ready to go!
|
||||||
|
|
||||||
**Note:**
|
**Note:**
|
||||||
installation based on `pip` compiles its own C extension (shared library) called `pytrexio`.
|
installation based on `pip` compiles its own C extension (shared library) called `pytrexio`.
|
||||||
This extension is built from the TREXIO source files coupled to the wrapper code generated by [SWIG](http://www.swig.org/).
|
This extension is built from the TREXIO source files coupled to the wrapper code generated by [SWIG](http://www.swig.org/).
|
||||||
The compiler options during this installation may differ from the ones used to compile the primary TREXIO API in C.
|
The compiler options during this installation may differ from the ones used to compile the primary TREXIO API in C.
|
||||||
Furthermore, custom compiler flags provided to `./configure` or `make` are not applied to the Python API.
|
Furthermore, custom compiler flags provided to `./configure` or `make` are not applied to the Python API.
|
||||||
@ -59,7 +60,7 @@ Furthermore, custom compiler flags provided to `./configure` or `make` are not a
|
|||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
An interactive Jupyter notebook called `tutorial_benzene.ipynb` is provided in the `examples` directory.
|
An interactive Jupyter notebook called `tutorial_benzene.ipynb` is provided in the `examples` directory.
|
||||||
The notebook can be lauched either locally (see [next section](#Running-the-notebook) for details) or using [pre-built environment on Binder](https://mybinder.org/v2/gh/TREX-CoE/trexio-tutorials/HEAD?filepath=notebooks%2Ftutorial_benzene.ipynb).
|
The notebook can be lauched either locally (see [next section](#Running-the-notebook) for details) or using [pre-built environment on Binder](https://mybinder.org/v2/gh/TREX-CoE/trexio-tutorials/HEAD?filepath=notebooks%2Ftutorial_benzene.ipynb).
|
||||||
|
|
||||||
Jupyter can be installed using `pip install jupyter`. If you are not familiar with it, feel free to consult the [Jupyter documentation](https://jupyter-notebook.readthedocs.io/en/stable/notebook.html).
|
Jupyter can be installed using `pip install jupyter`. If you are not familiar with it, feel free to consult the [Jupyter documentation](https://jupyter-notebook.readthedocs.io/en/stable/notebook.html).
|
||||||
@ -76,12 +77,12 @@ The example notebook can be launched using the following command:
|
|||||||
|
|
||||||
In some cases, it may happen that the Jupyter kernels in the activated virtual environment (e.g. `myvenv`) still point to the system-wide python binaries and not to the environment ones.
|
In some cases, it may happen that the Jupyter kernels in the activated virtual environment (e.g. `myvenv`) still point to the system-wide python binaries and not to the environment ones.
|
||||||
This will result in `ImportError` when importing `trexio` in the notebook cell. In order to avoid this, the `myvenv` has to be installed as an additional kernel.
|
This will result in `ImportError` when importing `trexio` in the notebook cell. In order to avoid this, the `myvenv` has to be installed as an additional kernel.
|
||||||
This requires `ipykernel` python package, which usually comes together with the Jupyter installation. If this is not the case, run `pip install ipykernel`.
|
This requires `ipykernel` python package, which usually comes together with the Jupyter installation. If this is not the case, run `pip install ipykernel`.
|
||||||
You can install `myvenv` as a kernel by executing the following command:
|
You can install `myvenv` as a kernel by executing the following command:
|
||||||
|
|
||||||
`python3 -m ipykernel install --user --name=myvenv`
|
`python3 -m ipykernel install --user --name=myvenv`
|
||||||
|
|
||||||
Now you can launch a Jupyter notebook. Once it is open, make sure that your virtual environment is selected as the current kernel.
|
Now you can launch a Jupyter notebook. Once it is open, make sure that your virtual environment is selected as the current kernel.
|
||||||
If this is not the case, try this:
|
If this is not the case, try this:
|
||||||
|
|
||||||
1. Press the `Kernel` button in the navigation panel
|
1. Press the `Kernel` button in the navigation panel
|
||||||
@ -93,4 +94,3 @@ That's it, you have activated the custom virtual environment called `myvenv` in
|
|||||||
To uninstall the kernel named `myvenv`, execute the following command:
|
To uninstall the kernel named `myvenv`, execute the following command:
|
||||||
|
|
||||||
`jupyter kernelspec uninstall myvenv`
|
`jupyter kernelspec uninstall myvenv`
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user