Skip to content

Commit 96f5d80

Browse files
authored
Merge pull request #744 from sanjayankur31/fix/collections-sized
fix: correct sized import
2 parents bfb1c1c + 1198a0d commit 96f5d80

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

pyNN/parameters.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
"""
77

88
import numpy as np
9-
import collections
9+
try:
10+
from collections import Sized
11+
except ImportError:
12+
from collections.abc import Sized
1013
from pyNN.core import is_listlike
1114
from pyNN import errors
1215
from pyNN.random import RandomDistribution, NativeRNG
@@ -296,11 +299,11 @@ def update(self, **parameters):
296299
raise errors.NonExistentParameterError(name,
297300
model_name,
298301
valid_parameter_names=self.schema.keys())
299-
if issubclass(expected_dtype, ArrayParameter) and isinstance(value, collections.Sized):
302+
if issubclass(expected_dtype, ArrayParameter) and isinstance(value, Sized):
300303
if len(value) == 0:
301304
value = ArrayParameter([])
302305
elif not isinstance(value[0], ArrayParameter): # may be a more generic way to do it, but for now this special-casing seems like the most robust approach
303-
if isinstance(value[0], collections.Sized): # e.g. list of tuples
306+
if isinstance(value[0], Sized): # e.g. list of tuples
304307
value = type(value)([ArrayParameter(x) for x in value])
305308
else:
306309
value = ArrayParameter(value)

0 commit comments

Comments
 (0)