Skip to content

Commit a88a873

Browse files
committed
Check type of setup_cluster return value
1 parent 1847471 commit a88a873

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

mesmerize_core/algorithms/_utils.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
1-
import caiman as cm
21
from contextlib import contextmanager
3-
from ipyparallel import DirectView
4-
from multiprocessing.pool import Pool
52
import os
63
import psutil
7-
from typing import Union, Optional, Generator
4+
from typing import Optional, Union, Generator
5+
6+
import caiman as cm
7+
from caiman.cluster import setup_cluster
8+
from ipyparallel import DirectView
9+
from multiprocessing.pool import Pool
10+
811

912
Cluster = Union[Pool, DirectView]
1013

1114
def get_n_processes(dview: Optional[Cluster]) -> int:
1215
"""Infer number of processes in a multiprocessing or ipyparallel cluster"""
1316
if isinstance(dview, Pool) and hasattr(dview, '_processes'):
14-
return dview._processes
17+
return dview._processes # type: ignore
1518
elif isinstance(dview, DirectView):
1619
return len(dview)
1720
else:
@@ -39,9 +42,10 @@ def ensure_server(dview: Optional[Cluster]) -> Generator[tuple[Cluster, int], No
3942
n_processes = psutil.cpu_count() - 1
4043

4144
# Start cluster for parallel processing
42-
_, dview, n_processes = cm.cluster.setup_cluster(
45+
_, dview, n_processes = setup_cluster(
4346
backend="multiprocessing", n_processes=n_processes, single_thread=False
4447
)
48+
assert isinstance(dview, Pool) and isinstance(n_processes, int), 'setup_cluster with multiprocessing did not return a Pool'
4549
try:
4650
yield dview, n_processes
4751
finally:

0 commit comments

Comments
 (0)