summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGard Spreemann <gspr@nonempty.org>2021-11-21 15:13:35 +0100
committerGard Spreemann <gspr@nonempty.org>2021-11-21 15:15:31 +0100
commit442e04b3d8744608771dfc06df1acf71f422c9d3 (patch)
treebef43e27502d2f1c200697f5f5589c8863cefaca
parent7934e309eb0bf31af85fd4c237c69c5d775f0d17 (diff)
Add patch for Python 3.10 compatibility
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/0002-Python-3.10-compatibility-fix.patch109
-rw-r--r--debian/patches/series1
3 files changed, 116 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 91fd3ad..4877515 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+python-pyspike (0.6.0-5) unstable; urgency=medium
+
+ * Add patch to fix Python 3.10 compatibility.
+
+ -- Gard Spreemann <gspr@nonempty.org> Sun, 21 Nov 2021 15:14:28 +0100
+
python-pyspike (0.6.0-4) unstable; urgency=medium
* Fix broken watch file.
diff --git a/debian/patches/0002-Python-3.10-compatibility-fix.patch b/debian/patches/0002-Python-3.10-compatibility-fix.patch
new file mode 100644
index 0000000..52ffb09
--- /dev/null
+++ b/debian/patches/0002-Python-3.10-compatibility-fix.patch
@@ -0,0 +1,109 @@
+From: Gard Spreemann <gspr@nonempty.org>
+Date: Sun, 21 Nov 2021 15:12:18 +0100
+Subject: Python 3.10 compatibility fix
+
+Importing Sequence et al. from collections has been deprecated since
+Python 3.7.
+---
+ pyspike/DiscreteFunc.py | 6 +++---
+ pyspike/PieceWiseConstFunc.py | 8 ++++----
+ pyspike/PieceWiseLinFunc.py | 8 ++++----
+ 3 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/pyspike/DiscreteFunc.py b/pyspike/DiscreteFunc.py
+index caad290..48bc787 100644
+--- a/pyspike/DiscreteFunc.py
++++ b/pyspike/DiscreteFunc.py
+@@ -5,7 +5,7 @@
+ from __future__ import absolute_import, print_function
+
+ import numpy as np
+-import collections
++import collections.abc
+ import pyspike
+
+
+@@ -155,11 +155,11 @@ class DiscreteFunc(object):
+ multiplicity = np.sum(self.mp[1:-1])
+ else:
+ # check if interval is as sequence
+- assert isinstance(interval, collections.Sequence), \
++ assert isinstance(interval, collections.abc.Sequence), \
+ "Invalid value for `interval`. None, Sequence or Tuple \
+ expected."
+ # check if interval is a sequence of intervals
+- if not isinstance(interval[0], collections.Sequence):
++ if not isinstance(interval[0], collections.abc.Sequence):
+ # find the indices corresponding to the interval
+ start_ind, end_ind = get_indices(interval)
+ value = np.sum(self.y[start_ind:end_ind])
+diff --git a/pyspike/PieceWiseConstFunc.py b/pyspike/PieceWiseConstFunc.py
+index 17fdd3f..e33c61d 100644
+--- a/pyspike/PieceWiseConstFunc.py
++++ b/pyspike/PieceWiseConstFunc.py
+@@ -5,7 +5,7 @@
+ from __future__ import absolute_import, print_function
+
+ import numpy as np
+-import collections
++import collections.abc
+ import pyspike
+
+
+@@ -39,7 +39,7 @@ class PieceWiseConstFunc(object):
+
+ ind = np.searchsorted(self.x, t, side='right')
+
+- if isinstance(t, collections.Sequence):
++ if isinstance(t, collections.abc.Sequence):
+ # t is a sequence of values
+ # correct the cases t == x[0], t == x[-1]
+ ind[ind == 0] = 1
+@@ -173,10 +173,10 @@ class PieceWiseConstFunc(object):
+ return self.integral() / (self.x[-1]-self.x[0])
+
+ # check if interval is as sequence
+- assert isinstance(interval, collections.Sequence), \
++ assert isinstance(interval, collections.abc.Sequence), \
+ "Invalid value for `interval`. None, Sequence or Tuple expected."
+ # check if interval is a sequence of intervals
+- if not isinstance(interval[0], collections.Sequence):
++ if not isinstance(interval[0], collections.abc.Sequence):
+ # just one interval
+ a = self.integral(interval) / (interval[1]-interval[0])
+ else:
+diff --git a/pyspike/PieceWiseLinFunc.py b/pyspike/PieceWiseLinFunc.py
+index 8faaec4..b3b503b 100644
+--- a/pyspike/PieceWiseLinFunc.py
++++ b/pyspike/PieceWiseLinFunc.py
+@@ -5,7 +5,7 @@
+ from __future__ import absolute_import, print_function
+
+ import numpy as np
+-import collections
++import collections.abc
+ import pyspike
+
+
+@@ -46,7 +46,7 @@ class PieceWiseLinFunc:
+
+ ind = np.searchsorted(self.x, t, side='right')
+
+- if isinstance(t, collections.Sequence):
++ if isinstance(t, collections.abc.Sequence):
+ # t is a sequence of values
+ # correct the cases t == x[0], t == x[-1]
+ ind[ind == 0] = 1
+@@ -211,10 +211,10 @@ class PieceWiseLinFunc:
+ return self.integral() / (self.x[-1]-self.x[0])
+
+ # check if interval is as sequence
+- assert isinstance(interval, collections.Sequence), \
++ assert isinstance(interval, collections.abc.Sequence), \
+ "Invalid value for `interval`. None, Sequence or Tuple expected."
+ # check if interval is a sequence of intervals
+- if not isinstance(interval[0], collections.Sequence):
++ if not isinstance(interval[0], collections.abc.Sequence):
+ # just one interval
+ a = self.integral(interval) / (interval[1]-interval[0])
+ else:
diff --git a/debian/patches/series b/debian/patches/series
index e2a97f9..b13244f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
0001-Use-assert_allclose-instead-of-assert_equal-in-tests.patch
+0002-Python-3.10-compatibility-fix.patch