/geoh5py

Python API for geoh5, an open file format for geoscientific data.

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Code coverage Maintainability pre-commit.ci status Documentation Status Coding style version on PyPI version status on PyPI Python versions

geoh5py: Python API for geoh5, an open file format for geoscientific data

The geoh5py library has been created for the manipulation and storage of a wide range of geoscientific data (points, curve, surface, 2D and 3D grids) in *.geoh5 file format. Users will be able to directly leverage the powerful visualization capabilities of Geoscience ANALYST.

Documentation

Online documentation

See also documentation for the geoh5 file format.

Installation

geoh5py is currently written for Python 3.7 or higher, and depends on NumPy and h5py. Users will likely want to also make use of advanced processing techniques made available under the python ecosystem. We therefore recommend installing Anaconda to handle the various packages.

Install geoh5py from PyPI:

$ pip install geoh5py

Setup for development

After having cloned the Git repository you will need to set up Poetry. Poetry makes it easy to install the dependencies and start a virtual environment.

To install poetry:

curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python

Then, create and activate the virtual environment simply with:

poetry shell

Configure the pre-commit hooks

To have the pre-commit hooks installed and running, first make sure you have pip installed on your system. Then execute:

pip install --user pre-commit
pre-commit install

All the pre-commit checks run automatically for you, and reformat files when required. Enjoy...

IDE

PyCharm, by JetBrains, is a very good IDE for developing with Python. Some suggested PyCharm plugins for working in this project:

For Vim lovers, also check out IdeaVim.

Build the docs

To build the api docs using autodocs

sphinx-apidoc -o source/ ../geoh5py -t docs/templates

License

geoh5py is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

geoh5py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with geoh5py. If not, see <https://www.gnu.org/licenses/>.

Third Party Software

The geoh5 Software may provide links to third party libraries or code (collectively “Third Party Software”) to implement various functions. Third Party Software does not comprise part of the Software. The use of Third Party Software is governed by the terms of such software license(s). Third Party Software notices and/or additional terms and conditions are located in the THIRD_PARTY_SOFTWARE.rst file.

Copyright (c) 2024 Mira Geoscience Ltd.

Citing geoh5py

If you use geoh5py in your research, please cite it as follows:

image