Metadata-Version: 2.4
Name: pyfive
Version: 0.9.0
Summary: A pure python HDF5 reader
Author-email: Pyfive Development Team <valeriu.predoi@ncas.ac.uk>, Valeriu Predoi <valeriu.predoi@ncas.ac.uk>, David Hassell <david.hassell@ncas.ac.uk>, Bryan Lawrence <bryan.lawrence@ncas.ac.uk>, Jonathan Helmus <jjhelmus@gmail.com>, Kai Muehlbauer <kai.muehlbauer@uni-bonn.de>
License: BSD License, Version 3-Clause
Project-URL: Code, https://github.com/jjhelmus/pyfive
Project-URL: Issues, https://github.com/jjhelmus/pyfive/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy
Provides-Extra: test
Requires-Dist: pytest>6.0.0; extra == "test"
Requires-Dist: pytest-cov>=2.10.1; extra == "test"
Requires-Dist: pytest-html!=2.1.0; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: dask; extra == "test"
Requires-Dist: flake8; extra == "test"
Requires-Dist: flask; extra == "test"
Requires-Dist: flask-cors; extra == "test"
Requires-Dist: h5netcdf; extra == "test"
Requires-Dist: h5py; extra == "test"
Requires-Dist: netCDF4; extra == "test"
Requires-Dist: moto; extra == "test"
Requires-Dist: s3fs>=2025.9.0; extra == "test"
Provides-Extra: doc
Requires-Dist: autodocsumm; extra == "doc"
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx_rtd_theme; extra == "doc"

[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity)
[![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/)
[![Documentation Status](https://app.readthedocs.org/projects/pyfive/badge/?version=latest)](https://pyfive.readthedocs.io/en/latest/?badge=latest)
[![Test](https://github.com/NCAS-CMS/pyfive/actions/workflows/pytest.yml/badge.svg)](https://github.com/NCAS-CMS/pyfive/actions/workflows/pytest.yml)
[![codecov](https://codecov.io/gh/NCAS-CMS/pyfive/graph/badge.svg?token=3In5JuzeGK)](https://codecov.io/gh/NCAS-CMS/pyfive)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyfive/badges/version.svg)](https://anaconda.org/conda-forge/pyfive)

![pyfive-logo](https://raw.githubusercontent.com/NCAS-CMS/pyfive/main/doc/figures/Pyfive-logo.png)

[Latest doc builds on RTD](https://app.readthedocs.org/projects/pyfive/builds/)

pyfive : A pure Python HDF5 file reader
=======================================

pyfive is an open source library for reading HDF5 files written using
pure Python (no C extensions). The package is still in development and not all
features of HDF5 files are supported.

pyfive aims to support the same API as [`h5py`](https://github.com/h5py/h5py)
for reading files. Cases where a file uses a feature that is supported by `h5py`
but not pyfive are considered bug and should be reported in our [Issues](https://github.com/NCAS-CMS/pyfive/issues).
Writing HDF5 is not a goal of pyfive and portions of the API which apply only to writing will not be
implemented.

Dependencies
============

pyfive is tested to work with Python 3.10 to 3.13.  It may also work
with other Python versions.

The only dependencies to run the software besides Python is NumPy.

Install
=======

pyfive can be installed using pip using the command::

    pip install pyfive

conda package are also available from conda-forge which can be installed::

    conda install -c conda-forge pyfive

To install from source in your home directory use::

    python setup.py install --user

The library can also be imported directly from the source directory.


Development
===========

git
---

You can check out the latest pyfive souces with the command::

    git clone https://github.com/NCAS-CMS/pyfive.git

testing
-------

pyfive comes with a test suite in the ``tests`` directory.  These tests can be
exercised using the commands ``pytest`` from the root directory assuming the
``pytest`` package is installed.

Conda-feedstock
===============

Package repository at [conda feedstock](https://github.com/conda-forge/pyfive-feedstock)

Codecov
=======

Test coverage assessement is done using [codecov](https://app.codecov.io/gh/NCAS-CMS/pyfive/)

Documentation
=============

Build locally with Sphinx::

    sphinx-build -Ea doc doc/build
