## New features
* h5py.Dataset.iter_chunks() accepts slice objects with the None
value for slice.start and slice.stop attributes, or integers
(PR 2657). Example: dset.iter_chunks((slice(None, None), 4)).
This is equivalent to dset[:,4].
* A new track_times parameter when creating a group or a file to
control whether creation, modification, change and access
timestamps are stored for group objects (PR 2611). This is
False by default.
* Work to better support free-threaded mode in CPython (PR 2658,
PR 2678). This is not substantially tested yet, but some of the
most glaring issues have been resolved. See free-threading.
## Breaking Changes and Deprecations
* Support for Python 3.9 was dropped. Python 3.10 or newer is now
required to build or install h5py from this version on (PR
2640).
* The minimum supported version of HDF5 is now 1.10.7, and within
the 1.12 series the minimum supported version is now 1.12.1 (PR
2605).
* Timestamps are no longer stored by default for groups
(including the root group) if the track_order parameter is set
(PR 2611). Previously, setting this parameter also caused
timestamps to be stored in the file.
## Bug fixes
* Fixed h5py.h5p.PropLAID.get_elink_prefix method (PR 2712).
* Fixed a segfault reading unallocated variable length string
data as NumPy variable length strings (PR 2630).
* Fixed an error reading certain types of variable length data
where an entry has 0 length (PR 2717).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-h5py?expand=0&rev=62
- Update to 3.14.0:
* New Features
+ On NumPy 2.x, it is now possible to read and write native NumPy
variable-width strings, a.k.a. StringDType() or dtype='T', which are
more efficient than arrays of Python string objects.
+ New File.in_memory constructor to conveniently build an HDF5 file
structure in memory
+ Dataset views returned by Dataset.astype, Dataset.asstr and
Dataset.fields have gained the .dtype, .ndim, .shape, and .size
attributes.
+ Opening an existing dataset in a file is faster since it now only loads
the "dataset creation property list" when required.
* Exposing HDF5 functions
+ h5py.h5d.DatasetID.write_direct_chunk now wraps H5Dwrite_chunk instead
of H5DOwrite_chunk.
+ H5Sselect_shape_same exposed as h5py.h5s.SpaceID.select_shape_same.
* Bug fixes
+ Fixed a problem with phil Lock handling in forked processes when h5py
is also used from other threads.
+ Fixed an error using :meth:`.Dataset.read_direct` with a zero-size
selection.
+ Fix various bugs when applying np.array or np.asarray to a Dataset view
returned by Dataset.astype, Dataset.asstr, or Dataset.fields.
* Building h5py
+ setuptools 77 or above is now required, due to changes in the license
metadata in pyproject.toml.
+ Numpy variable-width string support does not alter the build process:
you need NumPy 2.x to build.
+ Fixed building h5py with Numpy 2.3.
OBS-URL: https://build.opensuse.org/request/show/1301158
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-h5py?expand=0&rev=33
* New Features
+ On NumPy 2.x, it is now possible to read and write native NumPy
variable-width strings, a.k.a. StringDType() or dtype='T', which are
more efficient than arrays of Python string objects.
+ New File.in_memory constructor to conveniently build an HDF5 file
structure in memory
+ Dataset views returned by Dataset.astype, Dataset.asstr and
Dataset.fields have gained the .dtype, .ndim, .shape, and .size
attributes.
+ Opening an existing dataset in a file is faster since it now only loads
the "dataset creation property list" when required.
* Exposing HDF5 functions
+ h5py.h5d.DatasetID.write_direct_chunk now wraps H5Dwrite_chunk instead
of H5DOwrite_chunk.
+ H5Sselect_shape_same exposed as h5py.h5s.SpaceID.select_shape_same.
* Bug fixes
+ Fixed a problem with phil Lock handling in forked processes when h5py
is also used from other threads.
+ Fixed an error using :meth:`.Dataset.read_direct` with a zero-size
selection.
+ Fix various bugs when applying np.array or np.asarray to a Dataset view
returned by Dataset.astype, Dataset.asstr, or Dataset.fields.
* Building h5py
+ setuptools 77 or above is now required, due to changes in the license
metadata in pyproject.toml.
+ Numpy variable-width string support does not alter the build process:
you need NumPy 2.x to build.
+ Fixed building h5py with Numpy 2.3.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-h5py?expand=0&rev=60
- Update to 3.12.1
## Breaking changes
* Support for Python 3.8 was dropped (PR 2471). Python 3.9 or
newer is required to build or install h5py 3.12.
* The minimum supported version of HDF5 was increased to 1.10.6
(PR 2486). If you need h5py on HDF5 1.10.4 or .5, please use
h5py 3.11.
* The fill time for chunked storage was previously set to
h5d.FILL_TIME_ALLOC. Now this the default comes from HDF5,
which uses h5d.FILL_TIME_IFSET (equivalent to
fill_time='ifset') (PR 2463). Please use fill_time='alloc' if
the change is a problem for you.
## Exposing HDF5 functions
* Expose fill time option in dataset creation property list via
the fill_time parameter in create_dataset() (PR 2463).
## Bug fixes
* Fix an error where native float16 support is not available (PR
2422).
* Fixed values of H5F_close_degree_t enum (PR 2433).
* External links are now accessed with libhdf5’s default access
properties (PR 2433).
* Fix the iteration order for the root group in a file with
creation order tracked (PR 2410).
* Fixed some deprecation warnings from NumPy (PR 2416).
## Building h5py
* Require a newer version of mpi4py for Python 3.12 (PR 2418).
* The test suite is now configured to fail on unexpected warnings
(PR 2428).
* The generated Cython wrapper code (defs.* & _hdf5.pxd) is now
specific to the version of HDF5 it’s building for. If the
OBS-URL: https://build.opensuse.org/request/show/1224515
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-h5py?expand=0&rev=32
## Breaking changes
* Support for Python 3.8 was dropped (PR 2471). Python 3.9 or
newer is required to build or install h5py 3.12.
* The minimum supported version of HDF5 was increased to 1.10.6
(PR 2486). If you need h5py on HDF5 1.10.4 or .5, please use
h5py 3.11.
* The fill time for chunked storage was previously set to
h5d.FILL_TIME_ALLOC. Now this the default comes from HDF5,
which uses h5d.FILL_TIME_IFSET (equivalent to
fill_time='ifset') (PR 2463). Please use fill_time='alloc' if
the change is a problem for you.
## Exposing HDF5 functions
* Expose fill time option in dataset creation property list via
the fill_time parameter in create_dataset() (PR 2463).
## Bug fixes
* Fix an error where native float16 support is not available (PR
2422).
* Fixed values of H5F_close_degree_t enum (PR 2433).
* External links are now accessed with libhdf5’s default access
properties (PR 2433).
* Fix the iteration order for the root group in a file with
creation order tracked (PR 2410).
* Fixed some deprecation warnings from NumPy (PR 2416).
## Building h5py
* Require a newer version of mpi4py for Python 3.12 (PR 2418).
* The test suite is now configured to fail on unexpected warnings
(PR 2428).
* The generated Cython wrapper code (defs.* & _hdf5.pxd) is now
specific to the version of HDF5 it’s building for. If the
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-h5py?expand=0&rev=56
- update to 3.10.0:
* The read-only S3 file driver ('ros3') now accepts an AWS session
token as part of the credentials (:pr:`2301`). Pass session_token
when opening a :class:`.File` (along with the other S3 parameters).
This requires HDF5 1.14.2 or later, with the ROS3 feature built.
* Support for the HDF5 1.8 series was dropped, along with early 1.10
releases. The minimum required HDF5 version is now 1.10.4.
* Exposing HDF5 functions
* H5Pget_fapl_ros3_token & H5Pset_fapl_ros3_token
* Various nasty bugs when using nested compound and vlen data types
have been fixed (:pr:`2134`).
* Fixed an OverflowError in some cases when registering a filter
with :func:`h5z.register_filter`, especially on 32-bit
architectures (:pr:`2318`).
* Sequential slicing/indexing operations on a :class:`.VirtualSource`
object (e.g. source[:10][::2]) now raise an error, rather than
giving incorrect results (:pr:`2280`).
- Add fix_failing_x86_test.patch
Changes from 2.8.0 are too numerous to list here, complete changelog
- no changelog
- python3 package added
OBS-URL: https://build.opensuse.org/request/show/1133632
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-h5py?expand=0&rev=28
* The read-only S3 file driver ('ros3') now accepts an AWS session
token as part of the credentials (:pr:`2301`). Pass session_token
when opening a :class:`.File` (along with the other S3 parameters).
This requires HDF5 1.14.2 or later, with the ROS3 feature built.
* Support for the HDF5 1.8 series was dropped, along with early 1.10
releases. The minimum required HDF5 version is now 1.10.4.
* Exposing HDF5 functions
* H5Pget_fapl_ros3_token & H5Pset_fapl_ros3_token
* Various nasty bugs when using nested compound and vlen data types
have been fixed (:pr:`2134`).
* Fixed an OverflowError in some cases when registering a filter
with :func:`h5z.register_filter`, especially on 32-bit
architectures (:pr:`2318`).
* Sequential slicing/indexing operations on a :class:`.VirtualSource`
object (e.g. source[:10][::2]) now raise an error, rather than
giving incorrect results (:pr:`2280`).
- Add fix_failing_x86_test.patch
Changes from 2.8.0 are too numerous to list here, complete changelog
- no changelog
- python3 package added
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-h5py?expand=0&rev=48
- Update to 3.9.0
* This version of h5py requires Python 3.8 or above.
## New features
* New out argument to read_direct_chunk() to allow passing the
output buffer (PR 2232).
* The objects from Dataset.asstr() and Dataset.astype() now
implement the __array__() method (PR 2269). This speeds up
access for functions that support it, such as np.asarray().
* Validate key types when creating groups and attributes, giving
better error messages when invalid types are used (PR 2266).
## Deprecations & removals
* Using Dataset.astype() as a context manager has been removed,
after being deprecated in h5py 3.6. Read data by slicing the
returned object instead: dset.astype('f4')[:].
* Exposing HDF5 functions
* H5Pget_elink_acc_flags & H5Pset_elink_acc_flags as
h5py.h5p.PropLAID.get_elink_acc_flags() &
h5py.h5p.PropLAID.set_elink_acc_flags(): access the external
link file access traversal flags in a link access property list
(PR 2244).
* H5Zregister as h5py.h5z.register_filter(): register an HDF5
filter (PR 2229).
## Bug fixes
* Group.__contains__ and Group.get now use the default link
access property list systematically (PR 2244).
* Removed various calls to the deprecated numpy.product function
(PR 2242 & PR 2273).
* Fix the IPython tab-completion integration in IPython 8.12 (PR
2256).
* Replacing attributes with AttributeManager.create() now deletes
OBS-URL: https://build.opensuse.org/request/show/1105322
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-h5py?expand=0&rev=44
- Correct order of definitions to generate multiple packages for
multiple builds.
- update to version 3.4.0:
* New features
+ The pre-built wheels now bundle HDF5 1.12.1 (:pr:`1945`).
+ len() now works on dset.astype(), .asstr() and .fields()
wrappers (:pr:`1913`).
* Bug fixes
+ Fix bug introduced in version 3.3 that did not allow the
creation of files using the flag "a" for certain drivers
(e.g. mpiio, core and stdio) (:pr:`1922`).
+ Dataset indexing will now use the optimized fast path, which was
accidentally disabled in a previous version (:pr:`1944`).
+ Fix an error building with Cython 3.0 alpha 8 (cpdef inside
functions) (:pr:`1923`).
OBS-URL: https://build.opensuse.org/request/show/917807
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-h5py?expand=0&rev=21
- Update to version 3.3.0.
* New features
* Compatibility with the upcoming HDF5 1.12.1 and possibly 1.14.
* H5T_BITFIELD types will now be cast to their numpy.uint
equivalent by default (:issue:`1258`). This means that
no knowledge of mixed type compound dataset schemas is
required to read these types, and can simply be read as
follows: arr = dset[:]
Alternatively, 8-bit bitfields can still be cast to booleans
explicitly: arr = dset.astype(numpy.bool_)[:]
* Key types are validated when accessing groups, to give more
helpful errors when a group is indexed like a dataset.
* A new :meth:`.Group.build_virtual_dataset` method acting as
a context manager to assemble virtual datasets.
* If the source and target of a virtual dataset mapping have
different numbers of points, an error should now be thrown
when you make the mapping in the :class:`VirtualLayout`,
rather than later when writing this into the file. This
should make it easier to find the source of such errors.
* Deprecations
* The default_file_mode config option is deprecated, and setting
it to values other than 'r' (for read-only mode) is no longer
allowed. Pass the mode when creating a :class:`.File` object
instead of setting a global default.
* Bug fixes
* Trying to open a file in append mode ('a') should now give
clearer error messages when the file exists but can't be opened.
* Protect :func:`h5py.h5f.get_obj_ids` against garbage collection
invalidating HDF5 IDs while it is retrieving them.
* Make file closing more robust, including when closing files
while the interpreter is shutting down, by using lower-level
code to close HDF5 IDs of objects inside the file.
- Updates for version 3.2.0.
* New features
* Added support to use the HDF5 ROS3 driver to access HDF5 files
on S3.
* Breaking changes & deprecations
* Setting the config option default_file_mode to values other
than 'r' is deprecated. Pass the desired mode when opening a
:class:`~.File` instead.
* Exposing HDF5 functions
* H5Pset_fapl_ros3 & H5Pget_fapl_ros3 (where HDF5 is built with
read-only S3 support).
* Bug fixes
* :exc:`OSError` exceptions raised by h5py should now have a
useful .errno attribute, where HDF5 provides this information.
Subclasses such as :exc:`FileNotFoundError` should also be
raised where appropriate.
* Fix reading data with a datatype of variable-length arrays of
fixed length strings.
* Fix :meth:`.Dataset.read_direct` and :meth:`.Dataset.write_direct`
when the source and destination have different shapes.
* Fix selecting data using integer indices in
:meth:`.Dataset.read_direct` and :meth:`.Dataset.write_direct`.
* Fix exception handling in :meth:`.Group.visititems`.
* Issue a warning when File(..., swmr=True) is specified with
any mode other than 'r', as the SWMR option is ignored in
these cases.
* Fix NumPy 1.20 deprecation warnings concerning the use of
None as shape, and the deprecated aliases np.float, np.int
and np.bool.
* 3.2.1 bug fix release
* Fix :attr:`.File.driver` when the read-only S3 driver is
available.
- Rebase python-h5py-relax-dependency-versions.patch
OBS-URL: https://build.opensuse.org/request/show/901805
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-h5py?expand=0&rev=33
- Replace %__python3 usage by %python_exec.
- Enable parallel hdf5:
* Implement multibuild for different flavors of openmpi.
* Export env variables `HDF5_LIBDIR` and `HDF5_INCLUDEDIR`
pointing to the hdf library and headers location when enabling
openmpi flavored builds.
* Add BuildRequires: python-pytest-mpi for mpi tests.
* Replace python rpm macros with their expansions in most cases
to adapt to mpi paths.
OBS-URL: https://build.opensuse.org/request/show/854906
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-h5py?expand=0&rev=17
* Update to version 3.1.0.
* Drop upstreamed patches: 1) remove_unittest2.patch 2) no_include_opt.patch.
* Add python-h5py-relax-numpy-versions.patch to allow building against more recent versions of numpy than minimally required.
* Python 2 is no longer supported; at least version 3.6 is required.
* Run all tests except: 1) MPI based ones, as we build against the non-mpi version of hdf5 2) Offset test which overflows on 32-bit.
* Tests require python-cached-property for openSUSE <= 1500.
* Fix `requires_eq` on libhdf5 (oS:F now has libhdf_hl103) already.
OBS-URL: https://build.opensuse.org/request/show/851124
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-h5py?expand=0&rev=22