pyfive: A pure-Python HDF5 reader

pyfive: A pure-Python HDF5 reader - Published in JOSS (2026)

https://github.com/ncas-cms/pyfive

Science Score: 92.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    5 of 12 committers (41.7%) from academic institutions
  • Institutional organization owner
    Organization ncas-cms has institutional domain (cms.ncas.ac.uk)
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

closember radar weather hdf5
Last synced: 9 days ago · JSON representation

Repository

A pure Python HDF5 file reader

Basic Info
Statistics
  • Stars: 94
  • Watchers: 9
  • Forks: 25
  • Open Issues: 13
  • Releases: 11
Created almost 10 years ago · Last pushed 18 days ago
Metadata Files
Readme Changelog Contributing License

README.md

Maintenance made-with-python DOI Documentation Status Test codecov Anaconda-Server Badge

pyfive-logo

Latest doc builds on RTD

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 for reading files. Cases where a file uses a feature that is supported by h5py but not pyfive are considered bugs and should be reported in our Issues. Writing HDF5 output is not a goal of pyfive and portions of the API which apply only to writing will not be implemented.

Dependencies

pyfive is tested against Python versions 3.10 to 3.14. 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 packages are also available from conda-forge::

conda install -c conda-forge pyfive

To install from source in your home directory use::

pip install --user ./pyfive

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 pytest command from the root directory (requires installation of the pytest package).

Conda-forge feedstock

Package repository conda-forge feedstock

Codecov

Test coverage assessement is done using codecov

Documentation

Build locally with Sphinx:

$ sphinx-build -Ea doc doc/build

Owner

  • Name: NCAS CMS
  • Login: NCAS-CMS
  • Kind: organization
  • Location: UK

Useful tools to support NERC weather and climate research

JOSS Publication

pyfive: A pure-Python HDF5 reader
Published
February 12, 2026
Volume 11, Issue 118, Page 9688
Authors
Bryan N. Lawrence ORCID
National Center for Atmospheric Science (NCAS), United Kingdom., Department of Meteorology, University of Reading, Reading, United Kingdom.
Ezequiel Cimadevilla ORCID
Instituto de Física de Cantabria (IFCA), CSIC-Universidad de Cantabria, Santander, Spain.
Wout De Nolf ORCID
European Synchrotron Radiation Facility (ESRF), Grenoble, France.
David Hassell ORCID
National Center for Atmospheric Science (NCAS), United Kingdom., Department of Meteorology, University of Reading, Reading, United Kingdom.
Jonathan Helmus
Astral Software Inc., USA.
Benjamin Hodel
Independent Researcher, USA.
Brian Maranville ORCID
NIST Center for Neutron Research, USA.
Kai Mühlbauer ORCID
Institute of Geosciences, Meteorology Section, University of Bonn, Germany.
Valeriu Predoi ORCID
National Center for Atmospheric Science (NCAS), United Kingdom., Department of Meteorology, University of Reading, Reading, United Kingdom.
Editor
Richard Liu ORCID
Tags
Atmospheric Science Physics Climate Model Data Engineering

GitHub Events

Total
  • Create event: 34
  • Commit comment event: 4
  • Release event: 2
  • Delete event: 28
  • Pull request event: 63
  • Fork event: 3
  • Issues event: 78
  • Watch event: 11
  • Issue comment event: 220
  • Push event: 189
  • Pull request review event: 88
  • Pull request review comment event: 101
Last Year
  • Create event: 25
  • Commit comment event: 4
  • Release event: 2
  • Delete event: 16
  • Pull request event: 49
  • Fork event: 3
  • Issues event: 43
  • Watch event: 11
  • Issue comment event: 145
  • Push event: 142
  • Pull request review comment event: 88
  • Pull request review event: 76

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 441
  • Total Committers: 12
  • Avg Commits per committer: 36.75
  • Development Distribution Score (DDS): 0.651
Past Year
  • Commits: 236
  • Committers: 10
  • Avg Commits per committer: 23.6
  • Development Distribution Score (DDS): 0.572
Top Committers
Name Email Commits
Jonathan Helmus j****s@g****m 154
Bryan Lawrence b****e@n****k 110
Valeriu Predoi v****i@g****m 101
David Hassell d****l@n****k 19
Kai Mühlbauer k****r@u****e 18
Bryan Lawrence b****e@r****k 10
Brian Ben Maranville b****e@n****v 10
Kai Mühlbauer k****r@w****g 7
woutdenolf w****f@u****t 7
zequihg50 e****a@u****s 3
David Hassell d****l@u****m 1
synaptic s****w@h****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 days ago

All Time
  • Total issues: 33
  • Total pull requests: 30
  • Average time to close issues: 9 months
  • Average time to close pull requests: 16 days
  • Total issue authors: 5
  • Total pull request authors: 6
  • Average comments per issue: 2.09
  • Average comments per pull request: 2.43
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 15
  • Pull requests: 24
  • Average time to close issues: 19 days
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 6
  • Average comments per issue: 0.93
  • Average comments per pull request: 2.5
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bnlawrence (18)
  • valeriupredoi (6)
  • kmuehlbauer (5)
  • davidhassell (3)
  • jjhelmus (1)
Pull Request Authors
  • valeriupredoi (11)
  • davidhassell (7)
  • kmuehlbauer (5)
  • bnlawrence (4)
  • zequihg50 (2)
  • bmaranville (1)
Top Labels
Issue Labels
enhancement (8) bug (3) testing (2) h5netcdf support (1) release (1)
Pull Request Labels
documentation (7) testing (4) TLC (2)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
conda-forge.org: pyfive
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Stargazers count: 35.5%
Forks count: 37.3%
Average: 39.5%
Dependent packages count: 51.2%
Last synced: about 1 month ago

Dependencies

.github/workflows/pytest.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
environment.yml conda
  • autodocsumm
  • h5py
  • netcdf4
  • numpy >=2
  • pytest
  • pytest-cov
  • pytest-rerunfailures
  • python >=3.10
  • sphinx
  • sphinx_rtd_theme
.github/workflows/joss-draft-pdf.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/build-and-deploy-on-pypi.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi
  • numpy >=2