Skip to content

Commit 33a7598

Browse files
committed
cleanup unused imports
1 parent 604c049 commit 33a7598

29 files changed

+112
-124
lines changed

src/spikeinterface/core/analyzer_extension_core.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
* ComputeNoiseLevels which is very convenient to have
1010
"""
1111

12-
import warnings
13-
1412
import numpy as np
1513

1614
from .sortinganalyzer import AnalyzerExtension, register_result_extension

src/spikeinterface/core/baserecording.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from pathlib import Path
55

66
import numpy as np
7-
from probeinterface import Probe, ProbeGroup, read_probeinterface, select_axes, write_probeinterface
7+
from probeinterface import read_probeinterface, write_probeinterface
88

99
from .base import BaseSegment
1010
from .baserecordingsnippets import BaseRecordingSnippets

src/spikeinterface/curation/splitunitsorting.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from __future__ import annotations
2-
from typing import List, Union
2+
from typing import Union
33

44
import numpy as np
55
from copy import deepcopy

src/spikeinterface/curation/tests/test_remove_redundant.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
1-
import pytest
2-
import shutil
3-
from pathlib import Path
4-
5-
import pytest
6-
71
import numpy as np
82

93
from spikeinterface import create_sorting_analyzer
104
from spikeinterface.core.generate import inject_some_duplicate_units
11-
12-
135
from spikeinterface.curation.tests.common import make_sorting_analyzer, sorting_analyzer_for_curation
146

157
from spikeinterface.curation import remove_redundant_units

src/spikeinterface/extractors/hdsortextractors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import numpy as np
66

7-
from spikeinterface.core import BaseRecording, BaseSorting, BaseRecordingSegment, BaseSortingSegment
7+
from spikeinterface.core import BaseSorting, BaseSortingSegment
88
from spikeinterface.core.core_tools import define_function_from_class
99
from .matlabhelpers import MatlabHelper
1010

src/spikeinterface/extractors/iblextractors.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from typing import List, Optional, Union
55
from contextlib import redirect_stderr
66
from pathlib import Path
7+
import importlib.util
78

89
import numpy as np
910
import probeinterface
@@ -13,6 +14,16 @@
1314
from spikeinterface.extractors.alfsortingextractor import ALFSortingSegment
1415

1516

17+
if importlib.util.find_spec("one") is not None and importlib.util.find_spec("one.api") is not None:
18+
HAVE_ONE = True
19+
else:
20+
HAVE_ONE = False
21+
if importlib.util.find_spec("brainbox") is not None and importlib.util.find_spec("brainbox.io.one") is not None:
22+
HAVE_BRAINBOX = True
23+
else:
24+
HAVE_BRAINBOX = False
25+
26+
1627
class IblRecordingExtractor(BaseRecording):
1728
"""
1829
Stream IBL data as an extractor object.
@@ -69,10 +80,9 @@ class IblRecordingExtractor(BaseRecording):
6980

