8000 Release 0.24.0 by glemaitre · Pull Request #19058 · scikit-learn/scikit-learn · GitHub
[go: up one dir, main page]

Skip to content

Release 0.24.0 #19058

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 33 commits into from
Dec 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
11df524
DOC Fix broken link to SLEPs in the Governance docs (#18967)
leouieda Dec 4, 2020
f288073
DOC Updates confusion_matrix.py to match parameter in code(#18938)
NadimKawwa Dec 4, 2020
918eacd
DOC more updates to maintainers' doc (#18954)
ogrisel Dec 4, 2020
7bc97b7
DOC Typo addressed in confusion_matrix docstring (#18979)
mcalcote Dec 10, 2020
fdb4142
Added self to abstract fit method (#18971)
novaya Dec 11, 2020
ecba10a
DOC Update logos 8000 from Consortium funders (#18991)
cmarmo Dec 14, 2020
ca443d9
BLD Add clean command to skip list (#18999)
alfaro96 Dec 14, 2020
e2922e6
FIX change stats.mode to Counter for better performance with object d…
DavidKatz-il Dec 14, 2020
137684d
DOC Fix doc of defaults in sklearn.utils.sparsefuncs.py (#18025)
franslarsson Dec 15, 2020
0820b41
DOC explain how to use custom edge bins in KBinsDiscretizer (#18972)
Dec 15, 2020
4f3c558
CI Build wheels for the ARM64 architecture (#18782)
alfaro96 Dec 15, 2020
ec36e24
BUG Fixes fetch_kddcup99 for return_X_y and as_frame (#19011)
thomasjpfan Dec 16, 2020
4eb8f10
DOC fix citations for de Leeuw in IsotonicRegression (#18952)
nfultz Dec 16, 2020
7139ae1
DOC fix multiclass AUC formulas in user guide (#18559)
RamyaNP Dec 16, 2020
505a419
CI Avoid Travis stuck on failure (#19018)
alfaro96 Dec 17, 2020
bc08b63
CI Only build wheels on main repo (#19026)
thomasjpfan Dec 17, 2020
c9d87ff
DOC correct some typo in bug_triaging.rst (#19032)
tacaswell Dec 17, 2020
05aea4c
DOC Revises a sentence in the description of RFE (#19033)
des137 Dec 18, 2020
ca2e20e
MNT skip preprocessing.rst when pandas is not installed (#19016)
glemaitre Dec 18, 2020
8bc4472
MNT change 0.25 to 1.0 and 0.26 to 1.1 in deprecation messages (#19005)
glemaitre Dec 18, 2020
f88c187
CI Removes scipy-dev from travis (#19036)
thomasjpfan Dec 19, 2020
2c88f2a
DOC correct shape of returned ndarray in BinaryTree.query (#18969)
Kot271828 Dec 19, 2020
1ddfd9d
DOC Fix typo in Gaussian Process docs (#19039)
adamjstewart Dec 20, 2020
9521503
DOC removed algorithm parameter of CCA (#19047)
NicolasHug Dec 20, 2020
931fd69
[DOC] Improved consistency of the docstring of an ignored y parameter…
rohan-paul Dec 21, 2020
73ee1e6
DOC Fix typo in experimental features documentation (#19053)
alfaro96 Dec 21, 2020
585a3f0
MNT silence spurious FitFailedWarning in test_search_cv (#18833)
ogrisel Dec 21, 2020
1b10f7b
DOC fix simple typo, variales -> variables (#19054)
timgates42 Dec 21, 2020
df4cd24
MNT remove docstring check in pypy build (#19057)
glemaitre Dec 22, 2020
60feab1
CI Use Travis secret tokens to upload the ARM64 wheels (#19017)
alfaro96 Dec 22, 2020
37a069b
bump to release version 0.24
glemaitre Dec 22, 2020
d2a3a95
DOC update contributors list in whats new
glemaitre Dec 22, 2020
50ba3fc
DOC 0.24.0 release highlights formatting (#19059)
ogrisel Dec 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/wheels.yml
F42D
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
check_build_trigger:
name: Check build trigger
runs-on: ubuntu-latest
if: github.repository == 'scikit-learn/scikit-learn'
outputs:
build: ${{ steps.check_build_trigger.outputs.build }}

Expand Down Expand Up @@ -86,7 +87,7 @@ jobs:
SKLEARN_SKIP_NETWORK_TESTS=1
SKLEARN_BUILD_PARALLEL=3
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: bash build_tools/github/repair_windows_wheels.sh {wheel} {dest_dir} ${{ matrix.bitness }}
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: bash build_tools/github/repair_windows_wheels.sh {wheel} {dest_dir} ${{ matrix.bitness }}
CIBW_BEFORE_TEST_WINDOWS: bash build_tools/github/build_minimal_windows_image.sh ${{ matrix.python }} ${{ matrix.bitness }}
CIBW_TEST_REQUIRES: pytest pandas threadpoolctl
CIBW_TEST_COMMAND: bash {project}/build_tools/github/test_wheels.sh
Expand Down
94 changes: 63 additions & 31 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,58 +1,90 @@
# make it explicit that we favor the new container-based travis workers
# Make it explicit that we favor the
# new container-based Travis workers
language: python
dist: xenial

cache:
apt: true
directories:
- $HOME/.cache/pip
- $HOME/.ccache

dist: xenial
- $HOME/.cache/pip
- $HOME/.ccache

env:
global:
# Directory where tests are run from
- TEST_DIR=/tmp/sklearn
- CPU_COUNT=3
- TEST_DIR=/tmp/sklearn # Test directory for continuous integration jobs
- PYTEST_VERSION=latest
- OMP_NUM_THREADS=2
- OPENBLAS_NUM_THREADS=2
- PYTEST_VERSION=latest
- SKLEARN_BUILD_PARALLEL=3
- SKLEARN_SKIP_NETWORK_TESTS=1
# Custom environment variables for the ARM wheel builder
- CIBW_BUILD_VERBOSITY=1
- CIBW_TEST_REQUIRES="pytest pytest-xdist threadpoolctl"
- CIBW_TEST_COMMAND="bash {project}/build_tools/travis/test_wheels.sh"
- CIBW_ENVIRONMENT="CPU_COUNT=8
OMP_NUM_THREADS=2
OPENBLAS_NUM_THREADS=2
SKLEARN_BUILD_PARALLEL=8
SKLEARN_SKIP_NETWORK_TESTS=1"

matrix:
jobs:
include:
# Linux environment to test scikit-learn against numpy and scipy master
# installed from their CI wheels in a virtualenv with the Python
# interpreter provided by travis.
- python: 3.7
env:
- CHECK_WARNINGS="true"
- CI_CPU_COUNT="3"
if: type = cron OR commit_message =~ /\[scipy-dev\]/
- CHECK_WARNING=true
- BUILD_WITH_ICC=true
if: type = cron OR commit_message =~ /\[icc-build\]/

# As above but build scikit-learn with Intel C compiler (ICC).
- python: 3.7
os: linux
arch: arm64
if: type = cron OR commit_message =~ /\[arm64\]/
env:
- CHECK_WARNING="true"
- BUILD_WITH_ICC="true"
- CI_CPU_COUNT="3"
if: type = cron OR commit_message =~ /\[icc-build\]/
- CPU_COUNT=8

# Linux environments to build the scikit-learn wheels
# for the ARM64 arquitecture and Python 3.6 and newer
- python: 3.6
os: linux
arch: arm64
if: type = cron or commit_message =~ /\[cd build\]/
env:
- BUILD_WHEEL=true
- CIBW_BUILD=cp36-manylinux_aarch64

- python: 3.7
os: linux
arch: arm64
if: type = cron or commit_message =~ /\[cd build\]/
env:
- CI_CPU_COUNT="8"
- BUILD_WHEEL=true
- CIBW_BUILD=cp37-manylinux_aarch64

- python: 3.8
os: linux
arch: arm64
if: type = cron OR commit_message =~ /\[arm64\]/
if: type = cron or commit_message =~ /\[cd build\]/
env:
- BUILD_WHEEL=true
- CIBW_BUILD=cp38-manylinux_aarch64

- python: 3.9
os: linux
arch: arm64
if: type = cron or commit_message =~ /\[cd build\]/
env:
- BUILD_WHEEL=true
- CIBW_BUILD=cp39-manylinux_aarch64

install: source build_tools/travis/install.sh || travis_terminate 1
script: source build_tools/travis/script.sh || travis_terminate 1
after_success: source build_tools/travis/after_success.sh || travis_terminate 1

install: source build_tools/travis/install.sh
script:
- bash build_tools/travis/test_script.sh || travis_terminate 1
- bash build_tools/travis/test_docs.sh || travis_terminate 1
- bash build_tools/travis/test_pytest_soft_dependency.sh || travis_terminate 1
after_success: source build_tools/travis/after_success.sh
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/4ffabb4df010b70cd624
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always
on_success: change
on_failure: always
on_start: never
2 changes: 0 additions & 2 deletions build_tools/circle/build_test_pypy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,3 @@ export SKLEARN_BUILD_PARALLEL=3
pip install --no-build-isolation -e .

python -m pytest sklearn
python -m pytest doc/sphinxext/
python -m pytest $(find doc -name '*.rst' | sort)
31 changes: 19 additions & 12 deletions build_tools/travis/after_success.sh
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@
#!/bin/bash
# This script is meant to be called by the "after_success" step defined in
# .travis.yml. See https://docs.travis-ci.com/ for more details.

# License: 3-clause BSD
# This script is meant to be called by the "after_success" step
# defined in ".travis.yml". In particular, we upload the wheels
# of the ARM64 architecture for the continuous deployment jobs.

set -e

if [[ "$COVERAGE" == "true" ]]; then
# Need to run codecov from a git checkout, so we copy .coverage
# from TEST_DIR where pytest has been run
cp $TEST_DIR/.coverage $TRAVIS_BUILD_DIR
# The wheels cannot be uploaded on PRs
if [[ $BUILD_WHEEL == true && $TRAVIS_EVENT_TYPE != pull_request ]]; then
# Nightly upload token and staging upload token are set in
# Travis settings (originally generated at Anaconda cloud)
if [[ $TRAVIS_EVENT_TYPE == cron ]]; then
ANACONDA_ORG="scipy-wheels-nightly"
ANACONDA_TOKEN="$SCIKIT_LEARN_NIGHTLY_UPLOAD_TOKEN"
else
ANACONDA_ORG="scikit-learn-wheels-staging"
ANACONDA_TOKEN="$SCIKIT_LEARN_STAGING_UPLOAD_TOKEN"
fi

# Ignore codecov failures as the codecov server is not
# very reliable but we don't want travis to report a failure
# in the github UI just because the coverage report failed to
# be published.
codecov --root $TRAVIS_BUILD_DIR || echo "codecov upload failed"
pip install git+https://github.com/Anaconda-Server/anaconda-client

# Force a replacement if the remote file already exists
anaconda -t $ANACONDA_TOKEN upload --force -u $ANACONDA_ORG wheelhouse/*.whl
echo "Index: https://pypi.anaconda.org/$ANACONDA_ORG/simple"
fi
110 changes: 6 additions & 104 deletions build_tools/travis/install.sh
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,111 +1,13 @@
#!/bin/bash
# This script is meant to be called by the "install" step defined in
# .travis.yml. See https://docs.travis-ci.com/ for more details.
# The behavior of the script is controlled by environment variabled defined
# in the .travis.yml in the top level folder of the project.

# License: 3-clause BSD

# Travis clone scikit-learn/scikit-learn repository in to a local repository.
# We use a cached directory with three scikit-learn repositories (one for each
# matrix entry) from which we pull from local Travis repository. This allows
# us to keep build artefact for gcc + cython, and gain time
# This script is meant to be called by the "install" step
# defined in the ".travis.yml" file. In particular, it is
# important that we call to the right installation script.

set -e

# Fail fast
echo "CPU Arch: ${TRAVIS_CPU_ARCH}"

# jq is used in travis_fastfail.sh, it's already pre-installed in non arm64
# environments
sudo apt-get install jq

build_tools/travis/travis_fastfail.sh

# Imports get_dep
source build_tools/shared.sh

echo "List files from cached directories"
echo "pip:"
ls $HOME/.cache/pip

export CC=/usr/lib/ccache/gcc
export CXX=/usr/lib/ccache/g++
# Useful for debugging how ccache is used
# export CCACHE_LOGFILE=/tmp/ccache.log
# ~60M is used by .ccache when compiling from scratch at the time of writing
ccache --max-size 100M --show-stats

# Deactivate the travis-provided virtual environment and setup a
# conda-based environment instead
# If Travvis has language=generic, deactivate does not exist. `|| :` will pass.
deactivate || :


# Install miniconda
if [[ "$TRAVIS_CPU_ARCH" == "arm64" ]]; then
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh -O miniconda.sh
if [[ $BUILD_WHEEL == true ]]; then
source build_tools/travis/install_wheels.sh
else
fname=Miniconda3-latest-Linux-x86_64.sh
wget https://repo.continuum.io/miniconda/$fname -O miniconda.sh
source build_tools/travis/install_master.sh
fi
MINICONDA_PATH=$HOME/miniconda
chmod +x miniconda.sh && ./miniconda.sh -b -p $MINICONDA_PATH
export PATH=$MINICONDA_PATH/bin:$PATH
conda update --yes conda

# Create environment and install dependencies
conda create -n testenv --yes python=3.7

source activate testenv

if [[ "$TRAVIS_CPU_ARCH" == "amd64" ]]; then
pip install --upgrade pip setuptools
echo "Installing numpy and scipy master wheels"
dev_anaconda_url=https://pypi.anaconda.org/scipy-wheels-nightly/simple
pip install --pre --upgrade --timeout=60 --extra-index $dev_anaconda_url numpy scipy pandas
pip install --pre cython
echo "Installing joblib master"
pip install https://github.com/joblib/joblib/archive/master.zip
echo "Installing pillow master"
pip install https://github.com/python-pillow/Pillow/archive/master.zip
else
conda install -y scipy numpy pandas cython
pip install joblib threadpoolctl
fi

pip install $(get_dep pytest $PYTEST_VERSION) pytest-cov pytest-xdist

# Build scikit-learn in the install.sh script to collapse the verbose
# build output in the travis output when it succeeds.
python --version
python -c "import numpy; print('numpy %s' % numpy.__version__)"
python -c "import scipy; print('scipy %s' % scipy.__version__)"

if [[ "$BUILD_WITH_ICC" == "true" ]]; then
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
sudo apt-get update
sudo apt-get install intel-oneapi-icc
source /opt/intel/oneapi/setvars.sh

# The build_clib command is implicitly used to build libsvm-skl. To compile
# with a different compiler we also need to specify the compiler for this
# command.
python setup.py build_ext --compiler=intelem -i -j "${CI_CPU_COUNT}" build_clib --compiler=intelem
else
# Use setup.py instead of `pip install -e .` to be able to pass the -j flag
# to speed-up the building multicore CI machines.
python setup.py build_ext --inplace -j "${CI_CPU_COUNT}"
fi

python setup.py develop

ccache --show-stats
# Useful for debugging how ccache is used
# cat $CCACHE_LOGFILE

# fast fail
build_tools/travis/travis_fastfail.sh
Loading
0