1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
[build-system]
# REMEMBER TO KEEP THE VERSIONS IN THIS FILE THE SAME AS IN ci/triage_build.sh
requires = [
"Cython >=3.0.0, <4",
"numpy >=1.25.0, <3",
"packaging >=23.0",
"pkgconfig >=1.5.5",
"setuptools >=77.0.1",
]
# use an in-tree build backend, extending setuptools.build_meta
build-backend = "backend"
backend-path = ["_custom_build"]
[project]
name = "h5py"
version = '3.16.0'
description = "Read and write HDF5 files from Python"
authors = [
{name = "Andrew Collette", email = "andrew.collette@gmail.com"},
]
maintainers = [
{name = "Thomas Kluyver", email = "thomas@kluyver.me.uk"},
{name = "Thomas A Caswell", email = "tcaswell@bnl.gov"},
]
license = "BSD-3-Clause"
license-files = ["LICENSE", "lzf/LICENSE.txt", "licenses/*"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
"Operating System :: Unix",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Cython",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Free Threading :: 1 - Unstable",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Scientific/Engineering",
"Topic :: Database",
"Topic :: Software Development :: Libraries :: Python Modules",
]
requires-python = ">=3.10"
dynamic = ["dependencies"]
[project.readme]
text = """\
The h5py package provides both a high- and low-level interface to the HDF5
library from Python. The low-level interface is intended to be a complete
wrapping of the HDF5 API, while the high-level component supports access to
HDF5 files, datasets and groups using established Python and NumPy concepts.
A strong emphasis on automatic conversion between Python (Numpy) datatypes and
data structures and their HDF5 equivalents vastly simplifies the process of
reading and writing data from Python.
Wheels are provided for several popular platforms, with an included copy of
the HDF5 library (usually the latest version when h5py is released).
You can also `build h5py from source
<https://docs.h5py.org/en/stable/build.html#source-installation>`_
with any HDF5 stable release from version 1.10.4 onwards, although naturally new
HDF5 versions released after this version of h5py may not work.
Odd-numbered minor versions of HDF5 (e.g. 1.13) are experimental, and may not
be supported.
"""
content-type = "text/x-rst"
[project.urls]
Homepage = "https://www.h5py.org/"
Source = "https://github.com/h5py/h5py"
Documentation = "https://docs.h5py.org/en/stable/"
"Release notes" = "https://docs.h5py.org/en/stable/whatsnew/index.html"
"Discussion forum" = "https://forum.hdfgroup.org/c/hdf5/h5py"
[tool.setuptools]
# to ignore .pxd and .pyx files in wheels
include-package-data = false
packages = [
"h5py",
"h5py._hl",
"h5py.tests",
"h5py.tests.data_files",
"h5py.tests.test_vds",
]
[dependency-groups]
check-manifest = [
"check-manifest>=0.50",
]
check-readme = [
"build>=1.2.2",
"twine>=6.1.0",
]
docs = [
"sphinx>=7.4.7,<9",
"sphinx-rtd-theme>=1.3.0",
]
lint = [
"pre-commit>=4.2.0",
]
mpi = [
"mpi4py>=3.1.2",
]
tables = [
"tables>=3.7.0",
]
test = [
"pytest>=8.2.2",
"pytest-cov>=5.0.0",
"pytest-mpi>=0.6",
]
concurrency = [
"pytest-run-parallel >=0.8.0",
]
wheels = [
"codecov>=2.1.13",
"coverage>=7.9.1",
"tox>=4.26.0",
"tox-uv>=1.27.0",
]
[tool.cibuildwheel]
skip = [
"cp310-win_arm64", # Skipped due to unavailability of Python binary and NumPy for Win-ARM64
]
build-verbosity = 1
build-frontend = { name = "pip", args = ["--only-binary", "numpy"] }
manylinux-x86_64-image = "ghcr.io/h5py/manylinux_2_28_x86_64-hdf5"
manylinux-aarch64-image = "ghcr.io/h5py/manylinux_2_28_aarch64-hdf5"
musllinux-x86_64-image = "ghcr.io/h5py/musllinux_1_2_x86_64-hdf5"
musllinux-aarch64-image = "ghcr.io/h5py/musllinux_1_2_aarch64-hdf5"
test-groups = ["wheels"]
test-command = "bash {project}/ci/cibw_test_command.sh {project} {wheel}"
[tool.cibuildwheel.linux]
environment-pass = [
"GITHUB_ACTIONS",
"ONLY_MINDEPS_TESTS",
]
[tool.cibuildwheel.linux.environment]
CFLAGS = "-g1"
[tool.cibuildwheel.macos]
# https://cibuildwheel.pypa.io/en/stable/faq/#macos-passing-dyld_library_path-to-delocate
repair-wheel-command = """\
DYLD_FALLBACK_LIBRARY_PATH=$HDF5_DIR/lib \
delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} \
"""
[tool.cibuildwheel.macos.environment]
H5PY_ROS3 = "0"
H5PY_DIRECT_VFD = "0"
[tool.uv]
# never build numpy from source
no-build-package = ["numpy"]
|