summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.rst9
-rw-r--r--PKG-INFO10
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/0008-deal-with-h5py-until-we-solved-1051781.patch2
-rw-r--r--requirements.txt2
-rw-r--r--setup.py2
-rw-r--r--src/silx.egg-info/PKG-INFO10
-rw-r--r--src/silx.egg-info/requires.txt8
-rw-r--r--src/silx/_version.py2
-rwxr-xr-xsrc/silx/gui/hdf5/test/test_hdf5.py19
-rw-r--r--src/silx/io/utils.py5
11 files changed, 46 insertions, 29 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index c0adab0..e931657 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,6 +1,15 @@
Release Notes
=============
+2.0.1: 2024/03/18
+-----------------
+
+This is a bug fix version:
+
+* `silx.io.open`: Reverted behavior: `open` locks HDF5 files (PR #4074, #4084)
+* Dependencies: Updated to advertise that `numpy` v2 is not supported (PR #4084)
+
+
2.0.0: 2024/01/30
-----------------
diff --git a/PKG-INFO b/PKG-INFO
index 264f654..73c4a3d 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: silx
-Version: 2.0.0
+Version: 2.0.1
Summary: Software library for X-ray data analysis
Home-page: http://www.silx.org/
Author: data analysis unit
@@ -25,7 +25,7 @@ Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
License-File: LICENSE
-Requires-Dist: numpy>=1.21.6
+Requires-Dist: numpy<2,>=1.21.6
Requires-Dist: packaging
Requires-Dist: h5py
Requires-Dist: fabio>=0.9
@@ -42,13 +42,13 @@ Requires-Dist: scipy; extra == "full"
Requires-Dist: Pillow; extra == "full"
Requires-Dist: bitshuffle; extra == "full"
Provides-Extra: doc
-Requires-Dist: nbsphinx; extra == "doc"
Requires-Dist: pydata_sphinx_theme; extra == "doc"
-Requires-Dist: pillow; extra == "doc"
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
-Requires-Dist: pandoc; extra == "doc"
Requires-Dist: sphinx-panels; extra == "doc"
+Requires-Dist: nbsphinx; extra == "doc"
+Requires-Dist: pandoc; extra == "doc"
+Requires-Dist: pillow; extra == "doc"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-xvfb; extra == "test"
diff --git a/debian/changelog b/debian/changelog
index 31c1782..bfa7984 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+silx (2.0.1+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 2.0.1+dfsg
+
+ -- Picca Frédéric-Emmanuel <picca@debian.org> Tue, 19 Mar 2024 23:02:23 +0100
+
silx (2.0.0+dfsg-2) unstable; urgency=medium
* d/t/control: Split into opencl, no-opencl and gui scripts.
diff --git a/debian/patches/0008-deal-with-h5py-until-we-solved-1051781.patch b/debian/patches/0008-deal-with-h5py-until-we-solved-1051781.patch
index f1f1b6d..40716ad 100644
--- a/debian/patches/0008-deal-with-h5py-until-we-solved-1051781.patch
+++ b/debian/patches/0008-deal-with-h5py-until-we-solved-1051781.patch
@@ -7,7 +7,7 @@ Subject: deal with h5py until we solved #1051781
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
-index 75d72bc..37aa7a6 100644
+index 06ed4f4..525e7c9 100644
--- a/setup.py
+++ b/setup.py
@@ -170,7 +170,7 @@ def get_project_configuration():
diff --git a/requirements.txt b/requirements.txt
index f5074bd..a69d1ea 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,7 +9,7 @@
# From pyproject.toml
wheel
setuptools
-numpy >= 1.12
+numpy >=1.12,<2
Cython >= 0.21.1
# From setup.py install_requires
packaging
diff --git a/setup.py b/setup.py
index 37aa7a6..525e7c9 100644
--- a/setup.py
+++ b/setup.py
@@ -166,7 +166,7 @@ def get_project_configuration():
install_requires = [
# for most of the computation
- "numpy%s" % numpy_requested_version,
+ "numpy%s,<2" % numpy_requested_version,
# for version parsing
"packaging",
# for io support
diff --git a/src/silx.egg-info/PKG-INFO b/src/silx.egg-info/PKG-INFO
index 264f654..73c4a3d 100644
--- a/src/silx.egg-info/PKG-INFO
+++ b/src/silx.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: silx
-Version: 2.0.0
+Version: 2.0.1
Summary: Software library for X-ray data analysis
Home-page: http://www.silx.org/
Author: data analysis unit
@@ -25,7 +25,7 @@ Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
License-File: LICENSE
-Requires-Dist: numpy>=1.21.6
+Requires-Dist: numpy<2,>=1.21.6
Requires-Dist: packaging
Requires-Dist: h5py
Requires-Dist: fabio>=0.9
@@ -42,13 +42,13 @@ Requires-Dist: scipy; extra == "full"
Requires-Dist: Pillow; extra == "full"
Requires-Dist: bitshuffle; extra == "full"
Provides-Extra: doc
-Requires-Dist: nbsphinx; extra == "doc"
Requires-Dist: pydata_sphinx_theme; extra == "doc"
-Requires-Dist: pillow; extra == "doc"
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
-Requires-Dist: pandoc; extra == "doc"
Requires-Dist: sphinx-panels; extra == "doc"
+Requires-Dist: nbsphinx; extra == "doc"
+Requires-Dist: pandoc; extra == "doc"
+Requires-Dist: pillow; extra == "doc"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-xvfb; extra == "test"
diff --git a/src/silx.egg-info/requires.txt b/src/silx.egg-info/requires.txt
index 83e0aac..d9982be 100644
--- a/src/silx.egg-info/requires.txt
+++ b/src/silx.egg-info/requires.txt
@@ -1,16 +1,16 @@
-numpy>=1.21.6
+numpy<2,>=1.21.6
packaging
h5py
fabio>=0.9
[doc]
-nbsphinx
pydata_sphinx_theme
-pillow
sphinx
sphinx-autodoc-typehints
-pandoc
sphinx-panels
+nbsphinx
+pandoc
+pillow
[full]
pyopencl
diff --git a/src/silx/_version.py b/src/silx/_version.py
index 1edc955..bc692ac 100644
--- a/src/silx/_version.py
+++ b/src/silx/_version.py
@@ -69,7 +69,7 @@ PRERELEASE_NORMALIZED_NAME = {"dev": "a", "alpha": "a", "beta": "b", "candidate"
MAJOR = 2
MINOR = 0
-MICRO = 0
+MICRO = 1
RELEV = "final" # <16
SERIAL = 0 # <16
diff --git a/src/silx/gui/hdf5/test/test_hdf5.py b/src/silx/gui/hdf5/test/test_hdf5.py
index cb08436..1271b48 100755
--- a/src/silx/gui/hdf5/test/test_hdf5.py
+++ b/src/silx/gui/hdf5/test/test_hdf5.py
@@ -39,7 +39,6 @@ from silx.gui.utils.testutils import TestCaseQt
from silx.gui import hdf5
from silx.gui.utils.testutils import SignalListener
from silx.io import commonh5
-from silx.io import h5py_utils
from silx.io.url import DataUrl
import weakref
@@ -55,7 +54,7 @@ def useH5File(request, tmpdir_factory):
tmp = tmpdir_factory.mktemp("test_hdf5")
request.cls.filename = os.path.join(tmp, "data.h5")
# create h5 data
- with h5py_utils.File(request.cls.filename, "w") as f:
+ with h5py.File(request.cls.filename, "w") as f:
g = f.create_group("arrays")
g.create_dataset("scalar", data=10)
yield
@@ -87,7 +86,7 @@ class TestHdf5TreeModel(TestCaseQt):
fd, tmp_name = tempfile.mkstemp(suffix=".h5")
os.close(fd)
# create h5 data
- h5file = h5py_utils.File(tmp_name, "w")
+ h5file = h5py.File(tmp_name, "w")
g = h5file.create_group("arrays")
g.create_dataset("scalar", data=10)
h5file.close()
@@ -162,7 +161,7 @@ class TestHdf5TreeModel(TestCaseQt):
self.assertEqual(model.rowCount(qt.QModelIndex()), 0)
def testSynchronizeObject(self):
- h5 = h5py_utils.File(self.filename, mode="r")
+ h5 = h5py.File(self.filename, mode="r")
model = hdf5.Hdf5TreeModel()
model.insertH5pyObject(h5)
self.assertEqual(model.rowCount(qt.QModelIndex()), 1)
@@ -237,7 +236,7 @@ class TestHdf5TreeModel(TestCaseQt):
"""A file inserted as an h5py object is not open (then not closed)
internally."""
try:
- h5File = h5py_utils.File(self.filename, mode="r")
+ h5File = h5py.File(self.filename, mode="r")
model = hdf5.Hdf5TreeModel()
self.assertEqual(model.rowCount(qt.QModelIndex()), 0)
model.insertH5pyObject(h5File)
@@ -421,7 +420,7 @@ class TestHdf5TreeModelSignals(TestCaseQt):
def setUp(self):
TestCaseQt.setUp(self)
self.model = hdf5.Hdf5TreeModel()
- self.h5 = h5py_utils.File(self.filename, mode="r")
+ self.h5 = h5py.File(self.filename, mode="r")
self.model.insertH5pyObject(self.h5)
self.listener = SignalListener()
@@ -449,7 +448,7 @@ class TestHdf5TreeModelSignals(TestCaseQt):
raise RuntimeError("Still waiting for a pending operation")
def testInsert(self):
- h5 = h5py_utils.File(self.filename, mode="r")
+ h5 = h5py.File(self.filename, mode="r")
self.model.insertH5pyObject(h5)
self.assertEqual(self.listener.callCount(), 0)
@@ -652,7 +651,7 @@ def useH5Model(request, tmpdir_factory):
extH5FileName = os.path.join(tmp, "base__external.h5")
extDatFileName = os.path.join(tmp, "base__external.dat")
- externalh5 = h5py_utils.File(extH5FileName, mode="w")
+ externalh5 = h5py.File(extH5FileName, mode="w")
externalh5["target/dataset"] = 50
externalh5["target/link"] = h5py.SoftLink("/target/dataset")
externalh5["/ext/vds0"] = [0, 1]
@@ -661,7 +660,7 @@ def useH5Model(request, tmpdir_factory):
numpy.array([0, 1, 10, 10, 2, 3]).tofile(extDatFileName)
- h5 = h5py_utils.File(filename, mode="w")
+ h5 = h5py.File(filename, mode="w")
h5["group/dataset"] = 50
h5["link/soft_link"] = h5py.SoftLink("/group/dataset")
h5["link/soft_link_to_group"] = h5py.SoftLink("/group")
@@ -698,7 +697,7 @@ def useH5Model(request, tmpdir_factory):
h5["/ext"].create_dataset("raw", shape=(2, 2), dtype=int, external=external)
h5.close()
- with h5py_utils.File(filename, mode="r") as h5File:
+ with h5py.File(filename, mode="r") as h5File:
# Create model
request.cls.model = hdf5.Hdf5TreeModel()
request.cls.model.insertH5pyObject(h5File)
diff --git a/src/silx/io/utils.py b/src/silx/io/utils.py
index ae6a55b..f15eb20 100644
--- a/src/silx/io/utils.py
+++ b/src/silx/io/utils.py
@@ -555,7 +555,10 @@ def _open_local_file(filename):
)
if h5py.is_hdf5(filename):
- return h5py_utils.File(filename, "r")
+ try:
+ return h5py.File(filename, "r")
+ except OSError:
+ return h5py.File(filename, "r", libver='latest', swmr=True)
try:
from . import fabioh5