Skip to content

pycaret

pycaret #79

Workflow file for this run

name: pycaret
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: "0 5 * * *"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
code_quality:
runs-on: ubuntu-latest
steps:
- name: Check out source repository
uses: actions/checkout@v3
- name: Run black
uses: psf/black@stable
with:
src: pycaret tests
version: 22.12.0
- name: Check imports
uses: jamescurtin/isort-action@master
with:
sort-paths: pycaret tests
isort-version: 5.11.4
- name: Run flake8
uses: py-actions/flake8@v2
with:
path: pycaret tests
flake8-version: 6.0.0
# JOBS MUST START WITH test !!!!
test_notebooks:
runs-on: ubuntu-latest
steps:
- name: Check out source repository
uses: actions/checkout@v3
- name: Set up Python environment
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install dependencies
run: |
pip install -U pytest pytest-xdist nbmake
pip install ".[full]"
python -m ipykernel install --user --name cikernel
- name: Python version and dependency list
run: |
echo "Python version expected: 3.10"
python --version
which python
pip list
- name: Run notebooks
run: pytest --nbmake --nbmake-kernel=cikernel -n=auto --nbmake-timeout=3000 --ignore=./tutorials/translations ./tutorials/
test_linux:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, "3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
# SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# pyLDAvis 3.3.1 having an "sklearn" dependency
run: |
export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
python -m pip install -U pip
python -m pip install -U pytest numpy
pip install ".[full, test]"
if [ -f requirements-prophet.txt ]; then pip install -r requirements-prophet.txt; fi
- name: Python version and dependency list
run: |
echo "Python version expected: ${{ matrix.python-version }}"
python --version
which python
pip list
- name: Remove tests
run: |
rm tests/test_classification_tuning.py
rm tests/test_classification_plots.py
rm tests/test_regression_plots.py
rm tests/test_regression_tuning.py
rm tests/test_time_series_tune_grid.py
rm tests/test_time_series_tune_random.py
rm tests/test_time_series_plots.py
rm tests/test_time_series_utils_plots.py
rm tests/benchmarks/*.py
- name: Test with pytest
run: pytest --durations=0
# test_linux_3p11:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ["3.11"]
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v3
# with:
# python-version: ${{ matrix.python-version }}
# - name: Install dependencies
# # SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# # pyLDAvis 3.3.1 having an "sklearn" dependency
# run: |
# export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
# python -m pip install -U pip
# python -m pip install -U pytest numpy
# pip install ".[full, test]"
# if [ -f requirements-prophet.txt ]; then pip install -r requirements-prophet.txt; fi
# - name: Python version and dependency list
# run: |
# echo "Python version expected: ${{ matrix.python-version }}"
# python --version
# which python
# pip list
# - name: Remove tests
# run: |
# rm tests/test_classification_tuning.py
# rm tests/test_classification_plots.py
# rm tests/test_regression_plots.py
# rm tests/test_regression_tuning.py
# rm tests/test_time_series_tune_grid.py
# rm tests/test_time_series_tune_random.py
# rm tests/test_time_series_plots.py
# rm tests/test_time_series_utils_plots.py
# rm tests/benchmarks/*.py
# - name: Test with pytest
# run: pytest --durations=0
test_windows:
runs-on: windows-latest
strategy:
matrix:
python-version: [3.8, 3.9, "3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
# SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# pyLDAvis 3.3.1 having an "sklearn" dependency
run: |
$env:SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL = 'True'
python -m pip install -U pip
python -m pip install -U pytest numpy
pip install ".[full, test]"
pip install -r requirements-prophet.txt
- name: Python version and dependency list
run: |
echo "Python version expected: ${{ matrix.python-version }}"
python --version
which python
pip list
- name: Remove tests
run: |
remove-item tests/* -Include @('test_clustering.py', 'test_classification_tuning.py','test_classification_plots.py','test_regression_plots.py', 'test_regression_tuning.py', 'test_time_series_tune_grid.py', 'test_time_series_tune_random.py', 'test_create_api.py', 'test_create_docker.py', 'test_drift_report.py', 'test_eda.py', 'test_time_series_plots.py', 'test_time_series_utils_plots.py')
remove-item tests/benchmarks/*
- name: Test with pytest
run: pytest --durations=0
# test_windows_3p11:
# runs-on: windows-latest
# strategy:
# matrix:
# python-version: ["3.11"]
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# - name: Install dependencies
# # SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# # pyLDAvis 3.3.1 having an "sklearn" dependency
# run: |
# $env:SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL = 'True'
# python -m pip install -U pip
# python -m pip install -U pytest numpy
# pip install ".[full, test]"
# pip install -r requirements-prophet.txt
# - name: Python version and dependency list
# run: |
# echo "Python version expected: ${{ matrix.python-version }}"
# python --version
# which python
# pip list
# - name: Remove tests
# run: |
# remove-item tests/* -Include @('test_clustering.py', 'test_classification_tuning.py','test_classification_plots.py','test_regression_plots.py', 'test_regression_tuning.py', 'test_time_series_tune_grid.py', 'test_time_series_tune_random.py', 'test_create_api.py', 'test_create_docker.py', 'test_drift_report.py', 'test_eda.py', 'test_time_series_plots.py', 'test_time_series_utils_plots.py')
# remove-item tests/benchmarks/*
# - name: Test with pytest
# run: pytest --durations=0
test_plots:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
# SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# pyLDAvis 3.3.1 having an "sklearn" dependency
run: |
export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
python -m pip install --upgrade pip
python -m pip install -U pytest numpy
pip install ".[full, test]"
- name: Python version and dependency list
run: |
echo "Python version expected: ${{ matrix.python-version }}"
python --version
which python
pip list
- name: Remove tests
run: |
find tests -type f -not -name '__init__.py' -not -name 'test_classification_plots.py' -not -name 'test_regression_plots.py' -not -name 'conftest.py' -not -name 'time_series_test_utils.py' -not -name 'test_time_series_plots.py' -not -name 'test_time_series_utils_plots.py' -delete
- name: Test with pytest
run: pytest --durations=0
test_ts_tune_random:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
# SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# pyLDAvis 3.3.1 having an "sklearn" dependency
run: |
export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
python -m pip install -U pip
python -m pip install -U pytest numpy
pip install ".[full, test]"
if [ -f requirements-prophet.txt ]; then pip install -r requirements-prophet.txt; fi
- name: Python version and dependency list
run: |
echo "Python version expected: ${{ matrix.python-version }}"
python --version
which python
pip list
- name: Remove tests
run: |
find tests -type f -not -name '__init__.py' -not -name 'conftest.py' -not -name 'time_series_test_utils.py' -not -name 'test_time_series_tune_random.py' -delete
- name: Test with pytest
run: pytest --durations=0
test_ts_tune_grid:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
# SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# pyLDAvis 3.3.1 having an "sklearn" dependency
run: |
export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
python -m pip install -U pip
python -m pip install -U pytest numpy
pip install ".[full, test]"
if [ -f requirements-prophet.txt ]; then pip install -r requirements-prophet.txt; fi
- name: Python version and dependency list
run: |
echo "Python version expected: ${{ matrix.python-version }}"
python --version
which python
pip list
- name: Remove tests
run: |
find tests -type f -not -name '__init__.py' -not -name 'conftest.py' -not -name 'time_series_test_utils.py' -not -name 'test_time_series_tune_grid.py' -delete
- name: Test with pytest
run: pytest --durations=0
test_benchmarks:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
# SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL required due to
# pyLDAvis 3.3.1 having an "sklearn" dependency
run: |
export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
python -m pip install -U pip
python -m pip install -U pytest numpy
pip install ".[full, test]"
if [ -f requirements-prophet.txt ]; then pip install -r requirements-prophet.txt; fi
- name: Python version and dependency list
run: |
echo "Python version expected: ${{ matrix.python-version }}"
python --version
which python
pip list
- name: Run benchmarks
run: pytest tests/benchmarks --durations=0