Skip to content

Commit 1644350

Browse files
Merge pull request #1135 from apdavison/replace-loose-version
Replace distutils.version with packaging.version
2 parents 62ba279 + e08b747 commit 1644350

File tree

8 files changed

+27
-23
lines changed

8 files changed

+27
-23
lines changed

doc/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
import os
1515
import sys
1616

17-
from distutils.version import LooseVersion
17+
from packaging.version import Version
1818

1919
with open("../../neo/version.py") as fp:
2020
d = {}
2121
exec(fp.read(), d)
2222
neo_release = d['version']
2323

24-
neo_version = '.'.join(str(e) for e in LooseVersion(neo_release).version[:2])
24+
neo_version = '.'.join((str(e) for e in Version(neo_release).release[:2]))
2525

2626

2727
AUTHORS = 'Neo authors and contributors <[email protected]>'

neo/io/neomatlabio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@
1313
"""
1414

1515
from datetime import datetime
16-
from distutils import version
1716
import re
1817

1918
import numpy as np
2019
import quantities as pq
2120

2221
# check scipy
2322
try:
23+
from packaging.version import Version
2424
import scipy.io
2525
import scipy.version
2626
except ImportError as err:
2727
HAVE_SCIPY = False
2828
SCIPY_ERR = err
2929
else:
30-
if version.LooseVersion(scipy.version.version) < '0.12.0':
30+
if Version(scipy.version.version) < Version('0.12.0'):
3131
HAVE_SCIPY = False
3232
SCIPY_ERR = ImportError("your scipy version is too old to support "
3333
+ "MatlabIO, you need at least 0.12.0. "

neo/io/nixio.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import itertools
2727
from uuid import uuid4
2828
import warnings
29-
from distutils.version import LooseVersion as Version
29+
from packaging.version import Version
3030
from itertools import chain
3131

3232
import quantities as pq

neo/rawio/intanrawio.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import numpy as np
2424
from collections import OrderedDict
25-
from distutils.version import LooseVersion as V
25+
from packaging.version import Version as V
2626

2727

2828
class IntanRawIO(BaseRawIO):
@@ -428,20 +428,20 @@ def read_rhd(filename):
428428

429429
version = V('{major_version}.{minor_version}'.format(**global_info))
430430

431-
# the header size depend on the version :-(
431+
# the header size depends on the version :-(
432432
header = list(rhd_global_header_part1) # make a copy
433433

434-
if version >= '1.1':
434+
if version >= V('1.1'):
435435
header = header + rhd_global_header_v11
436436
else:
437437
global_info['num_temp_sensor_channels'] = 0
438438

439-
if version >= '1.3':
439+
if version >= V('1.3'):
440440
header = header + rhd_global_header_v13
441441
else:
442442
global_info['eval_board_mode'] = 0
443443

444-
if version >= '2.0':
444+
if version >= V('2.0'):
445445
header = header + rhd_global_header_v20
446446
else:
447447
global_info['reference_channel'] = ''
@@ -466,14 +466,14 @@ def read_rhd(filename):
466466
sr = global_info['sampling_rate']
467467

468468
# construct the data block dtype and reorder channels
469-
if version >= '2.0':
469+
if version >= V('2.0'):
470470
BLOCK_SIZE = 128
471471
else:
472472
BLOCK_SIZE = 60 # 256 channels
473473

474474
ordered_channels = []
475475

476-
if version >= '1.2':
476+
if version >= V('1.2'):
477477
data_dtype = [('timestamp', 'int32', BLOCK_SIZE)]
478478
else:
479479
data_dtype = [('timestamp', 'uint32', BLOCK_SIZE)]

neo/rawio/neuralynxrawio/nlxheader.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import datetime
2-
import distutils.version
2+
from packaging.version import Version
33
import os
44
import re
55
from collections import OrderedDict
@@ -189,7 +189,9 @@ def __init__(self, filename):
189189
self['ApplicationName'] = 'Neuraview'
190190
app_version = '2'
191191

192-
self['ApplicationVersion'] = distutils.version.LooseVersion(app_version)
192+
if " Development" in app_version:
193+
app_version = app_version.replace(" Development", ".dev0")
194+
self['ApplicationVersion'] = Version(app_version)
193195

194196
# convert bit_to_microvolt
195197
if 'bit_to_microVolt' in self:
@@ -215,22 +217,22 @@ def __init__(self, filename):
215217
an = self['ApplicationName']
216218
if an == 'Cheetah':
217219
av = self['ApplicationVersion']
218-
if av <= '2': # version 1 uses same as older versions
220+
if av <= Version('2'): # version 1 uses same as older versions
219221
hpd = NlxHeader.header_pattern_dicts['bv5.6.4']
220-
elif av < '5':
222+
elif av < Version('5'):
221223
hpd = NlxHeader.header_pattern_dicts['bv5']
222-
elif av <= '5.4.0':
224+
elif av <= Version('5.4.0'):
223225
hpd = NlxHeader.header_pattern_dicts['v5.4.0']
224-
elif av <= '5.6.4':
226+
elif av <= Version('5.6.4'):
225227
hpd = NlxHeader.header_pattern_dicts['bv5.6.4']
226228
else:
227229
hpd = NlxHeader.header_pattern_dicts['def']
228230
elif an == 'BML':
229231
hpd = NlxHeader.header_pattern_dicts['bml']
230-
av = "2"
232+
av = Version("2")
231233
elif an == 'Neuraview':
232234
hpd = NlxHeader.header_pattern_dicts['neuraview2']
233-
av = "2"
235+
av = Version("2")
234236
else:
235237
an = "Unknown"
236238
av = "NA"

neo/test/iotest/test_blackrockio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@
1818

1919
# check scipy
2020
try:
21-
from distutils import version
21+
from packaging.version import Version
2222
import scipy.io
2323
import scipy.version
2424
except ImportError as err:
2525
HAVE_SCIPY = False
2626
SCIPY_ERR = err
2727
else:
28-
if version.LooseVersion(scipy.version.version) < '0.8':
28+
if Version(scipy.version.version) < Version('0.8'):
2929
HAVE_SCIPY = False
3030
SCIPY_ERR = ImportError("your scipy version is too old to support " +
3131
"MatlabIO, you need at least 0.8. " +

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
packaging
12
numpy>=1.16.1
23
quantities>=0.12.1

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
import os
55

66
long_description = open("README.rst").read()
7-
install_requires = ['numpy>=1.18.5',
7+
install_requires = ['packaging',
8+
'numpy>=1.18.5',
89
'quantities>=0.12.1']
910
extras_require = {
1011
'igorproio': ['igor'],

0 commit comments

Comments
 (0)