7081
@staticmethod
7182
def _get_default_one(cache_folder: Optional[Union[Path, str]] = None):
72-
try:
83+
if HAVE_ONE and HAVE_BRAINBOX:
7384
from one.api import ONE
74-
from brainbox.io.one import EphysSessionLoader
75-
except ImportError:
85+
else:
7686
raise ImportError(IblRecordingExtractor.installation_mesg)
7787
one = ONE(
7888
base_url="https://openalyx.internationalbrainlab.org",
@@ -113,10 +123,9 @@ def get_stream_names(eid: str, cache_folder: Optional[Union[Path, str]] = None,
113123
stream_names : list of str
114124
List of stream names as expected by the `stream_name` argument for the class initialization.
115125
"""
116-
try:
117-
from one.api import ONE
126+
if HAVE_ONE and HAVE_BRAINBOX:
118127
from brainbox.io.one import EphysSessionLoader
119-
except ImportError:
128+
else:
120129
raise ImportError(IblRecordingExtractor.installation_mesg)
121130

122131
cache_folder = Path(cache_folder) if cache_folder is not None else cache_folder
@@ -144,9 +153,9 @@ def __init__(
144153
one: "one.api.OneAlyx" = None,
145154
stream_type: str | None = None,
146155
):
147-
try:
156+
if HAVE_BRAINBOX:
148157
from brainbox.io.one import SpikeSortingLoader
149-
except ImportError:
158+
else:
150159
raise ImportError(self.installation_mesg)
151160

152161
from neo.rawio.spikeglxrawio import read_meta_file, extract_stream_info
@@ -320,15 +329,15 @@ class IblSortingExtractor(BaseSorting):
320329
def __init__(
321330
self, pid: str, good_clusters_only: bool = False, load_unit_properties: bool = True, one=None, **kwargs
322331
):
323-
try:
332+
if HAVE_ONE and HAVE_BRAINBOX:
324333
from one.api import ONE
325334
from brainbox.io.one import SpikeSortingLoader
326335

327336
if isinstance(one, dict):
328337
one = ONE(**one)
329338
elif one is None:
330339
one = IblRecordingExtractor._get_default_one()
331-
except ImportError:
340+
else:
332341
raise ImportError(self.installation_mesg)
333342
self.ssl = SpikeSortingLoader(one=one, pid=pid)
334343
sr = self.ssl.raw_electrophysiology(band="ap", stream=True)

src/spikeinterface/extractors/klustaextractors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import numpy as np
1717

18-
from spikeinterface.core import BaseRecording, BaseSorting, BaseRecordingSegment, BaseSortingSegment, read_python
18+
from spikeinterface.core import BaseSorting, BaseSortingSegment, read_python
1919
from spikeinterface.core.core_tools import define_function_from_class
2020

2121

src/spikeinterface/extractors/matlabhelpers.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
from pathlib import Path
44
from collections import deque
5+
import importlib.util
6+
7+
if importlib.util.find_spec("h5py") is not None and importlib.util.find_spec("scipy") is not None:
8+
if importlib.util.find_spec("scipy.io") is not None and importlib.util.find_spec("scipy.io.matlab") is not None:
9+
HAVE_MATLAB_HELPERS = True
10+
else:
11+
HAVE_MATLAB_HELPERS = False
12+
else:
13+
HAVE_MATLAB_HELPERS = False
14+
15+
if importlib.util.find_spec("hdf5storage") is not None:
16+
HAVE_HDF5STORAGE = True
17+
else:
18+
HAVE_HDF5STORAGE = False
519

620

721
class MatlabHelper:
@@ -11,10 +25,10 @@ class MatlabHelper:
1125
) # error message when not installed
1226

1327
def __init__(self, file_path):
14-
try:
28+
if HAVE_MATLAB_HELPERS:
1529
import h5py
16-
from scipy.io.matlab import loadmat, savemat
17-
except ImportError:
30+
from scipy.io.matlab import loadmat
31+
else:
1832
raise ImportError(self.installation_mesg)
1933

2034
file_path = Path(file_path) if isinstance(file_path, str) else file_path
@@ -62,12 +76,12 @@ def write_dict_to_mat(cls, mat_file_path, dict_to_write, version="7.3"): # fiel
6276
"\n\n pip install hdf5storage\n\n"
6377
)
6478

65-
try:
79+
if HAVE_HDF5STORAGE:
6680
import hdf5storage
67-
except ImportError:
81+
else:
6882
raise ImportError(hdf5storage_import_error)
6983

70-
from scipy.io.matlab import loadmat, savemat
84+
from scipy.io.matlab import savemat
7185

7286
if version == "7.3":
7387
hdf5storage.write(dict_to_write, "/", mat_file_path, matlab_compatible=True, options="w")

src/spikeinterface/extractors/mcsh5extractors.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
from __future__ import annotations
22

33
from pathlib import Path
4+
import importlib.util
45

56
import numpy as np
67

78
from spikeinterface.core import BaseRecording, BaseRecordingSegment
89
from spikeinterface.core.core_tools import define_function_from_class
910

11+
if importlib.util.find_spec("h5py") is not None:
12+
HAVE_H5PY = True
13+
else:
14+
HAVE_H5PY = False
15+
1016

1117
class MCSH5RecordingExtractor(BaseRecording):
1218
"""Load a MCS H5 file as a recording extractor.
@@ -28,9 +34,7 @@ class MCSH5RecordingExtractor(BaseRecording):
2834

2935
def __init__(self, file_path, stream_id=0):
3036

31-
try:
32-
import h5py
33-
except ImportError:
37+
if not HAVE_H5PY:
3438
raise ImportError(self.installation_mesg)
3539

3640
self._file_path = file_path

src/spikeinterface/extractors/neoextractors/blackrock.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from __future__ import annotations
22

33
from pathlib import Path
4-
from packaging import version
54
from typing import Optional
65

76
from spikeinterface.core.core_tools import define_function_from_class

0 commit comments

Comments
 (0)