Skip to content

Commit 01aef47

Browse files
authored
Merge pull request #297 from areeh/master
fix import errors for scikit-learn 0.21
2 parents 743f16a + 0479697 commit 01aef47

File tree

7 files changed

+36
-9
lines changed

7 files changed

+36
-9
lines changed

hdbscan/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
from .robust_single_linkage_ import RobustSingleLinkage, robust_single_linkage
33
from .validity import validity_index
44
from .prediction import approximate_predict, membership_vector, all_points_membership_vectors
5+
from .utils import if_matplotlib
6+
57

hdbscan/hdbscan_.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
from sklearn.metrics import pairwise_distances
1111
from scipy.sparse import issparse
1212
from sklearn.neighbors import KDTree, BallTree
13-
from sklearn.externals.joblib import Memory
13+
from joblib import Memory
1414
from sklearn.externals import six
1515
from warnings import warn
1616
from sklearn.utils import check_array
17-
from sklearn.externals.joblib.parallel import cpu_count
17+
from joblib.parallel import cpu_count
1818

1919
from scipy.sparse import csgraph
2020

hdbscan/robust_single_linkage_.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from sklearn.metrics import pairwise_distances
99
from scipy.sparse import issparse
1010

11-
from sklearn.externals.joblib import Memory
11+
from joblib import Memory
1212
from sklearn.externals import six
1313
from sklearn.utils import check_array
1414

hdbscan/tests/test_hdbscan.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
assert_raises,
1717
assert_in,
1818
assert_not_in,
19-
assert_no_warnings,
20-
if_matplotlib)
19+
assert_no_warnings)
2120
from hdbscan import (HDBSCAN,
2221
hdbscan,
2322
validity_index,
2423
approximate_predict,
2524
membership_vector,
26-
all_points_membership_vectors)
25+
all_points_membership_vectors,
26+
if_matplotlib)
2727
# from sklearn.cluster.tests.common import generate_clustered_data
2828
from sklearn.datasets import make_blobs
2929
from sklearn.utils import shuffle

hdbscan/tests/test_rsl.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
assert_raises,
1313
assert_in,
1414
assert_not_in,
15-
assert_no_warnings,
16-
if_matplotlib)
15+
assert_no_warnings)
1716
from hdbscan import RobustSingleLinkage, robust_single_linkage
17+
1818
# from sklearn.cluster.tests.common import generate_clustered_data
1919

2020
from sklearn import datasets

hdbscan/utils.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from functools import wraps
2+
3+
from nose import SkipTest
4+
5+
6+
def if_matplotlib(func):
7+
"""Test decorator that skips test if matplotlib not installed.
8+
9+
Parameters
10+
----------
11+
func
12+
"""
13+
@wraps(func)
14+
def run_test(*args, **kwargs):
15+
try:
16+
import matplotlib
17+
matplotlib.use('Agg', warn=False)
18+
# this fails if no $DISPLAY specified
19+
import matplotlib.pyplot as plt
20+
plt.figure()
21+
except ImportError:
22+
raise SkipTest('Matplotlib not available.')
23+
else:
24+
return func(*args, **kwargs)
25+
return run_test

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ cython>=0.27
22
numpy>=1.16.0
33
scipy >= 0.9
44
scikit-learn>=0.17
5-
5+
joblib

0 commit comments

Comments
 (0)