Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-h5py for openSUSE:Factory checked in at 2021-09-09 23:07:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-h5py (Old) and /work/SRC/openSUSE:Factory/.python-h5py.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-h5py" Thu Sep 9 23:07:50 2021 rev:21 rq:917807 version:3.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-h5py/python-h5py.changes 2021-06-25 15:02:14.492217710 +0200 +++ /work/SRC/openSUSE:Factory/.python-h5py.new.1899/python-h5py.changes 2021-09-09 23:08:22.700889047 +0200 @@ -1,0 +2,23 @@ +Thu Sep 9 16:08:42 UTC 2021 - Matej Cepl <mc...@suse.com> + +- Correct order of definitions to generate multiple packages for + multiple builds. + +------------------------------------------------------------------- +Sun Sep 5 16:38:52 UTC 2021 - Arun Persaud <a...@gmx.de> + +- 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`). + +------------------------------------------------------------------- Old: ---- h5py-3.3.0.tar.gz New: ---- h5py-3.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-h5py.spec ++++++ --- /var/tmp/diff_new_pack.X4vHSq/_old 2021-09-09 23:08:23.072889478 +0200 +++ /var/tmp/diff_new_pack.X4vHSq/_new 2021-09-09 23:08:23.076889483 +0200 @@ -17,9 +17,10 @@ %global flavor @BUILD_FLAVOR@%{nil} - %define pname python-h5py - +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define skip_python2 1 +%define skip_python36 1 # SECTION MPI DEFINITIONS %if "%{flavor}" == "openmpi1" %global mpi_flavor openmpi @@ -29,17 +30,14 @@ %define mpi_vers 1 %endif %endif - %if "%{flavor}" == "openmpi2" %global mpi_flavor openmpi %define mpi_vers 2 %endif - %if "%{flavor}" == "openmpi3" %global mpi_flavor openmpi %define mpi_vers 3 %endif - %if "%{flavor}" == "openmpi4" %global mpi_flavor openmpi %define mpi_vers 4 @@ -64,12 +62,8 @@ %define my_sitearch_in_expand %{$python_sitearch} %endif # /SECTION MPI DEFINITIONS - -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define skip_python2 1 -%define skip_python36 1 Name: %{pname}%{?my_suffix} -Version: 3.3.0 +Version: 3.4.0 Release: 0 Summary: Python interface to the Hierarchical Data Format library License: BSD-3-Clause @@ -93,6 +87,7 @@ BuildRequires: %{python_module numpy-devel >= 1.17.5 if (%python-base >= 3.8)} BuildRequires: %{python_module numpy-devel >= 1.19.3 if (%python-base >= 3.9)} Requires: hdf5%{?my_suffix} +%requires_eq libhdf5%{?my_suffix} %if 0%{python_version_nodots} >= 39 Requires: python-numpy >= 1.19.3 %else @@ -102,8 +97,7 @@ Requires: python-numpy >= 1.12 %endif %endif -%requires_eq libhdf5%{?my_suffix} -%if %python_version_nodots < 38 +%if %{python_version_nodots} < 38 Requires: python-cached-property %endif %if %{with mpi} ++++++ h5py-3.3.0.tar.gz -> h5py-3.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/AUTHORS new/h5py-3.4.0/AUTHORS --- old/h5py-3.3.0/AUTHORS 2021-06-22 14:06:03.000000000 +0200 +++ new/h5py-3.4.0/AUTHORS 1970-01-01 01:00:00.000000000 +0100 @@ -1,172 +0,0 @@ -All of the people who have made at least one contribution to h5py. -Authors are sorted by number of commits. - -* Andrew Collette -* Thomas Kluyver -* Thomas A Caswell -* James Tocknell -* Jerome Kieffer -* Chen -* Aleksandar Jelenak -* ???????????? ?????????????????? -* Darren Dale -* Henri Payno -* Thomas VINCENT -* Pierlauro Sciarelli -* Anthony Scopatz -* Valentin Valls -* Satrajit Ghosh -* Ulrik Kofoed Pedersen -* Stan West -* Martin Raspaud -* John Kirkham -* Aaron Parsons -* Julia Garriga Ferrer -* Jerome Kieffer -* Hameer Abbasi -* Cyril Danilevski -* John Readey -* Lawrence Chan -* V. Armando Sol?? -* Andrey Paramonov -* Yu Feng -* Liu JiaLin -* lhole -* Ghislain Antony Vaillant -* Seth R Johnson -* Matthieu Brucher -* Andrea Bedini -* Martin Teichmann -* Markus Gerstel -* Axel Huebl -* Pierre de Buyl -* miketrumpis -* Vladimir Brankov -* Bruce Merry -* Samuel Dowling -* Florian Rathgeber -* Chris Billington -* Max Dietz -* Silas-Asamoah -* tmichela -* Anna Padee -* nitrocalcite -* Orion Poplawski -* Dieter Weber -* Konrad Hinsen -* Toon Verstraelen -* Antony Lee -* Machine User -* Geoff Wright -* Jordan Farquhar -* Clemens Weninger -* Robin De Schepper -* aporter -* Kai Muehlbauer -* Thomas Donoghue -* Kit Choi -* lucasb-eyer -* Matthew Brett -* Dylan Nelson -* Scott Sanderson -* Matt Zwier -* Charles Law -* Chen Yufei -* Simon Mutch -* Christian Sachs -* ebner -* egachen -* Gary Yendell -* Kacper Kowalik -* Yaroslav Halchenko -* Sajid Ali -* Noel Dawe -* John Tyree -* Christoph Gohlke -* Carlos Pascual -* Joe Jevnik -* unknown -* Jason Newton -* Will Parkin -* Devin -* Nathan Goldbaum -* paulmueller -* Andy Salnikov -* amcnicho -* Jonah Bernhard -* Antoine Pitrou -* Joseph Kleinhenz -* cclauss -* Colin Gavin -* Chris Meyer -* Jakob Lombacher -* Michael Boyle -* Sam Mason -* Peter H. Li -* jialin -* Alex Porter -* jhofinger -* Aaron Meurer -* Guinnes Singh -* Jonathan Okasinski -* mattip -* Daniel Berke -* joydeep bhattacharjee -* pharshalp -* Matthias Geier -* Eric Larson -* Drew Parsons -* Robert David Grant -* JP Dehollain -* chrisjbillington -* Lars Viklund -* Dan Guest -* root -* bpinsard -* Barry Wardel -* Evan Wright -* Johannes Meixner -* Marc Abramowitz -* syhw -* Stuart Berg -* Michael V. DePalatis -* Kwat -* Mike Boyle -* Peter Chang -* Mikhail -* Nils Werner -* Peter Hill -* John Benediktsson -* Yuri D'Elia -* Matthew Turk -* Bradley M. Froehle -* Dan Meliza -* Artem Sanakoev -* Matthias K??nig -* Adam J. Stewart -* Kyle Sunden -* Caleb Morse -* Peter Colberg -* James Clarke -* Sam Toyer -* Joe Zuntz -* Greg Allen -* Lawrence Mitchell -* dkriegner -* Jens Timmerman -* Niru Maheswaranathan -* Paco Hope -* Felix Yan -* Alex Migon -* Lisandro Dalcin -* Alexei Colin -* Marco Paolini -* pierlauro -* Philipp A -* Csaba Kert??sz -* Thomas Michelat -* Luke Tudge -* Gang Chen -* patiencedaur -* Tim Gates -* Micha?? G??rny diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/PKG-INFO new/h5py-3.4.0/PKG-INFO --- old/h5py-3.3.0/PKG-INFO 2021-06-22 14:25:32.937909600 +0200 +++ new/h5py-3.4.0/PKG-INFO 2021-08-23 10:31:52.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: h5py -Version: 3.3.0 +Version: 3.4.0 Summary: Read and write HDF5 files from Python Home-page: http://www.h5py.org Author: Andrew Collette diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/README.rst new/h5py-3.4.0/README.rst --- old/h5py-3.3.0/README.rst 2021-05-09 13:55:36.000000000 +0200 +++ new/h5py-3.4.0/README.rst 2021-07-08 14:39:25.000000000 +0200 @@ -34,7 +34,7 @@ -------------- Open a bug at https://github.com/h5py/h5py/issues. For general questions, ask -on the list (https://groups.google.com/d/forum/h5py). +on the HDF forum (https://forum.hdfgroup.org/c/hdf-tools/h5py). .. _`Continuum Anaconda`: http://continuum.io/downloads .. _`Enthought Canopy`: https://www.enthought.com/products/canopy/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/docs/conf.py new/h5py-3.4.0/docs/conf.py --- old/h5py-3.3.0/docs/conf.py 2021-06-22 14:06:03.000000000 +0200 +++ new/h5py-3.4.0/docs/conf.py 2021-08-23 10:28:23.000000000 +0200 @@ -61,7 +61,7 @@ # built documents. # # The full version, including alpha/beta/rc tags. -release = '3.3.0' +release = '3.4.0' # The short X.Y version. version = '.'.join(release.split('.')[:2]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/docs/high/group.rst new/h5py-3.4.0/docs/high/group.rst --- old/h5py-3.3.0/docs/high/group.rst 2021-06-22 12:28:44.000000000 +0200 +++ new/h5py-3.4.0/docs/high/group.rst 2021-08-12 13:30:42.000000000 +0200 @@ -106,7 +106,7 @@ Note that this is `not` a copy of the dataset! Like hard links in a UNIX file system, objects in an HDF5 file can be stored in multiple groups:: - >>> f["other name"] == f["name"] + >>> grp["other name"] == grp["name"] True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/docs/whatsnew/3.4.rst new/h5py-3.4.0/docs/whatsnew/3.4.rst --- old/h5py-3.3.0/docs/whatsnew/3.4.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/h5py-3.4.0/docs/whatsnew/3.4.rst 2021-08-23 10:28:23.000000000 +0200 @@ -0,0 +1,20 @@ +What's new in h5py 3.4 +====================== + +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`). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/docs/whatsnew/index.rst new/h5py-3.4.0/docs/whatsnew/index.rst --- old/h5py-3.3.0/docs/whatsnew/index.rst 2021-06-22 14:06:03.000000000 +0200 +++ new/h5py-3.4.0/docs/whatsnew/index.rst 2021-08-23 10:28:23.000000000 +0200 @@ -8,6 +8,7 @@ .. toctree:: + 3.4 3.3 3.2 3.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/_hl/dataset.py new/h5py-3.4.0/h5py/_hl/dataset.py --- old/h5py-3.3.0/h5py/_hl/dataset.py 2021-06-22 12:28:44.000000000 +0200 +++ new/h5py-3.4.0/h5py/_hl/dataset.py 2021-08-18 10:27:08.000000000 +0200 @@ -161,18 +161,25 @@ # pylint: disable=protected-access self._dset._local.astype = None + def __len__(self): + """ Get the length of the underlying dataset + + >>> length = len(dataset.astype('f8')) + """ + return len(self._dset) + class AsStrWrapper: """Wrapper to decode strings on reading the dataset""" def __init__(self, dset, encoding, errors='strict'): - self.dset = dset + self._dset = dset if encoding is None: encoding = h5t.check_string_dtype(dset.dtype).encoding self.encoding = encoding self.errors = errors def __getitem__(self, args): - bytes_arr = self.dset[args] + bytes_arr = self._dset[args] # numpy.char.decode() seems like the obvious thing to use. But it only # accepts numpy string arrays, not object arrays of bytes (which we # return from HDF5 variable-length strings). And the numpy @@ -186,24 +193,38 @@ b.decode(self.encoding, self.errors) for b in bytes_arr.flat ], dtype=object).reshape(bytes_arr.shape) + def __len__(self): + """ Get the length of the underlying dataset + + >>> length = len(dataset.asstr()) + """ + return len(self._dset) + class FieldsWrapper: """Wrapper to extract named fields from a dataset with a struct dtype""" extract_field = None def __init__(self, dset, prior_dtype, names): - self.dset = dset + self._dset = dset if isinstance(names, str): self.extract_field = names names = [names] self.read_dtype = readtime_dtype(prior_dtype, names) def __getitem__(self, args): - data = self.dset.__getitem__(args, new_dtype=self.read_dtype) + data = self._dset.__getitem__(args, new_dtype=self.read_dtype) if self.extract_field is not None: data = data[self.extract_field] return data + def __len__(self): + """ Get the length of the underlying dataset + + >>> length = len(dataset.fields(['x', 'y'])) + """ + return len(self._dset) + def readtime_dtype(basetype, names): """Make a NumPy compound dtype with a subset of available fields""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/_hl/files.py new/h5py-3.4.0/h5py/_hl/files.py --- old/h5py-3.3.0/h5py/_hl/files.py 2021-06-22 12:28:44.000000000 +0200 +++ new/h5py-3.4.0/h5py/_hl/files.py 2021-07-21 12:48:19.000000000 +0200 @@ -209,7 +209,18 @@ # existing one (ACC_EXCL) try: fid = h5f.open(name, h5f.ACC_RDWR, fapl=fapl) - except FileNotFoundError: + # Not all drivers raise FileNotFoundError (commented those that do not) + except FileNotFoundError if fapl.get_driver() in ( + h5fd.SEC2, + # h5fd.STDIO, + # h5fd.CORE, + h5fd.FAMILY, + h5fd.WINDOWS, + # h5fd.MPIO, + # h5fd.MPIPOSIX, + h5fd.fileobj_driver, + h5fd.ROS3D if ros3 else -1, + ) else OSError: fid = h5f.create(name, h5f.ACC_EXCL, fapl=fapl, fcpl=fcpl) else: raise ValueError("Invalid mode; must be one of r, r+, w, w-, x, a") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/_selector.pyx new/h5py-3.4.0/h5py/_selector.pyx --- old/h5py-3.3.0/h5py/_selector.pyx 2021-05-09 13:55:36.000000000 +0200 +++ new/h5py-3.4.0/h5py/_selector.pyx 2021-08-20 14:27:02.000000000 +0200 @@ -309,7 +309,7 @@ h5_stored_datatype = typewrap(H5Dget_type(self.dataset)) np_dtype = h5_stored_datatype.py_dtype() self.np_typenum = np_dtype.num - self.native_byteorder = PyArray_IsNativeByteOrder(np_dtype.byteorder) + self.native_byteorder = PyArray_IsNativeByteOrder(ord(np_dtype.byteorder)) self.h5_memory_datatype = py_create(np_dtype) cdef ndarray make_array(self, hsize_t* mshape): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/h5pl.pyx new/h5py-3.4.0/h5py/h5pl.pyx --- old/h5py-3.3.0/h5py/h5pl.pyx 2021-05-09 13:55:36.000000000 +0200 +++ new/h5py-3.4.0/h5py/h5pl.pyx 2021-07-08 10:44:27.000000000 +0200 @@ -62,8 +62,8 @@ Get the directory path at the given index (starting from 0) in the plugin search path. Returns a Python bytes object. """ - cpdef size_t n - cpdef char* buf = NULL + cdef size_t n + cdef char* buf = NULL n = H5PLget(index, NULL, 0) buf = <char*>emalloc(sizeof(char)*(n + 1)) @@ -78,6 +78,6 @@ Get the number of directories currently in the plugin search path. """ - cpdef unsigned int n = 0 + cdef unsigned int n = 0 H5PLsize(&n) return n diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/tests/common.py new/h5py-3.4.0/h5py/tests/common.py --- old/h5py-3.3.0/h5py/tests/common.py 2021-05-09 13:55:36.000000000 +0200 +++ new/h5py-3.4.0/h5py/tests/common.py 2021-08-20 14:27:02.000000000 +0200 @@ -130,7 +130,7 @@ assert np.all(dset[...] == arr[...]), \ "Arrays are not equal (dtype %s) %s" % (arr.dtype.str, message) - def assertNumpyBehavior(self, dset, arr, s): + def assertNumpyBehavior(self, dset, arr, s, skip_fast_reader=False): """ Apply slicing arguments "s" to both dset and arr. Succeeds if the results of the slicing are identical, or the @@ -144,12 +144,24 @@ except Exception as e: exc = type(e) + s_fast = s if isinstance(s, tuple) else (s,) + if exc is None: self.assertArrayEqual(dset[s], arr_result) + + if not skip_fast_reader: + self.assertArrayEqual( + dset._fast_reader.read(s_fast), + arr_result, + ) else: with self.assertRaises(exc): dset[s] + if not skip_fast_reader: + with self.assertRaises(exc): + dset._fast_reader.read(s_fast) + NUMPY_RELEASE_VERSION = tuple([int(i) for i in np.__version__.split(".")[0:2]]) @contextmanager diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/tests/test_dataset.py new/h5py-3.4.0/h5py/tests/test_dataset.py --- old/h5py-3.3.0/h5py/tests/test_dataset.py 2021-06-22 12:28:44.000000000 +0200 +++ new/h5py-3.4.0/h5py/tests/test_dataset.py 2021-08-18 10:27:08.000000000 +0200 @@ -1151,6 +1151,10 @@ # latin-1 will decode it but give the wrong text self.assertNotEqual(ds.asstr('latin-1')[0], data) + # len of ds + self.assertEqual(10, len(ds.asstr())) + + # Array output np.testing.assert_array_equal( ds.asstr()[:1], np.array([data], dtype=object) @@ -1274,6 +1278,9 @@ self.f['test'].fields('x')[:], testdata['x'] ) + # Check len() on fields wrapper + assert len(self.f['test'].fields('x')) == 16 + class TestSubarray(BaseDataset): def test_write_list(self): @@ -1464,6 +1471,13 @@ arr = dset.astype('f4')[:] self.assertArrayEqual(arr, np.arange(100, dtype='f4')) + + def test_astype_wrapper_len(self): + dset = self.f.create_dataset('x', (100,), dtype='i2') + dset[...] = np.arange(100) + self.assertEqual(100, len(dset.astype('f4'))) + + class TestScalarCompound(BaseDataset): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/tests/test_dataset_getitem.py new/h5py-3.4.0/h5py/tests/test_dataset_getitem.py --- old/h5py-3.3.0/h5py/tests/test_dataset_getitem.py 2021-05-09 13:55:36.000000000 +0200 +++ new/h5py-3.4.0/h5py/tests/test_dataset_getitem.py 2021-08-20 14:27:02.000000000 +0200 @@ -366,7 +366,13 @@ def test_mask(self): """ mask -> ndarray of matching shape """ mask = np.ones((0,), dtype='bool') - self.assertNumpyBehavior(self.dset, self.data, np.s_[mask]) + self.assertNumpyBehavior( + self.dset, + self.data, + np.s_[mask], + # Fast reader doesn't work with boolean masks + skip_fast_reader=True, + ) def test_fieldnames(self): """ field name -> ValueError (no fields) """ @@ -481,13 +487,31 @@ self.dset[[1,1,2]] def test_mask_true(self): - self.assertNumpyBehavior(self.dset, self.data, np.s_[self.data > -100]) + self.assertNumpyBehavior( + self.dset, + self.data, + np.s_[self.data > -100], + # Fast reader doesn't work with boolean masks + skip_fast_reader=True, + ) def test_mask_false(self): - self.assertNumpyBehavior(self.dset, self.data, np.s_[self.data > 100]) + self.assertNumpyBehavior( + self.dset, + self.data, + np.s_[self.data > 100], + # Fast reader doesn't work with boolean masks + skip_fast_reader=True, + ) def test_mask_partial(self): - self.assertNumpyBehavior(self.dset, self.data, np.s_[self.data > 5]) + self.assertNumpyBehavior( + self.dset, + self.data, + np.s_[self.data > 5], + # Fast reader doesn't work with boolean masks + skip_fast_reader=True, + ) def test_mask_wrongsize(self): """ we require the boolean mask shape to match exactly """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/tests/test_dtype.py new/h5py-3.4.0/h5py/tests/test_dtype.py --- old/h5py-3.3.0/h5py/tests/test_dtype.py 2021-06-22 12:28:44.000000000 +0200 +++ new/h5py-3.4.0/h5py/tests/test_dtype.py 2021-08-12 13:30:42.000000000 +0200 @@ -287,7 +287,7 @@ self.assertArrayEqual(fd['data'], data) def test_float_round_tripping(self): - dtypes = set(f for f in np.typeDict.values() + dtypes = set(f for f in np.sctypeDict.values() if (np.issubdtype(f, np.floating) or np.issubdtype(f, np.complexfloating))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/tests/test_file.py new/h5py-3.4.0/h5py/tests/test_file.py --- old/h5py-3.3.0/h5py/tests/test_file.py 2021-06-22 12:28:44.000000000 +0200 +++ new/h5py-3.4.0/h5py/tests/test_file.py 2021-07-21 12:48:19.000000000 +0200 @@ -240,6 +240,12 @@ self.assertEqual(fid.driver, 'stdio') fid.close() + # Testing creation with append flag + fid = File(self.mktemp(), 'a', driver='stdio') + self.assertTrue(fid) + self.assertEqual(fid.driver, 'stdio') + fid.close() + @ut.skipUnless(os.name == 'posix', "Sec2 driver is supported on posix") def test_sec2(self): """ Sec2 driver is supported on posix """ @@ -248,6 +254,12 @@ self.assertEqual(fid.driver, 'sec2') fid.close() + # Testing creation with append flag + fid = File(self.mktemp(), 'a', driver='sec2') + self.assertTrue(fid) + self.assertEqual(fid.driver, 'sec2') + fid.close() + def test_core(self): """ Core driver is supported (no backing store) """ fname = self.mktemp() @@ -257,6 +269,12 @@ fid.close() self.assertFalse(os.path.exists(fname)) + # Testing creation with append flag + fid = File(self.mktemp(), 'a', driver='core') + self.assertTrue(fid) + self.assertEqual(fid.driver, 'core') + fid.close() + def test_backing(self): """ Core driver saves to file when backing store used """ fname = self.mktemp() @@ -762,6 +780,14 @@ assert f assert f.driver == 'mpio' + def test_mpio_append(self, mpi_file_name): + """ Testing creation of file with append """ + from mpi4py import MPI + + with File(mpi_file_name, 'a', driver='mpio', comm=MPI.COMM_WORLD) as f: + assert f + assert f.driver == 'mpio' + @pytest.mark.skipif(h5py.version.hdf5_version_tuple < (1, 8, 9), reason="mpio atomic file operations were added in HDF5 1.8.9+") def test_mpi_atomic(self, mpi_file_name): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py/version.py new/h5py-3.4.0/h5py/version.py --- old/h5py-3.3.0/h5py/version.py 2021-06-22 14:06:03.000000000 +0200 +++ new/h5py-3.4.0/h5py/version.py 2021-08-23 10:28:23.000000000 +0200 @@ -23,7 +23,7 @@ hdf5_built_version_tuple = _h5.HDF5_VERSION_COMPILED_AGAINST -version_tuple = _H5PY_VERSION_CLS(3, 3, 0, None, None, None) +version_tuple = _H5PY_VERSION_CLS(3, 4, 0, None, None, None) version = "{0.major:d}.{0.minor:d}.{0.bugfix:d}".format(version_tuple) if version_tuple.pre is not None: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py.egg-info/PKG-INFO new/h5py-3.4.0/h5py.egg-info/PKG-INFO --- old/h5py-3.3.0/h5py.egg-info/PKG-INFO 2021-06-22 14:25:32.000000000 +0200 +++ new/h5py-3.4.0/h5py.egg-info/PKG-INFO 2021-08-23 10:31:52.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: h5py -Version: 3.3.0 +Version: 3.4.0 Summary: Read and write HDF5 files from Python Home-page: http://www.h5py.org Author: Andrew Collette diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/h5py.egg-info/SOURCES.txt new/h5py-3.4.0/h5py.egg-info/SOURCES.txt --- old/h5py-3.3.0/h5py.egg-info/SOURCES.txt 2021-06-22 14:25:32.000000000 +0200 +++ new/h5py-3.4.0/h5py.egg-info/SOURCES.txt 2021-08-23 10:31:52.000000000 +0200 @@ -1,4 +1,3 @@ -AUTHORS LICENSE MANIFEST.in README.rst @@ -53,6 +52,7 @@ docs/whatsnew/3.1.rst docs/whatsnew/3.2.rst docs/whatsnew/3.3.rst +docs/whatsnew/3.4.rst docs/whatsnew/index.rst docs_api/Makefile docs_api/automod.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/setup.py new/h5py-3.4.0/setup.py --- old/h5py-3.3.0/setup.py 2021-06-22 14:06:03.000000000 +0200 +++ new/h5py-3.4.0/setup.py 2021-08-23 10:28:23.000000000 +0200 @@ -22,7 +22,7 @@ import setup_build, setup_configure -VERSION = '3.3.0' +VERSION = '3.4.0' # Minimum supported versions of Numpy & Cython depend on the Python version NUMPY_MIN_VERSIONS = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h5py-3.3.0/tox.ini new/h5py-3.4.0/tox.ini --- old/h5py-3.3.0/tox.ini 2021-06-22 12:28:44.000000000 +0200 +++ new/h5py-3.4.0/tox.ini 2021-08-12 13:30:42.000000000 +0200 @@ -100,4 +100,4 @@ lazyasd ruamel.yaml commands= - rever check --activities authors,version_bump,changelog + rever check --activities version_bump,changelog