From e743cf75f5cea0702fdd9834b78a921276ce75e5 Mon Sep 17 00:00:00 2001 From: Jake VanderPlas <jakevdp@uw.edu> Date: Wed, 3 Feb 2016 10:39:50 -0800 Subject: [PATCH] MAINT: re-organize setup.py & make sure all tests are discoverable by nose --- sklearn/cluster/setup.py | 2 + sklearn/cross_decomposition/tests/__init__.py | 0 sklearn/datasets/setup.py | 2 +- sklearn/feature_extraction/setup.py | 1 + sklearn/manifold/setup.py | 2 + sklearn/manifold/tests/__init__.py | 0 sklearn/metrics/setup.py | 2 + sklearn/model_selection/tests/__init__.py | 0 sklearn/neighbors/setup.py | 2 + sklearn/neural_network/tests/__init__.py | 0 sklearn/setup.py | 49 +++++++++---------- sklearn/utils/setup.py | 2 + 12 files changed, 36 insertions(+), 26 deletions(-) create mode 100644 sklearn/cross_decomposition/tests/__init__.py create mode 100644 sklearn/manifold/tests/__init__.py create mode 100644 sklearn/model_selection/tests/__init__.py create mode 100644 sklearn/neural_network/tests/__init__.py diff --git a/sklearn/cluster/setup.py b/sklearn/cluster/setup.py index 281d0dfbc4..672983c7aa 100644 --- a/sklearn/cluster/setup.py +++ b/sklearn/cluster/setup.py @@ -45,6 +45,8 @@ def configuration(parent_package='', top_path=None): **blas_info ) + config.add_subpackage('tests') + return config if __name__ == '__main__': diff --git a/sklearn/cross_decomposition/tests/__init__.py b/sklearn/cross_decomposition/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sklearn/datasets/setup.py b/sklearn/datasets/setup.py index 5fea622758..78327e8b3f 100644 --- a/sklearn/datasets/setup.py +++ b/sklearn/datasets/setup.py @@ -13,7 +13,7 @@ def configuration(parent_package='', top_path=None): config.add_extension('_svmlight_format', sources=['_svmlight_format.c'], include_dirs=[numpy.get_include()]) - + config.add_subpackage('tests') return config diff --git a/sklearn/feature_extraction/setup.py b/sklearn/feature_extraction/setup.py index de7ec380cd..075cac470b 100644 --- a/sklearn/feature_extraction/setup.py +++ b/sklearn/feature_extraction/setup.py @@ -14,5 +14,6 @@ def configuration(parent_package='', top_path=None): sources=['_hashing.c'], include_dirs=[numpy.get_include()], libraries=libraries) + config.add_subpackage("tests") return config diff --git a/sklearn/manifold/setup.py b/sklearn/manifold/setup.py index 18dee2d537..d1b6ebf9e0 100644 --- a/sklearn/manifold/setup.py +++ b/sklearn/manifold/setup.py @@ -27,6 +27,8 @@ def configuration(parent_package="", top_path=None): blas_info.pop('include_dirs', [])], extra_compile_args=eca, **blas_info) + config.add_subpackage('tests') + return config if __name__ == "__main__": diff --git a/sklearn/manifold/tests/__init__.py b/sklearn/manifold/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sklearn/metrics/setup.py b/sklearn/metrics/setup.py index f5a6ce27f2..949c3efcb0 100644 --- a/sklearn/metrics/setup.py +++ b/sklearn/metrics/setup.py @@ -23,6 +23,8 @@ def configuration(parent_package="", top_path=None): extra_compile_args=blas_info.pop('extra_compile_args', []), **blas_info) + config.add_subpackage('tests') + config.add_subpackage('cluster') return config diff --git a/sklearn/model_selection/tests/__init__.py b/sklearn/model_selection/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sklearn/neighbors/setup.py b/sklearn/neighbors/setup.py index 2ddfb8cf34..575b4fce66 100644 --- a/sklearn/neighbors/setup.py +++ b/sklearn/neighbors/setup.py @@ -32,4 +32,6 @@ def configuration(parent_package='', top_path=None): include_dirs=[numpy.get_include()], libraries=libraries) + config.add_subpackage('tests') + return config diff --git a/sklearn/neural_network/tests/__init__.py b/sklearn/neural_network/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sklearn/setup.py b/sklearn/setup.py index 63c0b7546a..3a87444e91 100644 --- a/sklearn/setup.py +++ b/sklearn/setup.py @@ -14,45 +14,44 @@ def configuration(parent_package='', top_path=None): config = Configuration('sklearn', parent_package, top_path) + # submodules with build utilities config.add_subpackage('__check_build') config.add_subpackage('_build_utils') - config.add_subpackage('svm') - config.add_subpackage('datasets') - config.add_subpackage('datasets/tests') - config.add_subpackage('feature_extraction') - config.add_subpackage('feature_extraction/tests') - config.add_subpackage('cluster') - config.add_subpackage('cluster/tests') + + # submodules which do not have their own setup.py + # we must manually add sub-submodules & tests config.add_subpackage('covariance') config.add_subpackage('covariance/tests') config.add_subpackage('cross_decomposition') - config.add_subpackage('decomposition') - config.add_subpackage('decomposition/tests') - config.add_subpackage("ensemble") - config.add_subpackage("ensemble/tests") + config.add_subpackage('cross_decomposition/tests') config.add_subpackage('feature_selection') config.add_subpackage('feature_selection/tests') - config.add_subpackage('utils') - config.add_subpackage('utils/tests') - config.add_subpackage('externals') - config.add_subpackage('mixture') - config.add_subpackage('mixture/tests') config.add_subpackage('gaussian_process') config.add_subpackage('gaussian_process/tests') - config.add_subpackage('neighbors') + config.add_subpackage('mixture') + config.add_subpackage('mixture/tests') + config.add_subpackage('model_selection') + config.add_subpackage('model_selection/tests') config.add_subpackage('neural_network') + config.add_subpackage('neural_network/tests') config.add_subpackage('preprocessing') config.add_subpackage('preprocessing/tests') + config.add_subpackage('semi_supervised') + config.add_subpackage('semi_supervised/tests') + + # submodules which have their own setup.py + # leave out "linear_model" and "utils" for now; add them after cblas below + config.add_subpackage('cluster') + config.add_subpackage('datasets') + config.add_subpackage('decomposition') + config.add_subpackage('ensemble') + config.add_subpackage('externals') + config.add_subpackage('feature_extraction') config.add_subpackage('manifold') config.add_subpackage('metrics') - config.add_subpackage('semi_supervised') - config.add_subpackage("tree") - config.add_subpackage("tree/tests") - config.add_subpackage('metrics/tests') - config.add_subpackage('metrics/cluster') - config.add_subpackage('metrics/cluster/tests') - config.add_subpackage('model_selection') - config.add_subpackage('model_selection/tests') + config.add_subpackage('neighbors') + config.add_subpackage('tree') + config.add_subpackage('svm') # add cython extension module for isotonic regression config.add_extension( diff --git a/sklearn/utils/setup.py b/sklearn/utils/setup.py index ac321e7d7a..ad1e3bef81 100644 --- a/sklearn/utils/setup.py +++ b/sklearn/utils/setup.py @@ -74,6 +74,8 @@ def configuration(parent_package='', top_path=None): include_dirs=[numpy.get_include()], libraries=libraries) + config.add_subpackage('tests') + return config -- GitLab