diff options
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-h5py')
| -rw-r--r-- | meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch | 796 |
1 files changed, 0 insertions, 796 deletions
diff --git a/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch b/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch deleted file mode 100644 index aba62ddf14..0000000000 --- a/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch +++ /dev/null | |||
| @@ -1,796 +0,0 @@ | |||
| 1 | From 1e02dbe5533d679b9ef064078a303607a7d0542a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Fri, 29 Dec 2023 14:33:38 +0100 | ||
| 4 | Subject: [PATCH] Fix Cython 3 compatibility | ||
| 5 | |||
| 6 | Upstream-Status: Backport [https://github.com/h5py/h5py/pull/2345/commits] | ||
| 7 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 8 | --- | ||
| 9 | benchmarks/benchmark_slicing.py | 12 ++++---- | ||
| 10 | docs/conf.py | 2 +- | ||
| 11 | docs/high/dataset.rst | 4 +-- | ||
| 12 | docs/high/file.rst | 6 ++-- | ||
| 13 | docs/requirements-rtd.txt | 5 ++-- | ||
| 14 | docs/vds.rst | 2 +- | ||
| 15 | docs/whatsnew/3.0.rst | 2 +- | ||
| 16 | docs/whatsnew/3.7.rst | 4 +-- | ||
| 17 | h5py/_errors.pxd | 10 +++---- | ||
| 18 | h5py/_errors.pyx | 4 +-- | ||
| 19 | h5py/_hl/base.py | 4 +-- | ||
| 20 | h5py/_hl/dataset.py | 8 ++--- | ||
| 21 | h5py/_hl/dims.py | 3 +- | ||
| 22 | h5py/_hl/files.py | 2 +- | ||
| 23 | h5py/_locks.pxi | 6 ++-- | ||
| 24 | h5py/_proxy.pyx | 4 +-- | ||
| 25 | h5py/_selector.pyx | 2 +- | ||
| 26 | h5py/api_compat.h | 13 ++++---- | ||
| 27 | h5py/api_types_hdf5.pxd | 48 +++++++++++++++--------------- | ||
| 28 | h5py/h5fd.pyx | 38 ++++++++++++++++------- | ||
| 29 | h5py/h5p.pyx | 4 +-- | ||
| 30 | h5py/h5t.pyx | 2 +- | ||
| 31 | h5py/tests/test_attrs_data.py | 2 +- | ||
| 32 | h5py/tests/test_big_endian_file.py | 4 +-- | ||
| 33 | h5py/tests/test_dataset.py | 4 +-- | ||
| 34 | h5py/tests/test_file.py | 6 ++-- | ||
| 35 | h5py/tests/test_file_alignment.py | 4 +-- | ||
| 36 | h5py/tests/test_group.py | 4 +-- | ||
| 37 | h5py/tests/test_selections.py | 2 +- | ||
| 38 | pylintrc | 2 +- | ||
| 39 | pyproject.toml | 2 +- | ||
| 40 | setup_configure.py | 2 +- | ||
| 41 | tox.ini | 2 +- | ||
| 42 | 33 files changed, 116 insertions(+), 103 deletions(-) | ||
| 43 | |||
| 44 | diff --git a/benchmarks/benchmark_slicing.py b/benchmarks/benchmark_slicing.py | ||
| 45 | index e9a34dad..b833f012 100644 | ||
| 46 | --- a/benchmarks/benchmark_slicing.py | ||
| 47 | +++ b/benchmarks/benchmark_slicing.py | ||
| 48 | @@ -7,7 +7,7 @@ import logging | ||
| 49 | logger = logging.getLogger(__name__) | ||
| 50 | import h5py | ||
| 51 | |||
| 52 | -#Needed for mutithreading: | ||
| 53 | +#Needed for multithreading: | ||
| 54 | from queue import Queue | ||
| 55 | from threading import Thread, Event | ||
| 56 | import multiprocessing | ||
| 57 | @@ -173,8 +173,8 @@ class SlicingBenchmark: | ||
| 58 | |||
| 59 | if __name__ == "__main__": | ||
| 60 | logging.basicConfig(level=logging.INFO) | ||
| 61 | - benckmark = SlicingBenchmark() | ||
| 62 | - benckmark.setup() | ||
| 63 | - benckmark.time_sequential_reads() | ||
| 64 | - benckmark.time_threaded_reads() | ||
| 65 | - benckmark.teardown() | ||
| 66 | + benchmark = SlicingBenchmark() | ||
| 67 | + benchmark.setup() | ||
| 68 | + benchmark.time_sequential_reads() | ||
| 69 | + benchmark.time_threaded_reads() | ||
| 70 | + benchmark.teardown() | ||
| 71 | diff --git a/docs/conf.py b/docs/conf.py | ||
| 72 | index 93b23939..a0f6c1ac 100644 | ||
| 73 | --- a/docs/conf.py | ||
| 74 | +++ b/docs/conf.py | ||
| 75 | @@ -109,7 +109,7 @@ pygments_style = 'sphinx' | ||
| 76 | |||
| 77 | # The theme to use for HTML and HTML Help pages. See the documentation for | ||
| 78 | # a list of builtin themes. | ||
| 79 | -html_theme = 'default' | ||
| 80 | +html_theme = 'sphinx_rtd_theme' | ||
| 81 | |||
| 82 | # Theme options are theme-specific and customize the look and feel of a theme | ||
| 83 | # further. For a list of options available for each theme, see the | ||
| 84 | diff --git a/docs/high/dataset.rst b/docs/high/dataset.rst | ||
| 85 | index 0f27284f..cb75fffe 100644 | ||
| 86 | --- a/docs/high/dataset.rst | ||
| 87 | +++ b/docs/high/dataset.rst | ||
| 88 | @@ -58,7 +58,7 @@ the requested ``dtype``. | ||
| 89 | Reading & writing data | ||
| 90 | ---------------------- | ||
| 91 | |||
| 92 | -HDF5 datasets re-use the NumPy slicing syntax to read and write to the file. | ||
| 93 | +HDF5 datasets reuse the NumPy slicing syntax to read and write to the file. | ||
| 94 | Slice specifications are translated directly to HDF5 "hyperslab" | ||
| 95 | selections, and are a fast and efficient way to access data in the file. The | ||
| 96 | following slicing arguments are recognized: | ||
| 97 | @@ -464,7 +464,7 @@ Reference | ||
| 98 | >>> dset = f["MyDS"] | ||
| 99 | >>> f.close() | ||
| 100 | >>> if dset: | ||
| 101 | - ... print("datset accessible") | ||
| 102 | + ... print("dataset accessible") | ||
| 103 | ... else: | ||
| 104 | ... print("dataset inaccessible") | ||
| 105 | dataset inaccessible | ||
| 106 | diff --git a/docs/high/file.rst b/docs/high/file.rst | ||
| 107 | index 484498ce..e757fe1a 100644 | ||
| 108 | --- a/docs/high/file.rst | ||
| 109 | +++ b/docs/high/file.rst | ||
| 110 | @@ -392,7 +392,7 @@ Data alignment | ||
| 111 | When creating datasets within files, it may be advantageous to align the offset | ||
| 112 | within the file itself. This can help optimize read and write times if the data | ||
| 113 | become aligned with the underlying hardware, or may help with parallelism with | ||
| 114 | -MPI. Unfortunately, aligning small variables to large blocks can leave alot of | ||
| 115 | +MPI. Unfortunately, aligning small variables to large blocks can leave a lot of | ||
| 116 | empty space in a file. To this effect, application developers are left with two | ||
| 117 | options to tune the alignment of data within their file. The two variables | ||
| 118 | ``alignment_threshold`` and ``alignment_interval`` in the :class:`File` | ||
| 119 | @@ -415,7 +415,7 @@ number of regions. Setting a small value can reduce the overall file size, | ||
| 120 | especially in combination with the ``libver`` option. This controls how the | ||
| 121 | overall data and metadata are laid out within the file. | ||
| 122 | |||
| 123 | -For more information, see the offical HDF5 documentation `H5P_SET_META_BLOCK_SIZE | ||
| 124 | +For more information, see the official HDF5 documentation `H5P_SET_META_BLOCK_SIZE | ||
| 125 | <https://portal.hdfgroup.org/display/HDF5/H5P_SET_META_BLOCK_SIZE>`_. | ||
| 126 | |||
| 127 | Reference | ||
| 128 | @@ -497,7 +497,7 @@ Reference | ||
| 129 | Only available with HDF5 >= 1.12.1 or 1.10.x >= 1.10.7. | ||
| 130 | :param alignment_threshold: Together with ``alignment_interval``, this | ||
| 131 | property ensures that any file object greater than or equal | ||
| 132 | - in size to the alignement threshold (in bytes) will be | ||
| 133 | + in size to the alignment threshold (in bytes) will be | ||
| 134 | aligned on an address which is a multiple of alignment interval. | ||
| 135 | :param alignment_interval: This property should be used in conjunction with | ||
| 136 | ``alignment_threshold``. See the description above. For more | ||
| 137 | diff --git a/docs/requirements-rtd.txt b/docs/requirements-rtd.txt | ||
| 138 | index e67a3eee..52096927 100644 | ||
| 139 | --- a/docs/requirements-rtd.txt | ||
| 140 | +++ b/docs/requirements-rtd.txt | ||
| 141 | @@ -1,3 +1,2 @@ | ||
| 142 | -sphinx==4.3.0 | ||
| 143 | -sphinx_rtd_theme==1.0.0 | ||
| 144 | -readthedocs-sphinx-search==0.1.1 | ||
| 145 | +sphinx==7.2.6 | ||
| 146 | +sphinx_rtd_theme==1.3.0 | ||
| 147 | diff --git a/docs/vds.rst b/docs/vds.rst | ||
| 148 | index a9a7c7f6..bd47ad1c 100644 | ||
| 149 | --- a/docs/vds.rst | ||
| 150 | +++ b/docs/vds.rst | ||
| 151 | @@ -124,7 +124,7 @@ Reference | ||
| 152 | slice it to indicate which regions should be used in the virtual dataset. | ||
| 153 | |||
| 154 | When `creating a virtual dataset <creating_vds_>`_, paths to sources present | ||
| 155 | - in the same file are changed to a ".", refering to the current file (see | ||
| 156 | + in the same file are changed to a ".", referring to the current file (see | ||
| 157 | `H5Pset_virtual <https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL>`_). | ||
| 158 | This will keep such sources valid in case the file is renamed. | ||
| 159 | |||
| 160 | diff --git a/docs/whatsnew/3.0.rst b/docs/whatsnew/3.0.rst | ||
| 161 | index db30ad66..ff3c2bef 100644 | ||
| 162 | --- a/docs/whatsnew/3.0.rst | ||
| 163 | +++ b/docs/whatsnew/3.0.rst | ||
| 164 | @@ -44,7 +44,7 @@ New features | ||
| 165 | See also the deprecation related to the ``external`` argument. | ||
| 166 | * Support for setting file space strategy at file creation. Includes option to | ||
| 167 | persist empty space tracking between sessions. See :class:`.File` for details. | ||
| 168 | -* More efficient writing when assiging a scalar to a chunked dataset, when the | ||
| 169 | +* More efficient writing when assigning a scalar to a chunked dataset, when the | ||
| 170 | number of elements to write is no more than the size of one chunk. | ||
| 171 | * Introduced support for the split :ref:`file driver <file_driver>` | ||
| 172 | (:pr:`1468`). | ||
| 173 | diff --git a/docs/whatsnew/3.7.rst b/docs/whatsnew/3.7.rst | ||
| 174 | index 27790254..2e822d68 100644 | ||
| 175 | --- a/docs/whatsnew/3.7.rst | ||
| 176 | +++ b/docs/whatsnew/3.7.rst | ||
| 177 | @@ -19,7 +19,7 @@ New features | ||
| 178 | include it. Alternatively, you can :ref:`build h5py from source <source_install>` | ||
| 179 | against an HDF5 build with the direct driver enabled. | ||
| 180 | * The :class:`.File` constructor contains two new parameters ``alignment_threshold``, | ||
| 181 | - and ``alignment_interval`` controling the data alignment within the HDF5 | ||
| 182 | + and ``alignment_interval`` controlling the data alignment within the HDF5 | ||
| 183 | file (:pr:`2040`). | ||
| 184 | * :meth:`~.Group.create_dataset` and :meth:`~.Group.require_dataset` now accept | ||
| 185 | parameters ``efile_prefix`` and ``virtual_prefix`` to set a filesystem path | ||
| 186 | @@ -40,7 +40,7 @@ Bug fixes | ||
| 187 | attributes with ``track_order=True``. | ||
| 188 | * Fix for building with mpi4py on Python 3.10 (:pr:`2101`). | ||
| 189 | * Fixed fancy indexing with a boolean array for a single dimension (:pr:`2079`). | ||
| 190 | -* Avoid returning unitialised memory when reading from a chunked dataset with | ||
| 191 | +* Avoid returning uninitialised memory when reading from a chunked dataset with | ||
| 192 | missing chunks and no fill value (:pr:`2076`). | ||
| 193 | * Enable setting of fillvalue for datasets with variable length string dtype | ||
| 194 | (:pr:`2044`). | ||
| 195 | diff --git a/h5py/_errors.pxd b/h5py/_errors.pxd | ||
| 196 | index df9c1bbe..3cba6307 100644 | ||
| 197 | --- a/h5py/_errors.pxd | ||
| 198 | +++ b/h5py/_errors.pxd | ||
| 199 | @@ -23,7 +23,7 @@ cdef extern from "hdf5.h": | ||
| 200 | H5E_ARGS, # invalid arguments to routine | ||
| 201 | H5E_RESOURCE, # resource unavailable | ||
| 202 | H5E_INTERNAL, # Internal error (too specific to document) | ||
| 203 | - H5E_FILE, # file Accessability | ||
| 204 | + H5E_FILE, # file Accessibility | ||
| 205 | H5E_IO, # Low-level I/O | ||
| 206 | H5E_FUNC, # function Entry/Exit | ||
| 207 | H5E_ATOM, # object Atom | ||
| 208 | @@ -121,7 +121,7 @@ cdef extern from "hdf5.h": | ||
| 209 | # No error | ||
| 210 | H5E_NONE_MINOR # No error | ||
| 211 | |||
| 212 | - # File accessability errors | ||
| 213 | + # File accessibility errors | ||
| 214 | H5E_FILEEXISTS # File already exists | ||
| 215 | H5E_FILEOPEN # File already open | ||
| 216 | H5E_CANTCREATE # Unable to create file | ||
| 217 | @@ -207,7 +207,7 @@ cdef extern from "hdf5.h": | ||
| 218 | H5E_ARGS, # invalid arguments to routine | ||
| 219 | H5E_RESOURCE, # resource unavailable | ||
| 220 | H5E_INTERNAL, # Internal error (too specific to document) | ||
| 221 | - H5E_FILE, # file Accessability | ||
| 222 | + H5E_FILE, # file Accessibility | ||
| 223 | H5E_IO, # Low-level I/O | ||
| 224 | H5E_FUNC, # function Entry/Exit | ||
| 225 | H5E_ID, # object ID | ||
| 226 | @@ -305,7 +305,7 @@ cdef extern from "hdf5.h": | ||
| 227 | # No error | ||
| 228 | H5E_NONE_MINOR # No error | ||
| 229 | |||
| 230 | - # File accessability errors | ||
| 231 | + # File accessibility errors | ||
| 232 | H5E_FILEEXISTS # File already exists | ||
| 233 | H5E_FILEOPEN # File already open | ||
| 234 | H5E_CANTCREATE # Unable to create file | ||
| 235 | @@ -425,4 +425,4 @@ ctypedef struct err_cookie: | ||
| 236 | cdef err_cookie set_error_handler(err_cookie handler) | ||
| 237 | |||
| 238 | # Set the default error handler set by silence_errors/unsilence_errors | ||
| 239 | -cdef void set_default_error_handler() nogil | ||
| 240 | +cdef void set_default_error_handler() noexcept nogil | ||
| 241 | diff --git a/h5py/_errors.pyx b/h5py/_errors.pyx | ||
| 242 | index c3bd184e..2a7524b2 100644 | ||
| 243 | --- a/h5py/_errors.pyx | ||
| 244 | +++ b/h5py/_errors.pyx | ||
| 245 | @@ -94,7 +94,7 @@ cdef struct err_data_t: | ||
| 246 | H5E_error_t err | ||
| 247 | int n | ||
| 248 | |||
| 249 | -cdef herr_t walk_cb(unsigned int n, const H5E_error_t *desc, void *e) nogil noexcept: | ||
| 250 | +cdef herr_t walk_cb(unsigned int n, const H5E_error_t *desc, void *e) noexcept nogil: | ||
| 251 | |||
| 252 | cdef err_data_t *ee = <err_data_t*>e | ||
| 253 | |||
| 254 | @@ -168,7 +168,7 @@ cdef err_cookie _error_handler # Store error handler used by h5py | ||
| 255 | _error_handler.func = NULL | ||
| 256 | _error_handler.data = NULL | ||
| 257 | |||
| 258 | -cdef void set_default_error_handler() nogil: | ||
| 259 | +cdef void set_default_error_handler() noexcept nogil: | ||
| 260 | """Set h5py's current default error handler""" | ||
| 261 | H5Eset_auto(<hid_t>H5E_DEFAULT, _error_handler.func, _error_handler.data) | ||
| 262 | |||
| 263 | diff --git a/h5py/_hl/base.py b/h5py/_hl/base.py | ||
| 264 | index cad37053..9d261c90 100644 | ||
| 265 | --- a/h5py/_hl/base.py | ||
| 266 | +++ b/h5py/_hl/base.py | ||
| 267 | @@ -20,7 +20,7 @@ import posixpath | ||
| 268 | import numpy as np | ||
| 269 | |||
| 270 | # The high-level interface is serialized; every public API function & method | ||
| 271 | -# is wrapped in a lock. We re-use the low-level lock because (1) it's fast, | ||
| 272 | +# is wrapped in a lock. We reuse the low-level lock because (1) it's fast, | ||
| 273 | # and (2) it eliminates the possibility of deadlocks due to out-of-order | ||
| 274 | # lock acquisition. | ||
| 275 | from .._objects import phil, with_phil | ||
| 276 | @@ -524,7 +524,7 @@ def product(nums): | ||
| 277 | # Daniel Greenfeld, BSD license), where it is attributed to bottle (Copyright | ||
| 278 | # (c) 2009-2022, Marcel Hellkamp, MIT license). | ||
| 279 | |||
| 280 | -class cached_property(object): | ||
| 281 | +class cached_property: | ||
| 282 | def __init__(self, func): | ||
| 283 | self.__doc__ = getattr(func, "__doc__") | ||
| 284 | self.func = func | ||
| 285 | diff --git a/h5py/_hl/dataset.py b/h5py/_hl/dataset.py | ||
| 286 | index b69aba48..77b202d2 100644 | ||
| 287 | --- a/h5py/_hl/dataset.py | ||
| 288 | +++ b/h5py/_hl/dataset.py | ||
| 289 | @@ -334,10 +334,10 @@ class ChunkIterator: | ||
| 290 | self._layout = dset.chunks | ||
| 291 | if source_sel is None: | ||
| 292 | # select over entire dataset | ||
| 293 | - slices = [] | ||
| 294 | - for dim in range(rank): | ||
| 295 | - slices.append(slice(0, self._shape[dim])) | ||
| 296 | - self._sel = tuple(slices) | ||
| 297 | + self._sel = tuple( | ||
| 298 | + slice(0, self._shape[dim]) | ||
| 299 | + for dim in range(rank) | ||
| 300 | + ) | ||
| 301 | else: | ||
| 302 | if isinstance(source_sel, slice): | ||
| 303 | self._sel = (source_sel,) | ||
| 304 | diff --git a/h5py/_hl/dims.py b/h5py/_hl/dims.py | ||
| 305 | index d3c9206b..0cf4c9f3 100644 | ||
| 306 | --- a/h5py/_hl/dims.py | ||
| 307 | +++ b/h5py/_hl/dims.py | ||
| 308 | @@ -53,8 +53,7 @@ class DimensionProxy(base.CommonStateObject): | ||
| 309 | |||
| 310 | @with_phil | ||
| 311 | def __iter__(self): | ||
| 312 | - for k in self.keys(): | ||
| 313 | - yield k | ||
| 314 | + yield from self.keys() | ||
| 315 | |||
| 316 | @with_phil | ||
| 317 | def __len__(self): | ||
| 318 | diff --git a/h5py/_hl/files.py b/h5py/_hl/files.py | ||
| 319 | index aa4fb78d..bfcf3098 100644 | ||
| 320 | --- a/h5py/_hl/files.py | ||
| 321 | +++ b/h5py/_hl/files.py | ||
| 322 | @@ -480,7 +480,7 @@ class File(Group): | ||
| 323 | |||
| 324 | alignment_threshold | ||
| 325 | Together with ``alignment_interval``, this property ensures that | ||
| 326 | - any file object greater than or equal in size to the alignement | ||
| 327 | + any file object greater than or equal in size to the alignment | ||
| 328 | threshold (in bytes) will be aligned on an address which is a | ||
| 329 | multiple of alignment interval. | ||
| 330 | |||
| 331 | diff --git a/h5py/_locks.pxi b/h5py/_locks.pxi | ||
| 332 | index bc8b2dd9..1ec4e2fc 100644 | ||
| 333 | --- a/h5py/_locks.pxi | ||
| 334 | +++ b/h5py/_locks.pxi | ||
| 335 | @@ -63,7 +63,7 @@ cdef class FastRLock: | ||
| 336 | return self._owner == pythread.PyThread_get_thread_ident() | ||
| 337 | |||
| 338 | |||
| 339 | -cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) nogil: | ||
| 340 | +cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) noexcept nogil: | ||
| 341 | # Note that this function *must* hold the GIL when being called. | ||
| 342 | # We just use 'nogil' in the signature to make sure that no Python | ||
| 343 | # code execution slips in that might free the GIL | ||
| 344 | @@ -83,7 +83,7 @@ cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) n | ||
| 345 | lock, current_thread, | ||
| 346 | pythread.WAIT_LOCK if blocking else pythread.NOWAIT_LOCK) | ||
| 347 | |||
| 348 | -cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil: | ||
| 349 | +cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) noexcept nogil: | ||
| 350 | # Note that this function *must* hold the GIL when being called. | ||
| 351 | # We just use 'nogil' in the signature to make sure that no Python | ||
| 352 | # code execution slips in that might free the GIL | ||
| 353 | @@ -111,7 +111,7 @@ cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil: | ||
| 354 | lock._count = 1 | ||
| 355 | return 1 | ||
| 356 | |||
| 357 | -cdef inline void unlock_lock(FastRLock lock) nogil: | ||
| 358 | +cdef inline void unlock_lock(FastRLock lock) noexcept nogil: | ||
| 359 | # Note that this function *must* hold the GIL when being called. | ||
| 360 | # We just use 'nogil' in the signature to make sure that no Python | ||
| 361 | # code execution slips in that might free the GIL | ||
| 362 | diff --git a/h5py/_proxy.pyx b/h5py/_proxy.pyx | ||
| 363 | index 46b4fe0d..e40504f5 100644 | ||
| 364 | --- a/h5py/_proxy.pyx | ||
| 365 | +++ b/h5py/_proxy.pyx | ||
| 366 | @@ -241,7 +241,7 @@ ctypedef struct h5py_scatter_t: | ||
| 367 | void* buf | ||
| 368 | |||
| 369 | cdef herr_t h5py_scatter_cb(void* elem, hid_t type_id, unsigned ndim, | ||
| 370 | - const hsize_t *point, void *operator_data) nogil except -1: | ||
| 371 | + const hsize_t *point, void *operator_data) except -1 nogil: | ||
| 372 | cdef h5py_scatter_t* info = <h5py_scatter_t*>operator_data | ||
| 373 | |||
| 374 | memcpy(elem, (<char*>info[0].buf)+((info[0].i)*(info[0].elsize)), | ||
| 375 | @@ -252,7 +252,7 @@ cdef herr_t h5py_scatter_cb(void* elem, hid_t type_id, unsigned ndim, | ||
| 376 | return 0 | ||
| 377 | |||
| 378 | cdef herr_t h5py_gather_cb(void* elem, hid_t type_id, unsigned ndim, | ||
| 379 | - const hsize_t *point, void *operator_data) nogil except -1: | ||
| 380 | + const hsize_t *point, void *operator_data) except -1 nogil: | ||
| 381 | cdef h5py_scatter_t* info = <h5py_scatter_t*>operator_data | ||
| 382 | |||
| 383 | memcpy((<char*>info[0].buf)+((info[0].i)*(info[0].elsize)), elem, | ||
| 384 | diff --git a/h5py/_selector.pyx b/h5py/_selector.pyx | ||
| 385 | index 8b858c82..69970176 100644 | ||
| 386 | --- a/h5py/_selector.pyx | ||
| 387 | +++ b/h5py/_selector.pyx | ||
| 388 | @@ -341,7 +341,7 @@ cdef class Reader: | ||
| 389 | |||
| 390 | arr = PyArray_ZEROS(arr_rank, arr_shape, self.np_typenum, 0) | ||
| 391 | if not self.native_byteorder: | ||
| 392 | - arr = arr.newbyteorder() | ||
| 393 | + arr = arr.view(arr.dtype.newbyteorder()) | ||
| 394 | finally: | ||
| 395 | efree(arr_shape) | ||
| 396 | |||
| 397 | diff --git a/h5py/api_compat.h b/h5py/api_compat.h | ||
| 398 | index 52917f4d..a359e827 100644 | ||
| 399 | --- a/h5py/api_compat.h | ||
| 400 | +++ b/h5py/api_compat.h | ||
| 401 | @@ -24,7 +24,6 @@ typedef void *PyMPI_MPI_Message; | ||
| 402 | #include <stddef.h> | ||
| 403 | #include "Python.h" | ||
| 404 | #include "numpy/arrayobject.h" | ||
| 405 | -#include "hdf5.h" | ||
| 406 | |||
| 407 | /* The HOFFSET macro can't be used from Cython. */ | ||
| 408 | |||
| 409 | @@ -35,14 +34,14 @@ typedef void *PyMPI_MPI_Message; | ||
| 410 | #define h5py_size_n256 (sizeof(npy_complex256)) | ||
| 411 | #endif | ||
| 412 | |||
| 413 | -#define h5py_offset_n64_real (HOFFSET(npy_complex64, real)) | ||
| 414 | -#define h5py_offset_n64_imag (HOFFSET(npy_complex64, imag)) | ||
| 415 | -#define h5py_offset_n128_real (HOFFSET(npy_complex128, real)) | ||
| 416 | -#define h5py_offset_n128_imag (HOFFSET(npy_complex128, imag)) | ||
| 417 | +#define h5py_offset_n64_real (0) | ||
| 418 | +#define h5py_offset_n64_imag (sizeof(float)) | ||
| 419 | +#define h5py_offset_n128_real (0) | ||
| 420 | +#define h5py_offset_n128_imag (sizeof(double)) | ||
| 421 | |||
| 422 | #ifdef NPY_COMPLEX256 | ||
| 423 | -#define h5py_offset_n256_real (HOFFSET(npy_complex256, real)) | ||
| 424 | -#define h5py_offset_n256_imag (HOFFSET(npy_complex256, imag)) | ||
| 425 | +#define h5py_offset_n256_real (0) | ||
| 426 | +#define h5py_offset_n256_imag (sizeof(long double)) | ||
| 427 | #endif | ||
| 428 | |||
| 429 | #endif | ||
| 430 | diff --git a/h5py/api_types_hdf5.pxd b/h5py/api_types_hdf5.pxd | ||
| 431 | index a198f105..099e0f58 100644 | ||
| 432 | --- a/h5py/api_types_hdf5.pxd | ||
| 433 | +++ b/h5py/api_types_hdf5.pxd | ||
| 434 | @@ -257,27 +257,27 @@ cdef extern from "hdf5.h": | ||
| 435 | herr_t (*sb_encode)(H5FD_t *file, char *name, unsigned char *p) | ||
| 436 | herr_t (*sb_decode)(H5FD_t *f, const char *name, const unsigned char *p) | ||
| 437 | size_t fapl_size | ||
| 438 | - void * (*fapl_get)(H5FD_t *file) | ||
| 439 | - void * (*fapl_copy)(const void *fapl) | ||
| 440 | - herr_t (*fapl_free)(void *fapl) | ||
| 441 | + void * (*fapl_get)(H5FD_t *file) except * | ||
| 442 | + void * (*fapl_copy)(const void *fapl) except * | ||
| 443 | + herr_t (*fapl_free)(void *fapl) except -1 | ||
| 444 | size_t dxpl_size | ||
| 445 | void * (*dxpl_copy)(const void *dxpl) | ||
| 446 | herr_t (*dxpl_free)(void *dxpl) | ||
| 447 | - H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr) | ||
| 448 | - herr_t (*close)(H5FD_t *file) | ||
| 449 | + H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr) except * | ||
| 450 | + herr_t (*close)(H5FD_t *file) except -1 | ||
| 451 | int (*cmp)(const H5FD_t *f1, const H5FD_t *f2) | ||
| 452 | herr_t (*query)(const H5FD_t *f1, unsigned long *flags) | ||
| 453 | herr_t (*get_type_map)(const H5FD_t *file, H5FD_mem_t *type_map) | ||
| 454 | haddr_t (*alloc)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size) | ||
| 455 | herr_t (*free)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size) | ||
| 456 | - haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type) | ||
| 457 | - herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr) | ||
| 458 | - haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type) | ||
| 459 | + haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type) noexcept | ||
| 460 | + herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr) noexcept | ||
| 461 | + haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type) except -1 | ||
| 462 | herr_t (*get_handle)(H5FD_t *file, hid_t fapl, void**file_handle) | ||
| 463 | - herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer) | ||
| 464 | - herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer) | ||
| 465 | - herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) | ||
| 466 | - herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) | ||
| 467 | + herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer) except * | ||
| 468 | + herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer) except * | ||
| 469 | + herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1 | ||
| 470 | + herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1 | ||
| 471 | herr_t (*lock)(H5FD_t *file, hbool_t rw) | ||
| 472 | herr_t (*unlock)(H5FD_t *file) | ||
| 473 | H5FD_mem_t fl_map[<int>H5FD_MEM_NTYPES] | ||
| 474 | @@ -295,27 +295,27 @@ cdef extern from "hdf5.h": | ||
| 475 | herr_t (*sb_encode)(H5FD_t *file, char *name, unsigned char *p) | ||
| 476 | herr_t (*sb_decode)(H5FD_t *f, const char *name, const unsigned char *p) | ||
| 477 | size_t fapl_size | ||
| 478 | - void * (*fapl_get)(H5FD_t *file) | ||
| 479 | - void * (*fapl_copy)(const void *fapl) | ||
| 480 | - herr_t (*fapl_free)(void *fapl) | ||
| 481 | + void * (*fapl_get)(H5FD_t *file) except * | ||
| 482 | + void * (*fapl_copy)(const void *fapl) except * | ||
| 483 | + herr_t (*fapl_free)(void *fapl) except -1 | ||
| 484 | size_t dxpl_size | ||
| 485 | void * (*dxpl_copy)(const void *dxpl) | ||
| 486 | herr_t (*dxpl_free)(void *dxpl) | ||
| 487 | - H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr) | ||
| 488 | - herr_t (*close)(H5FD_t *file) | ||
| 489 | + H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr) except * | ||
| 490 | + herr_t (*close)(H5FD_t *file) except -1 | ||
| 491 | int (*cmp)(const H5FD_t *f1, const H5FD_t *f2) | ||
| 492 | herr_t (*query)(const H5FD_t *f1, unsigned long *flags) | ||
| 493 | herr_t (*get_type_map)(const H5FD_t *file, H5FD_mem_t *type_map) | ||
| 494 | haddr_t (*alloc)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size) | ||
| 495 | herr_t (*free)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size) | ||
| 496 | - haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type) | ||
| 497 | - herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr) | ||
| 498 | - haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type) | ||
| 499 | + haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type) noexcept | ||
| 500 | + herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr) noexcept | ||
| 501 | + haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type) except -1 | ||
| 502 | herr_t (*get_handle)(H5FD_t *file, hid_t fapl, void**file_handle) | ||
| 503 | - herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer) | ||
| 504 | - herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer) | ||
| 505 | - herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) | ||
| 506 | - herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) | ||
| 507 | + herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer) except * | ||
| 508 | + herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer) except * | ||
| 509 | + herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1 | ||
| 510 | + herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1 | ||
| 511 | herr_t (*lock)(H5FD_t *file, hbool_t rw) | ||
| 512 | herr_t (*unlock)(H5FD_t *file) | ||
| 513 | H5FD_mem_t fl_map[<int>H5FD_MEM_NTYPES] | ||
| 514 | diff --git a/h5py/h5fd.pyx b/h5py/h5fd.pyx | ||
| 515 | index e9746057..d39cf68f 100644 | ||
| 516 | --- a/h5py/h5fd.pyx | ||
| 517 | +++ b/h5py/h5fd.pyx | ||
| 518 | @@ -144,10 +144,10 @@ cdef herr_t H5FD_fileobj_close(H5FD_fileobj_t *f) except -1 with gil: | ||
| 519 | stdlib_free(f) | ||
| 520 | return 0 | ||
| 521 | |||
| 522 | -cdef haddr_t H5FD_fileobj_get_eoa(const H5FD_fileobj_t *f, H5FD_mem_t type): | ||
| 523 | +cdef haddr_t H5FD_fileobj_get_eoa(const H5FD_fileobj_t *f, H5FD_mem_t type) noexcept nogil: | ||
| 524 | return f.eoa | ||
| 525 | |||
| 526 | -cdef herr_t H5FD_fileobj_set_eoa(H5FD_fileobj_t *f, H5FD_mem_t type, haddr_t addr): | ||
| 527 | +cdef herr_t H5FD_fileobj_set_eoa(H5FD_fileobj_t *f, H5FD_mem_t type, haddr_t addr) noexcept nogil: | ||
| 528 | f.eoa = addr | ||
| 529 | return 0 | ||
| 530 | |||
| 531 | @@ -191,22 +191,38 @@ cdef herr_t H5FD_fileobj_flush(H5FD_fileobj_t *f, hid_t dxpl, hbool_t closing) e | ||
| 532 | cdef H5FD_class_t info | ||
| 533 | memset(&info, 0, sizeof(info)) | ||
| 534 | |||
| 535 | +# Cython doesn't support "except X" in casting definition currently | ||
| 536 | +ctypedef herr_t (*file_free_func_ptr)(void *) except -1 | ||
| 537 | + | ||
| 538 | +ctypedef herr_t (*file_close_func_ptr)(H5FD_t *) except -1 | ||
| 539 | +ctypedef haddr_t (*file_get_eoa_func_ptr)(const H5FD_t *, H5FD_mem_t) noexcept | ||
| 540 | +ctypedef herr_t (*file_set_eof_func_ptr)(H5FD_t *, H5FD_mem_t, haddr_t) noexcept | ||
| 541 | +ctypedef haddr_t (*file_get_eof_func_ptr)(const H5FD_t *, H5FD_mem_t) except -1 | ||
| 542 | +ctypedef herr_t (*file_read_func_ptr)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, void*) except -1 | ||
| 543 | +ctypedef herr_t (*file_write_func_ptr)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, const void*) except -1 | ||
| 544 | +ctypedef herr_t (*file_truncate_func_ptr)(H5FD_t *, hid_t, hbool_t) except -1 | ||
| 545 | +ctypedef herr_t (*file_flush_func_ptr)(H5FD_t *, hid_t, hbool_t) except -1 | ||
| 546 | + | ||
| 547 | + | ||
| 548 | info.name = 'fileobj' | ||
| 549 | info.maxaddr = libc.stdint.SIZE_MAX - 1 | ||
| 550 | info.fc_degree = H5F_CLOSE_WEAK | ||
| 551 | info.fapl_size = sizeof(PyObject *) | ||
| 552 | info.fapl_get = <void *(*)(H5FD_t *)>H5FD_fileobj_fapl_get | ||
| 553 | info.fapl_copy = <void *(*)(const void *)>H5FD_fileobj_fapl_copy | ||
| 554 | -info.fapl_free = <herr_t (*)(void *)>H5FD_fileobj_fapl_free | ||
| 555 | + | ||
| 556 | +info.fapl_free = <file_free_func_ptr>H5FD_fileobj_fapl_free | ||
| 557 | + | ||
| 558 | info.open = <H5FD_t *(*)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr)>H5FD_fileobj_open | ||
| 559 | -info.close = <herr_t (*)(H5FD_t *)>H5FD_fileobj_close | ||
| 560 | -info.get_eoa = <haddr_t (*)(const H5FD_t *, H5FD_mem_t)>H5FD_fileobj_get_eoa | ||
| 561 | -info.set_eoa = <herr_t (*)(H5FD_t *, H5FD_mem_t, haddr_t)>H5FD_fileobj_set_eoa | ||
| 562 | -info.get_eof = <haddr_t (*)(const H5FD_t *, H5FD_mem_t)>H5FD_fileobj_get_eof | ||
| 563 | -info.read = <herr_t (*)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, void *)>H5FD_fileobj_read | ||
| 564 | -info.write = <herr_t (*)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, const void *)>H5FD_fileobj_write | ||
| 565 | -info.truncate = <herr_t (*)(H5FD_t *, hid_t, hbool_t)>H5FD_fileobj_truncate | ||
| 566 | -info.flush = <herr_t (*)(H5FD_t *, hid_t, hbool_t)>H5FD_fileobj_flush | ||
| 567 | + | ||
| 568 | +info.close = <file_close_func_ptr>H5FD_fileobj_close | ||
| 569 | +info.get_eoa = <file_get_eoa_func_ptr>H5FD_fileobj_get_eoa | ||
| 570 | +info.set_eoa = <file_set_eof_func_ptr>H5FD_fileobj_set_eoa | ||
| 571 | +info.get_eof = <file_get_eof_func_ptr>H5FD_fileobj_get_eof | ||
| 572 | +info.read = <file_read_func_ptr>H5FD_fileobj_read | ||
| 573 | +info.write = <file_write_func_ptr>H5FD_fileobj_write | ||
| 574 | +info.truncate = <file_truncate_func_ptr>H5FD_fileobj_truncate | ||
| 575 | +info.flush = <file_flush_func_ptr>H5FD_fileobj_flush | ||
| 576 | # H5FD_FLMAP_DICHOTOMY | ||
| 577 | info.fl_map = [H5FD_MEM_SUPER, # default | ||
| 578 | H5FD_MEM_SUPER, # super | ||
| 579 | diff --git a/h5py/h5p.pyx b/h5py/h5p.pyx | ||
| 580 | index 779ea1b5..dc8bf65a 100644 | ||
| 581 | --- a/h5py/h5p.pyx | ||
| 582 | +++ b/h5py/h5p.pyx | ||
| 583 | @@ -1177,7 +1177,7 @@ cdef class PropFAID(PropInstanceID): | ||
| 584 | size_t block_size IN: File system block size | ||
| 585 | size_t cbuf_size IN: Copy buffer size | ||
| 586 | |||
| 587 | - Properites with value of 0 indicate that the HDF5 library should | ||
| 588 | + Properties with value of 0 indicate that the HDF5 library should | ||
| 589 | choose the value. | ||
| 590 | """ | ||
| 591 | H5Pset_fapl_direct(self.id, alignment, block_size, cbuf_size) | ||
| 592 | @@ -1761,7 +1761,7 @@ cdef class PropOCID(PropCreateID): | ||
| 593 | |||
| 594 | max_compact -- maximum number of attributes to be stored in compact storage(default:8) | ||
| 595 | must be greater than or equal to min_dense | ||
| 596 | - min_dense -- minmum number of attributes to be stored in dense storage(default:6) | ||
| 597 | + min_dense -- minimum number of attributes to be stored in dense storage(default:6) | ||
| 598 | |||
| 599 | """ | ||
| 600 | H5Pset_attr_phase_change(self.id, max_compact, min_dense) | ||
| 601 | diff --git a/h5py/h5t.pyx b/h5py/h5t.pyx | ||
| 602 | index e7aae14f..b9d7e74d 100644 | ||
| 603 | --- a/h5py/h5t.pyx | ||
| 604 | +++ b/h5py/h5t.pyx | ||
| 605 | @@ -1938,7 +1938,7 @@ def check_dtype(**kwds): | ||
| 606 | |||
| 607 | vlen = dtype | ||
| 608 | If the dtype represents an HDF5 vlen, returns the Python base class. | ||
| 609 | - Currently only builting string vlens (str) are supported. Returns | ||
| 610 | + Currently only built-in string vlens (str) are supported. Returns | ||
| 611 | None if the dtype does not represent an HDF5 vlen. | ||
| 612 | |||
| 613 | enum = dtype | ||
| 614 | diff --git a/h5py/tests/test_attrs_data.py b/h5py/tests/test_attrs_data.py | ||
| 615 | index 56481ca0..5083a1aa 100644 | ||
| 616 | --- a/h5py/tests/test_attrs_data.py | ||
| 617 | +++ b/h5py/tests/test_attrs_data.py | ||
| 618 | @@ -262,7 +262,7 @@ class TestEmpty(BaseAttrs): | ||
| 619 | self.assertTrue(is_empty_dataspace(h5a.open(self.f.id, b'y'))) | ||
| 620 | |||
| 621 | def test_modify(self): | ||
| 622 | - with self.assertRaises(IOError): | ||
| 623 | + with self.assertRaises(OSError): | ||
| 624 | self.f.attrs.modify('x', 1) | ||
| 625 | |||
| 626 | def test_values(self): | ||
| 627 | diff --git a/h5py/tests/test_big_endian_file.py b/h5py/tests/test_big_endian_file.py | ||
| 628 | index 4d81de01..170b5bcc 100644 | ||
| 629 | --- a/h5py/tests/test_big_endian_file.py | ||
| 630 | +++ b/h5py/tests/test_big_endian_file.py | ||
| 631 | @@ -24,14 +24,14 @@ def test_vlen_big_endian(): | ||
| 632 | assert dset[4] == 1.2 | ||
| 633 | assert dset.dtype == "<f8" | ||
| 634 | |||
| 635 | - # Same float values with big endianess | ||
| 636 | + # Same float values with big endianness | ||
| 637 | assert f["DSBEfloat"][0] == 3.14 | ||
| 638 | assert f["DSBEfloat"].dtype == ">f8" | ||
| 639 | |||
| 640 | assert f["DSLEint"][0] == 1 | ||
| 641 | assert f["DSLEint"].dtype == "<u8" | ||
| 642 | |||
| 643 | - # Same int values with big endianess | ||
| 644 | + # Same int values with big endianness | ||
| 645 | assert f["DSBEint"][0] == 1 | ||
| 646 | assert f["DSBEint"].dtype == ">i8" | ||
| 647 | |||
| 648 | diff --git a/h5py/tests/test_dataset.py b/h5py/tests/test_dataset.py | ||
| 649 | index e104dd53..0ffa5c80 100644 | ||
| 650 | --- a/h5py/tests/test_dataset.py | ||
| 651 | +++ b/h5py/tests/test_dataset.py | ||
| 652 | @@ -1939,9 +1939,9 @@ class TestCommutative(BaseDataset): | ||
| 653 | dset = self.f.create_dataset("test", shape, dtype=float, | ||
| 654 | data=np.random.rand(*shape)) | ||
| 655 | |||
| 656 | - # grab a value from the elements, ie dset[0] | ||
| 657 | + # grab a value from the elements, ie dset[0, 0] | ||
| 658 | # check that mask arrays are commutative wrt ==, != | ||
| 659 | - val = np.float64(dset[0]) | ||
| 660 | + val = np.float64(dset[0, 0]) | ||
| 661 | |||
| 662 | assert np.all((val == dset) == (dset == val)) | ||
| 663 | assert np.all((val != dset) == (dset != val)) | ||
| 664 | diff --git a/h5py/tests/test_file.py b/h5py/tests/test_file.py | ||
| 665 | index b47d408e..1aa38731 100644 | ||
| 666 | --- a/h5py/tests/test_file.py | ||
| 667 | +++ b/h5py/tests/test_file.py | ||
| 668 | @@ -326,7 +326,7 @@ class TestDrivers(TestCase): | ||
| 669 | # could be an integer multiple of 512 | ||
| 670 | # | ||
| 671 | # To allow HDF5 to do the heavy lifting for different platform, | ||
| 672 | - # We didn't provide any argumnets to the first call | ||
| 673 | + # We didn't provide any arguments to the first call | ||
| 674 | # and obtained HDF5's default values there. | ||
| 675 | |||
| 676 | # Testing creation with a few different property lists | ||
| 677 | @@ -639,9 +639,9 @@ class TestUnicode(TestCase): | ||
| 678 | Modes 'r' and 'r+' do not create files even when given unicode names | ||
| 679 | """ | ||
| 680 | fname = self.mktemp(prefix=chr(0x201a)) | ||
| 681 | - with self.assertRaises(IOError): | ||
| 682 | + with self.assertRaises(OSError): | ||
| 683 | File(fname, 'r') | ||
| 684 | - with self.assertRaises(IOError): | ||
| 685 | + with self.assertRaises(OSError): | ||
| 686 | File(fname, 'r+') | ||
| 687 | |||
| 688 | |||
| 689 | diff --git a/h5py/tests/test_file_alignment.py b/h5py/tests/test_file_alignment.py | ||
| 690 | index c280bb76..da13ee04 100644 | ||
| 691 | --- a/h5py/tests/test_file_alignment.py | ||
| 692 | +++ b/h5py/tests/test_file_alignment.py | ||
| 693 | @@ -50,7 +50,7 @@ class TestFileAlignment(TestCase): | ||
| 694 | alignment_interval = 4096 | ||
| 695 | |||
| 696 | for shape in [ | ||
| 697 | - (1033,), # A prime number above the thresold | ||
| 698 | + (1033,), # A prime number above the threshold | ||
| 699 | (1000,), # Exactly equal to the threshold | ||
| 700 | (1001,), # one above the threshold | ||
| 701 | ]: | ||
| 702 | @@ -75,7 +75,7 @@ class TestFileAlignment(TestCase): | ||
| 703 | alignment_interval = 1024 | ||
| 704 | |||
| 705 | for shape in [ | ||
| 706 | - (881,), # A prime number below the thresold | ||
| 707 | + (881,), # A prime number below the threshold | ||
| 708 | (999,), # Exactly one below the threshold | ||
| 709 | ]: | ||
| 710 | fname = self.mktemp() | ||
| 711 | diff --git a/h5py/tests/test_group.py b/h5py/tests/test_group.py | ||
| 712 | index 328c352a..4af1fb1f 100644 | ||
| 713 | --- a/h5py/tests/test_group.py | ||
| 714 | +++ b/h5py/tests/test_group.py | ||
| 715 | @@ -771,7 +771,7 @@ class TestExternalLinks(TestCase): | ||
| 716 | with self.assertRaises(KeyError): | ||
| 717 | self.f['ext'] | ||
| 718 | |||
| 719 | - # I would prefer IOError but there's no way to fix this as the exception | ||
| 720 | + # I would prefer OSError but there's no way to fix this as the exception | ||
| 721 | # class is determined by HDF5. | ||
| 722 | def test_exc_missingfile(self): | ||
| 723 | """ KeyError raised when attempting to open missing file """ | ||
| 724 | @@ -844,7 +844,7 @@ class TestExtLinkBugs(TestCase): | ||
| 725 | try: | ||
| 726 | if x: | ||
| 727 | x.close() | ||
| 728 | - except IOError: | ||
| 729 | + except OSError: | ||
| 730 | pass | ||
| 731 | return w | ||
| 732 | orig_name = self.mktemp() | ||
| 733 | diff --git a/h5py/tests/test_selections.py b/h5py/tests/test_selections.py | ||
| 734 | index 0b1722d7..01f6dcb7 100644 | ||
| 735 | --- a/h5py/tests/test_selections.py | ||
| 736 | +++ b/h5py/tests/test_selections.py | ||
| 737 | @@ -65,7 +65,7 @@ class TestTypeGeneration(BaseSelection): | ||
| 738 | self.assertEqual(out, np.dtype('i')) | ||
| 739 | self.assertEqual(format, np.dtype( [('a','i')] )) | ||
| 740 | |||
| 741 | - # Field does not apear in named typed | ||
| 742 | + # Field does not appear in named typed | ||
| 743 | with self.assertRaises(ValueError): | ||
| 744 | out, format = sel2.read_dtypes(dt, ('j', 'k')) | ||
| 745 | |||
| 746 | diff --git a/pylintrc b/pylintrc | ||
| 747 | index 045df2f7..2401d3b0 100644 | ||
| 748 | --- a/pylintrc | ||
| 749 | +++ b/pylintrc | ||
| 750 | @@ -44,7 +44,7 @@ confidence= | ||
| 751 | # can either give multiple identifiers separated by comma (,) or put this | ||
| 752 | # option multiple times (only on the command line, not in the configuration | ||
| 753 | # file where it should appear only once).You can also use "--disable=all" to | ||
| 754 | -# disable everything first and then reenable specific checks. For example, if | ||
| 755 | +# disable everything first and then re-enable specific checks. For example, if | ||
| 756 | # you want to run only the similarities checker, you can use "--disable=all | ||
| 757 | # --enable=similarities". If you want to run only the classes checker, but have | ||
| 758 | # no Warning level messages displayed, use"--disable=all --enable=classes | ||
| 759 | diff --git a/pyproject.toml b/pyproject.toml | ||
| 760 | index ee573d2f..717200ef 100644 | ||
| 761 | --- a/pyproject.toml | ||
| 762 | +++ b/pyproject.toml | ||
| 763 | @@ -1,6 +1,6 @@ | ||
| 764 | [build-system] | ||
| 765 | requires = [ | ||
| 766 | - "Cython >=0.29.31,<1", | ||
| 767 | + "Cython >=0.29.31,<4", | ||
| 768 | "oldest-supported-numpy", | ||
| 769 | "pkgconfig", | ||
| 770 | "setuptools >=61", | ||
| 771 | diff --git a/setup_configure.py b/setup_configure.py | ||
| 772 | index 0fba53ba..c3b86a64 100644 | ||
| 773 | --- a/setup_configure.py | ||
| 774 | +++ b/setup_configure.py | ||
| 775 | @@ -165,7 +165,7 @@ class BuildConfig: | ||
| 776 | try: | ||
| 777 | if pkgconfig.exists(pc_name): | ||
| 778 | pc = pkgconfig.parse(pc_name) | ||
| 779 | - except EnvironmentError: | ||
| 780 | + except OSError: | ||
| 781 | if os.name != 'nt': | ||
| 782 | print( | ||
| 783 | "Building h5py requires pkg-config unless the HDF5 path " | ||
| 784 | diff --git a/tox.ini b/tox.ini | ||
| 785 | index 0efb88a6..86a176dd 100644 | ||
| 786 | --- a/tox.ini | ||
| 787 | +++ b/tox.ini | ||
| 788 | @@ -65,7 +65,7 @@ skip_install=True | ||
| 789 | package_env = DUMMY NON-EXISTENT ENV NAME | ||
| 790 | changedir=docs | ||
| 791 | deps= | ||
| 792 | - sphinx | ||
| 793 | + -r docs/requirements-rtd.txt | ||
| 794 | commands= | ||
| 795 | sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html | ||
| 796 | |||
