diff -ur scikit-learn-0.14.1/examples/applications/wikipedia_principal_eigenvector.py scikit-learn-0.14.1.joblib/examples/applications/wikipedia_principal_eigenvector.py
--- scikit-learn-0.14.1/examples/applications/wikipedia_principal_eigenvector.py 2013-09-06 19:12:44.815336853 +0200
+++ scikit-learn-0.14.1.joblib/examples/applications/wikipedia_principal_eigenvector.py 2013-09-06 19:09:40.269822610 +0200
@@ -45,7 +45,7 @@
from scipy import sparse
from sklearn.utils.extmath import randomized_svd
-from sklearn.externals.joblib import Memory
+from joblib import Memory
print(__doc__)
diff -ur scikit-learn-0.14.1/examples/cluster/plot_feature_agglomeration_vs_univariate_selection.py scikit-learn-0.14.1.joblib/examples/cluster/plot_feature_agglomeration_vs_univariate_selection.py
--- scikit-learn-0.14.1/examples/cluster/plot_feature_agglomeration_vs_univariate_selection.py 2013-09-06 19:12:44.807336787 +0200
+++ scikit-learn-0.14.1.joblib/examples/cluster/plot_feature_agglomeration_vs_univariate_selection.py 2013-09-06 19:09:40.010820490 +0200
@@ -31,7 +31,7 @@
from sklearn.linear_model import BayesianRidge
from sklearn.pipeline import Pipeline
from sklearn.grid_search import GridSearchCV
-from sklearn.externals.joblib import Memory
+from joblib import Memory
from sklearn.cross_validation import KFold
###############################################################################
diff -ur scikit-learn-0.14.1/sklearn/cluster/hierarchical.py scikit-learn-0.14.1.joblib/sklearn/cluster/hierarchical.py
--- scikit-learn-0.14.1/sklearn/cluster/hierarchical.py 2013-09-06 19:12:45.005338414 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/cluster/hierarchical.py 2013-09-06 19:09:44.714858988 +0200
@@ -15,7 +15,7 @@
from scipy.cluster import hierarchy
from ..base import BaseEstimator, ClusterMixin
-from ..externals.joblib import Memory
+from joblib import Memory
from ..externals import six
from ..metrics import euclidean_distances
from ..utils import array2d
diff -ur scikit-learn-0.14.1/sklearn/cluster/k_means_.py scikit-learn-0.14.1.joblib/sklearn/cluster/k_means_.py
--- scikit-learn-0.14.1/sklearn/cluster/k_means_.py 2013-09-06 19:12:45.008338439 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/cluster/k_means_.py 2013-09-06 19:09:44.760859364 +0200
@@ -23,8 +23,8 @@
from ..utils import check_random_state
from ..utils import atleast2d_or_csr
from ..utils import as_float_array
-from ..externals.joblib import Parallel
-from ..externals.joblib import delayed
+from joblib import Parallel
+from joblib import delayed
from . import _k_means
diff -ur scikit-learn-0.14.1/sklearn/covariance/graph_lasso_.py scikit-learn-0.14.1.joblib/sklearn/covariance/graph_lasso_.py
--- scikit-learn-0.14.1/sklearn/covariance/graph_lasso_.py 2013-09-06 19:12:44.892337486 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/covariance/graph_lasso_.py 2013-09-06 19:09:41.852835565 +0200
@@ -21,7 +21,7 @@
from ..linear_model import lars_path
from ..linear_model import cd_fast
from ..cross_validation import check_cv, cross_val_score
-from ..externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
import collections
diff -ur scikit-learn-0.14.1/sklearn/cross_validation.py scikit-learn-0.14.1.joblib/sklearn/cross_validation.py
--- scikit-learn-0.14.1/sklearn/cross_validation.py 2013-09-06 19:12:44.875337346 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/cross_validation.py 2013-09-06 19:09:41.485832562 +0200
@@ -22,7 +22,7 @@
from .base import is_classifier, clone
from .utils import check_arrays, check_random_state, safe_mask
from .utils.fixes import unique
-from .externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from .externals.six import string_types, with_metaclass
from .metrics.scorer import _deprecate_loss_and_score_funcs
diff -ur scikit-learn-0.14.1/sklearn/datasets/california_housing.py scikit-learn-0.14.1.joblib/sklearn/datasets/california_housing.py
--- scikit-learn-0.14.1/sklearn/datasets/california_housing.py 2013-09-06 19:12:44.951337971 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/datasets/california_housing.py 2013-09-06 19:09:43.522849233 +0200
@@ -31,7 +31,7 @@
import numpy as np
from .base import get_data_home, Bunch
-from ..externals import joblib
+import joblib
DATA_URL = "http://lib.stat.cmu.edu/modules.php?op=modload&name=Downloads&"\
diff -ur scikit-learn-0.14.1/sklearn/datasets/covtype.py scikit-learn-0.14.1.joblib/sklearn/datasets/covtype.py
--- scikit-learn-0.14.1/sklearn/datasets/covtype.py 2013-09-06 19:12:44.949337954 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/datasets/covtype.py 2013-09-06 19:09:43.449848635 +0200
@@ -23,7 +23,7 @@
from .base import get_data_home
from .base import Bunch
-from ..externals import joblib
+import joblib
from ..utils import check_random_state
diff -ur scikit-learn-0.14.1/sklearn/datasets/lfw.py scikit-learn-0.14.1.joblib/sklearn/datasets/lfw.py
--- scikit-learn-0.14.1/sklearn/datasets/lfw.py 2013-09-06 19:12:44.948337946 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/datasets/lfw.py 2013-09-06 19:09:43.439848553 +0200
@@ -31,7 +31,7 @@
import urllib
from .base import get_data_home, Bunch
-from ..externals.joblib import Memory
+from joblib import Memory
from ..externals.six import b, u
diff -ur scikit-learn-0.14.1/sklearn/datasets/olivetti_faces.py scikit-learn-0.14.1.joblib/sklearn/datasets/olivetti_faces.py
--- scikit-learn-0.14.1/sklearn/datasets/olivetti_faces.py 2013-09-06 19:12:44.947337938 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/datasets/olivetti_faces.py 2013-09-06 19:09:43.400848234 +0200
@@ -39,7 +39,7 @@
from .base import get_data_home, Bunch
from ..utils import check_random_state
-from ..externals import joblib
+import joblib
DATA_URL = "http://cs.nyu.edu/~roweis/data/olivettifaces.mat"
diff -ur scikit-learn-0.14.1/sklearn/datasets/species_distributions.py scikit-learn-0.14.1.joblib/sklearn/datasets/species_distributions.py
--- scikit-learn-0.14.1/sklearn/datasets/species_distributions.py 2013-09-06 19:12:44.950337962 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/datasets/species_distributions.py 2013-09-06 19:09:43.477848864 +0200
@@ -50,7 +50,7 @@
import numpy as np
from sklearn.datasets.base import get_data_home, Bunch
-from sklearn.externals import joblib
+import joblib
DIRECTORY_URL = "http://www.cs.princeton.edu/~schapire/maxent/datasets/"
diff -ur scikit-learn-0.14.1/sklearn/datasets/twenty_newsgroups.py scikit-learn-0.14.1.joblib/sklearn/datasets/twenty_newsgroups.py
--- scikit-learn-0.14.1/sklearn/datasets/twenty_newsgroups.py 2013-09-06 19:12:44.949337954 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/datasets/twenty_newsgroups.py 2013-09-06 19:09:43.464848758 +0200
@@ -52,7 +52,7 @@
from ..utils.fixes import in1d
from ..feature_extraction.text import CountVectorizer
from ..preprocessing import normalize
-from ..externals import joblib, six
+import joblib; from ..externals import six
if six.PY3:
from urllib.request import urlopen
diff -ur scikit-learn-0.14.1/sklearn/decomposition/dict_learning.py scikit-learn-0.14.1.joblib/sklearn/decomposition/dict_learning.py
--- scikit-learn-0.14.1/sklearn/decomposition/dict_learning.py 2013-09-06 19:12:44.900337552 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/decomposition/dict_learning.py 2013-09-06 19:09:42.042837120 +0200
@@ -15,7 +15,7 @@
from numpy.lib.stride_tricks import as_strided
from ..base import BaseEstimator, TransformerMixin
-from ..externals.joblib import Parallel, delayed, cpu_count
+from joblib import Parallel, delayed, cpu_count
from ..externals.six.moves import zip
from ..utils import array2d, check_random_state, gen_even_slices
from ..utils.extmath import randomized_svd
diff -ur scikit-learn-0.14.1/sklearn/decomposition/tests/test_sparse_pca.py scikit-learn-0.14.1.joblib/sklearn/decomposition/tests/test_sparse_pca.py
--- scikit-learn-0.14.1/sklearn/decomposition/tests/test_sparse_pca.py 2013-09-06 19:12:44.906337601 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/decomposition/tests/test_sparse_pca.py 2013-09-06 19:09:42.197838389 +0200
@@ -65,7 +65,7 @@
U1 = spca_lars.transform(Y)
# Test multiple CPUs
if sys.platform == 'win32': # fake parallelism for win32
- import sklearn.externals.joblib.parallel as joblib_par
+ import joblib.parallel as joblib_par
_mp = joblib_par.multiprocessing
joblib_par.multiprocessing = None
try:
@@ -144,7 +144,7 @@
U1 = spca_lars.transform(Y)
# Test multiple CPUs
if sys.platform == 'win32': # fake parallelism for win32
- import sklearn.externals.joblib.parallel as joblib_par
+ import joblib.parallel as joblib_par
_mp = joblib_par.multiprocessing
joblib_par.multiprocessing = None
try:
diff -ur scikit-learn-0.14.1/sklearn/ensemble/forest.py scikit-learn-0.14.1.joblib/sklearn/ensemble/forest.py
--- scikit-learn-0.14.1/sklearn/ensemble/forest.py 2013-09-06 19:12:44.850337140 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/ensemble/forest.py 2013-09-06 19:09:41.000828593 +0200
@@ -44,7 +44,7 @@
from abc import ABCMeta, abstractmethod
from ..base import ClassifierMixin, RegressorMixin
-from ..externals.joblib import Parallel, delayed, cpu_count
+from joblib import Parallel, delayed, cpu_count
from ..externals import six
from ..externals.six.moves import xrange
from ..feature_selection.from_model import _LearntSelectorMixin
diff -ur scikit-learn-0.14.1/sklearn/ensemble/partial_dependence.py scikit-learn-0.14.1.joblib/sklearn/ensemble/partial_dependence.py
--- scikit-learn-0.14.1/sklearn/ensemble/partial_dependence.py 2013-09-06 19:12:44.839337050 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/ensemble/partial_dependence.py 2013-09-06 19:09:40.788826858 +0200
@@ -14,7 +14,7 @@
from scipy.stats.mstats import mquantiles
from ..utils.extmath import cartesian
-from ..externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from ..externals import six
from ..externals.six.moves import xrange
from ..utils import array2d
diff -ur scikit-learn-0.14.1/sklearn/externals/joblib/__init__.py scikit-learn-0.14.1.joblib/sklearn/externals/joblib/__init__.py
--- scikit-learn-0.14.1/sklearn/externals/joblib/__init__.py 2013-09-06 19:12:44.927337773 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/externals/joblib/__init__.py 2013-09-06 19:09:42.805843365 +0200
@@ -61,7 +61,7 @@
computation to disk and rerun it only if necessary::
>>> import numpy as np
- >>> from sklearn.externals.joblib import Memory
+ >>> from joblib import Memory
>>> mem = Memory(cachedir='/tmp/joblib')
>>> import numpy as np
>>> a = np.vander(np.arange(3)).astype(np.float)
@@ -80,7 +80,7 @@
2) **Embarrassingly parallel helper:** to make is easy to write readable
parallel code and debug it quickly::
- >>> from sklearn.externals.joblib import Parallel, delayed
+ >>> from joblib import Parallel, delayed
>>> from math import sqrt
>>> Parallel(n_jobs=1)(delayed(sqrt)(i**2) for i in range(10))
[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
diff -ur scikit-learn-0.14.1/sklearn/externals/joblib/parallel.py scikit-learn-0.14.1.joblib/sklearn/externals/joblib/parallel.py
--- scikit-learn-0.14.1/sklearn/externals/joblib/parallel.py 2013-09-06 19:12:44.928337782 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/externals/joblib/parallel.py 2013-09-06 19:09:42.824843520 +0200
@@ -204,7 +204,7 @@
A simple example:
>>> from math import sqrt
- >>> from sklearn.externals.joblib import Parallel, delayed
+ >>> from joblib import Parallel, delayed
>>> Parallel(n_jobs=1)(delayed(sqrt)(i**2) for i in range(10))
[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
@@ -212,7 +212,7 @@
values:
>>> from math import modf
- >>> from sklearn.externals.joblib import Parallel, delayed
+ >>> from joblib import Parallel, delayed
>>> r = Parallel(n_jobs=1)(delayed(modf)(i/2.) for i in range(10))
>>> res, i = zip(*r)
>>> res
@@ -224,7 +224,7 @@
messages::
>>> from time import sleep
- >>> from sklearn.externals.joblib import Parallel, delayed
+ >>> from joblib import Parallel, delayed
>>> r = Parallel(n_jobs=2, verbose=5)(delayed(sleep)(.1) for _ in range(10)) #doctest: +SKIP
[Parallel(n_jobs=2)]: Done 1 out of 10 | elapsed: 0.1s remaining: 0.9s
[Parallel(n_jobs=2)]: Done 3 out of 10 | elapsed: 0.2s remaining: 0.5s
@@ -238,7 +238,7 @@
child process::
>>> from heapq import nlargest
- >>> from sklearn.externals.joblib import Parallel, delayed
+ >>> from joblib import Parallel, delayed
>>> Parallel(n_jobs=2)(delayed(nlargest)(2, n) for n in (range(4), 'abcde', 3)) #doctest: +SKIP
#...
---------------------------------------------------------------------------
@@ -270,7 +270,7 @@
number of iterations cannot be reported in the progress messages::
>>> from math import sqrt
- >>> from sklearn.externals.joblib import Parallel, delayed
+ >>> from joblib import Parallel, delayed
>>> def producer():
... for i in range(6):
diff -ur scikit-learn-0.14.1/sklearn/externals/setup.py scikit-learn-0.14.1.joblib/sklearn/externals/setup.py
--- scikit-learn-0.14.1/sklearn/externals/setup.py 2013-09-06 19:12:44.930337798 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/externals/setup.py 2013-09-06 19:12:23.764163896 +0200
@@ -4,7 +4,5 @@
def configuration(parent_package='', top_path=None):
from numpy.distutils.misc_util import Configuration
config = Configuration('externals', parent_package, top_path)
- config.add_subpackage('joblib')
- config.add_subpackage('joblib/test')
return config
diff -ur scikit-learn-0.14.1/sklearn/grid_search.py scikit-learn-0.14.1.joblib/sklearn/grid_search.py
--- scikit-learn-0.14.1/sklearn/grid_search.py 2013-09-06 19:12:44.886337436 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/grid_search.py 2013-09-06 19:09:41.714834436 +0200
@@ -24,7 +24,7 @@
from .base import BaseEstimator, is_classifier, clone
from .base import MetaEstimatorMixin
from .cross_validation import check_cv
-from .externals.joblib import Parallel, delayed, logger
+from joblib import Parallel, delayed, logger
from .externals import six
from .utils import safe_mask, check_random_state
from .utils.validation import _num_samples, check_arrays
diff -ur scikit-learn-0.14.1/sklearn/linear_model/base.py scikit-learn-0.14.1.joblib/sklearn/linear_model/base.py
--- scikit-learn-0.14.1/sklearn/linear_model/base.py 2013-09-06 19:12:44.970338127 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/linear_model/base.py 2013-09-06 19:09:43.929852563 +0200
@@ -21,7 +21,7 @@
from scipy import sparse
from ..externals import six
-from ..externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from ..base import BaseEstimator, ClassifierMixin, RegressorMixin
from ..utils import as_float_array, atleast2d_or_csr, safe_asarray
from ..utils.extmath import safe_sparse_dot
diff -ur scikit-learn-0.14.1/sklearn/linear_model/coordinate_descent.py scikit-learn-0.14.1.joblib/sklearn/linear_model/coordinate_descent.py
--- scikit-learn-0.14.1/sklearn/linear_model/coordinate_descent.py 2013-09-06 19:12:44.962338061 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/linear_model/coordinate_descent.py 2013-09-06 19:09:43.786851393 +0200
@@ -19,7 +19,7 @@
from .base import center_data
from ..utils import array2d, atleast2d_or_csc, deprecated
from ..cross_validation import check_cv
-from ..externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from ..externals import six
from ..externals.six.moves import xrange
from ..utils.extmath import safe_sparse_dot
diff -ur scikit-learn-0.14.1/sklearn/linear_model/least_angle.py scikit-learn-0.14.1.joblib/sklearn/linear_model/least_angle.py
--- scikit-learn-0.14.1/sklearn/linear_model/least_angle.py 2013-09-06 19:12:44.967338102 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/linear_model/least_angle.py 2013-09-06 19:09:43.876852130 +0200
@@ -22,7 +22,7 @@
from ..base import RegressorMixin
from ..utils import array2d, arrayfuncs, as_float_array
from ..cross_validation import check_cv
-from ..externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from ..externals.six.moves import xrange
diff -ur scikit-learn-0.14.1/sklearn/linear_model/omp.py scikit-learn-0.14.1.joblib/sklearn/linear_model/omp.py
--- scikit-learn-0.14.1/sklearn/linear_model/omp.py 2013-09-06 19:12:44.969338119 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/linear_model/omp.py 2013-09-06 19:09:43.901852334 +0200
@@ -15,7 +15,7 @@
from ..base import RegressorMixin
from ..utils import array2d, as_float_array
from ..cross_validation import check_cv
-from ..externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from ..utils.arrayfuncs import solve_triangular
premature = """ Orthogonal matching pursuit ended prematurely due to linear
diff -ur scikit-learn-0.14.1/sklearn/linear_model/randomized_l1.py scikit-learn-0.14.1.joblib/sklearn/linear_model/randomized_l1.py
--- scikit-learn-0.14.1/sklearn/linear_model/randomized_l1.py 2013-09-06 19:12:44.963338069 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/linear_model/randomized_l1.py 2013-09-06 19:09:43.818851655 +0200
@@ -17,7 +17,7 @@
from .base import center_data
from ..base import BaseEstimator, TransformerMixin
from ..externals import six
-from ..externals.joblib import Memory, Parallel, delayed
+from joblib import Memory, Parallel, delayed
from ..utils import (as_float_array, check_random_state, safe_asarray,
check_arrays, safe_mask)
from .least_angle import lars_path, LassoLarsIC
diff -ur scikit-learn-0.14.1/sklearn/linear_model/stochastic_gradient.py scikit-learn-0.14.1.joblib/sklearn/linear_model/stochastic_gradient.py
--- scikit-learn-0.14.1/sklearn/linear_model/stochastic_gradient.py 2013-09-06 19:12:44.974338160 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/linear_model/stochastic_gradient.py 2013-09-06 19:09:43.990853063 +0200
@@ -10,7 +10,7 @@
from abc import ABCMeta, abstractmethod
import warnings
-from ..externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from .base import LinearClassifierMixin, SparseCoefMixin
from ..base import BaseEstimator, RegressorMixin
diff -ur scikit-learn-0.14.1/sklearn/manifold/mds.py scikit-learn-0.14.1.joblib/sklearn/manifold/mds.py
--- scikit-learn-0.14.1/sklearn/manifold/mds.py 2013-09-06 19:12:44.987338267 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/manifold/mds.py 2013-09-06 19:09:44.293855542 +0200
@@ -12,8 +12,8 @@
from ..base import BaseEstimator
from ..metrics import euclidean_distances
from ..utils import check_random_state, check_arrays
-from ..externals.joblib import Parallel
-from ..externals.joblib import delayed
+from joblib import Parallel
+from joblib import delayed
from ..isotonic import IsotonicRegression
diff -ur scikit-learn-0.14.1/sklearn/metrics/pairwise.py scikit-learn-0.14.1.joblib/sklearn/metrics/pairwise.py
--- scikit-learn-0.14.1/sklearn/metrics/pairwise.py 2013-09-06 19:12:44.865337264 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/metrics/pairwise.py 2013-09-06 19:09:41.312831146 +0200
@@ -45,9 +45,9 @@
from ..utils import gen_even_slices
from ..utils.extmath import safe_sparse_dot
from ..preprocessing import normalize
-from ..externals.joblib import Parallel
-from ..externals.joblib import delayed
-from ..externals.joblib.parallel import cpu_count
+from joblib import Parallel
+from joblib import delayed
+from joblib.parallel import cpu_count
from .pairwise_fast import _chi2_kernel_fast
diff -ur scikit-learn-0.14.1/sklearn/multiclass.py scikit-learn-0.14.1.joblib/sklearn/multiclass.py
--- scikit-learn-0.14.1/sklearn/multiclass.py 2013-09-06 19:12:44.911337642 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/multiclass.py 2013-09-06 19:09:42.310839314 +0200
@@ -40,8 +40,8 @@
from .preprocessing import LabelBinarizer
from .metrics.pairwise import euclidean_distances
from .utils import check_random_state
-from .externals.joblib import Parallel
-from .externals.joblib import delayed
+from joblib import Parallel
+from joblib import delayed
def _fit_binary(estimator, X, y, classes=None):
diff -ur scikit-learn-0.14.1/sklearn/pipeline.py scikit-learn-0.14.1.joblib/sklearn/pipeline.py
--- scikit-learn-0.14.1/sklearn/pipeline.py 2013-09-06 19:12:44.918337699 +0200
+++ scikit-learn-0.14.1.joblib/sklearn/pipeline.py 2013-09-06 19:09:42.522841049 +0200
@@ -12,7 +12,7 @@
from scipy import sparse
from .base import BaseEstimator, TransformerMixin
-from .externals.joblib import Parallel, delayed
+from joblib import Parallel, delayed
from .externals import six
from .utils import tosequence
from .externals.six import iteritems