Skip to content

Commit

Permalink
CI: Test that sort order is enforced. (#314)
Browse files Browse the repository at this point in the history
  • Loading branch information
TomAugspurger committed Jul 25, 2018
1 parent d95f1ce commit a9c40bf
Show file tree
Hide file tree
Showing 54 changed files with 127 additions and 179 deletions.
24 changes: 21 additions & 3 deletions .circleci/config.yml
Expand Up @@ -16,17 +16,27 @@ jobs:
- run:
command: |
source activate ${ENV_NAME}
pytest --cov=dask_ml tests
mkdir test-reports
pytest --cov=dask_ml --junitxml=test-reports/junit.xml tests
- run:
command: |
source activate ${ENV_NAME}
echo "[flake8]"
flake8
echo "[black]"
black --check .
echo "[isort]"
isort --recursive --check-only .
echo "[codecov]"
codecov
- save_cache:
key: deps-{{ .Branch }}-3.6-{{ checksum "ci/environment-3.6.yml" }}
paths:
- "/opt/conda/envs/${ENV_NAME}/"
- store_test_results:
path: test-reports
- store_artifacts:
path: test-reports

# Python 2.7 build
py27:
Expand All @@ -45,14 +55,18 @@ jobs:
- run:
command: |
source activate ${ENV_NAME}
pytest tests
pytest --junitxml=test-reports/junit.xml tests
- run:
command: |
source activate ${ENV_NAME}
- save_cache:
key: deps-{{ .Branch }}-2.7-{{ checksum "ci/environment-2.7.yml" }}
paths:
- "/opt/conda/envs/${ENV_NAME}/"
- store_test_results:
path: test-reports
- store_artifacts:
path: test-reports

# scikit-learn dev build
sklearn_dev:
Expand All @@ -77,11 +91,15 @@ jobs:
- run:
command: |
source activate ${ENV_NAME}
pytest tests
pytest --junitxml=test-reports/junit.xml tests
- save_cache:
key: deps-{{ .Branch }}-sklearn_dev-{{ checksum "ci/environment-3.6.yml" }}
paths:
- "/opt/conda/envs/${ENV_NAME}/"
- store_test_results:
path: test-reports
- store_artifacts:
path: test-reports

workflows:
version: 2
Expand Down
5 changes: 2 additions & 3 deletions benchmarks/k_means_kdd.py
Expand Up @@ -12,15 +12,14 @@
import dask.dataframe as dd
import pandas as pd
import requests
import sklearn.cluster as sk
from distributed import Client
from sklearn.datasets import get_data_home

import s3fs
import sklearn.cluster as sk
from dask_ml.cluster import KMeans
from dask_ml.utils import _timer

from sklearn.datasets import get_data_home

from .base import make_parser

logger = logging.getLogger(__name__)
Expand Down
2 changes: 0 additions & 2 deletions benchmarks/kmeans_airline.py
Expand Up @@ -6,7 +6,6 @@
import sys
from timeit import default_timer as tic

import coloredlogs
import dask.array as da
import dask.dataframe as dd
import pandas as pd
Expand All @@ -17,7 +16,6 @@
from dask_ml.utils import _timer

logger = logging.getLogger(__name__)
coloredlogs.install()


def parse_args(args=None):
Expand Down
1 change: 1 addition & 0 deletions ci/environment-3.6.yml
Expand Up @@ -10,6 +10,7 @@ dependencies:
- flake8
- heapdict
- ipython
- isort
- multipledispatch
- nbsphinx
- nomkl
Expand Down
4 changes: 2 additions & 2 deletions ci/install-circle.sh
Expand Up @@ -3,9 +3,9 @@ set -xe
apt-get update; apt-get install -y gcc g++
conda config --set always_yes true --set changeps1 false --set quiet true
conda update -q conda
conda install conda-build anaconda-client --yes
conda install conda-build anaconda-client --yes --quiet
conda config --add channels conda-forge
conda env create -f ci/environment-${PYTHON}.yml --name=${ENV_NAME}
conda env create -f ci/environment-${PYTHON}.yml --name=${ENV_NAME} --quiet
conda env list
source activate ${ENV_NAME}
pip install --no-deps --quiet -e .
Expand Down
74 changes: 0 additions & 74 deletions ci/release.py

This file was deleted.

1 change: 0 additions & 1 deletion dask_ml/_compat.py
Expand Up @@ -2,7 +2,6 @@

import dask
import packaging.version

import sklearn

SK_VERSION = packaging.version.parse(sklearn.__version__)
Expand Down
3 changes: 1 addition & 2 deletions dask_ml/_partial.py
Expand Up @@ -8,11 +8,10 @@
import dask
import numpy as np
import six
import sklearn.utils
from dask.delayed import Delayed
from toolz import partial

import sklearn.utils

from ._utils import copy_learned_attributes

logger = logging.getLogger(__name__)
Expand Down
2 changes: 0 additions & 2 deletions dask_ml/cluster/k_means.py
Expand Up @@ -7,7 +7,6 @@
import numpy as np
import pandas as pd
from dask import compute

from sklearn.base import BaseEstimator, TransformerMixin
from sklearn.cluster import k_means_ as sk_k_means
from sklearn.utils.extmath import squared_norm
Expand All @@ -19,7 +18,6 @@
pairwise_distances_argmin_min,
)
from ..utils import _timed, _timer, check_array, row_norms

from ._k_means import _centers_dense

logger = logging.getLogger(__name__)
Expand Down
3 changes: 1 addition & 2 deletions dask_ml/cluster/spectral.py
Expand Up @@ -6,10 +6,9 @@
import dask.array as da
import numpy as np
import six
import sklearn.cluster
from dask import delayed
from scipy.linalg import pinv, svd

import sklearn.cluster
from sklearn.base import BaseEstimator, ClusterMixin
from sklearn.utils import check_random_state

Expand Down
4 changes: 2 additions & 2 deletions dask_ml/datasets.py
Expand Up @@ -3,11 +3,11 @@
import dask
import dask.array as da
import numpy as np

import dask_ml.utils
import sklearn.datasets
import sklearn.utils

import dask_ml.utils


def _check_axis_partitioning(chunks, n_features):
c = chunks[1][0]
Expand Down
1 change: 0 additions & 1 deletion dask_ml/decomposition/pca.py
Expand Up @@ -2,7 +2,6 @@
import numpy as np
import scipy.sparse as sp
from dask import compute

from sklearn.decomposition.base import _BasePCA
from sklearn.utils.extmath import fast_logdet
from sklearn.utils.validation import check_is_fitted, check_random_state
Expand Down
1 change: 0 additions & 1 deletion dask_ml/decomposition/truncated_svd.py
@@ -1,6 +1,5 @@
import dask.array as da
from dask import compute

from sklearn.base import BaseEstimator, TransformerMixin

from ..utils import svd_flip
Expand Down
2 changes: 1 addition & 1 deletion dask_ml/linear_model/glm.py
Expand Up @@ -14,7 +14,7 @@
)
from sklearn.base import BaseEstimator

# register multipledispatch
# Register multiple dispatch
from . import utils # noqa
from ..utils import check_array

Expand Down
1 change: 0 additions & 1 deletion dask_ml/metrics/pairwise.py
Expand Up @@ -8,7 +8,6 @@
import packaging.version
from dask import delayed
from dask.array.random import doc_wraps

from sklearn import metrics
from sklearn.metrics.pairwise import KERNEL_PARAMS

Expand Down
3 changes: 1 addition & 2 deletions dask_ml/metrics/regression.py
@@ -1,8 +1,7 @@
import dask.array as da
import six
from dask.array.random import doc_wraps

import sklearn.metrics
from dask.array.random import doc_wraps


def _check_sample_weight(sample_weight):
Expand Down
1 change: 0 additions & 1 deletion dask_ml/metrics/scorer.py
@@ -1,5 +1,4 @@
import six

from sklearn.metrics import make_scorer
from sklearn.metrics.scorer import check_scoring as sklearn_check_scoring

Expand Down
1 change: 0 additions & 1 deletion dask_ml/model_selection/_normalize.py
Expand Up @@ -2,7 +2,6 @@

import numpy as np
from dask.base import normalize_token

from sklearn.base import BaseEstimator
from sklearn.model_selection._split import (
BaseShuffleSplit,
Expand Down
1 change: 0 additions & 1 deletion dask_ml/model_selection/_search.py
Expand Up @@ -12,7 +12,6 @@
from dask.base import tokenize
from dask.delayed import delayed
from dask.utils import derived_from

from sklearn import model_selection
from sklearn.base import BaseEstimator, MetaEstimatorMixin, clone, is_classifier
from sklearn.exceptions import NotFittedError
Expand Down
4 changes: 2 additions & 2 deletions dask_ml/model_selection/_split.py
Expand Up @@ -6,16 +6,16 @@
import dask
import dask.array as da
import numpy as np

import sklearn.model_selection as ms
from dask_ml.utils import check_array
from sklearn.model_selection._split import (
BaseCrossValidator,
_validate_shuffle_split,
_validate_shuffle_split_init,
)
from sklearn.utils import check_random_state

from dask_ml.utils import check_array


def _check_blockwise(blockwise):
if blockwise not in {True, False}:
Expand Down
3 changes: 1 addition & 2 deletions dask_ml/model_selection/methods.py
Expand Up @@ -10,12 +10,11 @@
from dask.base import normalize_token
from scipy import sparse
from scipy.stats import rankdata
from toolz import pluck

from sklearn.exceptions import FitFailedWarning
from sklearn.pipeline import FeatureUnion, Pipeline
from sklearn.utils import safe_indexing
from sklearn.utils.validation import _is_arraylike, check_consistent_length
from toolz import pluck

from .utils import copy_estimator

Expand Down
1 change: 0 additions & 1 deletion dask_ml/model_selection/utils.py
Expand Up @@ -5,7 +5,6 @@
import dask.array as da
from dask.base import tokenize
from dask.delayed import Delayed, delayed

from sklearn.utils.validation import _is_arraylike, indexable

if LooseVersion(dask.__version__) > "0.15.4":
Expand Down
1 change: 0 additions & 1 deletion dask_ml/model_selection/utils_test.py
Expand Up @@ -2,7 +2,6 @@
from functools import wraps

import numpy as np

from sklearn.base import BaseEstimator, ClassifierMixin
from sklearn.utils.validation import _num_samples, check_array

Expand Down
1 change: 0 additions & 1 deletion dask_ml/naive_bayes.py
@@ -1,7 +1,6 @@
import dask.array as da
import numpy as np
from dask import delayed

from sklearn import naive_bayes as _naive_bayes
from sklearn.base import BaseEstimator

Expand Down
4 changes: 2 additions & 2 deletions dask_ml/preprocessing/data.py
Expand Up @@ -11,12 +11,12 @@
from dask import compute
from pandas.api.types import is_categorical_dtype
from scipy import stats

from dask_ml.utils import check_array, handle_zeros_in_scale
from sklearn.base import BaseEstimator, TransformerMixin
from sklearn.preprocessing import data as skdata
from sklearn.utils.validation import check_is_fitted, check_random_state

from dask_ml.utils import check_array, handle_zeros_in_scale

_PANDAS_VERSION = LooseVersion(pd.__version__)
_HAS_CTD = _PANDAS_VERSION >= "0.21.0"

Expand Down

0 comments on commit a9c40bf

Please sign in to comment.