diff --git a/.circleci/config.yml b/.circleci/config.yml index e2e06bc24..66857fb59 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -81,7 +81,7 @@ commands: -v `pwd`:/app \ -w /app \ --env-file vars.env \ - python:3.7 \ + python:3.9 \ ./build_tools/circle/deploy.sh jobs: @@ -94,7 +94,7 @@ jobs: # larger unit tests, and to avoid multiple setup steps that can slow the pipeline down test-sanity: docker: - - image: python:3.7 + - image: python:3.9 working_directory: ~/pmdarima steps: - checkout @@ -130,26 +130,6 @@ jobs: python -c 'import pmdarima as pm; print(pm.__version__)' # --- Unit tests --- - # These are all executed on `machine` executors, since they require DinD to build the whl - # files and perform the whl repair for manylinux support. - test-unit-cpython37: - machine: - image: ubuntu-2004:202111-02 - working_directory: ~/pmdarima - steps: - - checkout - - build-test-and-persist: - pythonversion: "3.7" - - test-unit-cpython38: - machine: - image: ubuntu-2004:202111-02 - working_directory: ~/pmdarima - steps: - - checkout - - build-test-and-persist: - pythonversion: "3.8" - test-unit-cpython39: machine: image: ubuntu-2004:202111-02 @@ -219,16 +199,6 @@ jobs: # # ############################################ - deploy-cpython37-whl: - machine: - image: ubuntu-2004:202111-02 - working_directory: ~/pmdarima - steps: - - checkout - - restore-whl-file: - key: "3.7" - - deploy-to-pypi - deploy-cpython38-whl: machine: image: ubuntu-2004:202111-02 @@ -287,7 +257,7 @@ jobs: # GH_TOKEN (the personal Git token with pushes enabled) deploy-doc: docker: - - image: python:3.7 + - image: python:3.9 working_directory: ~/pmdarima steps: - checkout @@ -306,10 +276,6 @@ workflows: # run on test and tag - test-sanity: filters: *test-filters - - test-unit-cpython37: - filters: *test-filters - - test-unit-cpython38: - filters: *test-filters - test-unit-cpython39: filters: *test-filters - test-unit-cpython310: @@ -323,8 +289,6 @@ workflows: - testing-passed: requires: - test-sanity - - test-unit-cpython37 - - test-unit-cpython38 - test-unit-cpython39 - test-unit-cpython310 - test-unit-cpython311 @@ -339,16 +303,6 @@ workflows: - testing-passed filters: *test-filters - - deploy-cpython37-whl: - filters: *deploy-filters - requires: - - deploy-doc - - - deploy-cpython38-whl: - filters: *deploy-filters - requires: - - deploy-doc - - deploy-cpython39-whl: filters: *deploy-filters requires: diff --git a/.github/workflows/build_and_deploy.yml b/.github/workflows/build_and_deploy.yml index 7e20b6397..5f90ff612 100644 --- a/.github/workflows/build_and_deploy.yml +++ b/.github/workflows/build_and_deploy.yml @@ -20,7 +20,7 @@ jobs: build-and-deploy: strategy: matrix: - python3-minor-version: [7, 8, 9, 10, 11, 12] + python3-minor-version: [9, 10, 11] # TODO: Figure out macos-14/macos-latest os: [macos-13, ubuntu-latest, windows-latest] defaults: diff --git a/README.md b/README.md index 7ba1456ff..09a68c6a2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![CircleCI](https://circleci.com/gh/alkaline-ml/pmdarima.svg?style=svg)](https://circleci.com/gh/alkaline-ml/pmdarima) [![Github Actions Status](https://github.com/alkaline-ml/pmdarima/workflows/Mac%20and%20Windows%20Builds/badge.svg?branch=master)](https://github.com/alkaline-ml/pmdarima/actions?query=workflow%3A%22Mac+and+Windows+Builds%22+branch%3Amaster) [![codecov](https://codecov.io/gh/alkaline-ml/pmdarima/branch/master/graph/badge.svg)](https://codecov.io/gh/alkaline-ml/pmdarima) -![Supported versions](https://img.shields.io/badge/python-3.7+-blue.svg) +![Supported versions](https://img.shields.io/badge/python-3.9+-blue.svg) ![Downloads](https://img.shields.io/badge/dynamic/json?color=blue&label=downloads&query=%24.total&url=https%3A%2F%2Fstore.zapier.com%2Fapi%2Frecords%3Fsecret%3D1e061b29db6c4f15af01103d403b0237) ![Downloads/Week](https://img.shields.io/badge/dynamic/json?color=blue&label=downloads%2Fweek&query=%24.weekly&url=https%3A%2F%2Fstore.zapier.com%2Fapi%2Frecords%3Fsecret%3D1e061b29db6c4f15af01103d403b0237) @@ -118,7 +118,7 @@ with open('model.pkl', 'rb') as pkl: ### Availability -`pmdarima` is available on PyPi in pre-built Wheel files for Python 3.7+ for the following platforms: +`pmdarima` is available on PyPi in pre-built Wheel files for Python 3.9+ for the following platforms: * Mac (64-bit) * Linux (64-bit manylinux) diff --git a/build_tools/circle/build_wheel.sh b/build_tools/circle/build_wheel.sh index 8785a1745..4e28b1df6 100755 --- a/build_tools/circle/build_wheel.sh +++ b/build_tools/circle/build_wheel.sh @@ -9,9 +9,7 @@ function build_wheel { # https://www.python.org/dev/peps/pep-0513/#ucs-2-vs-ucs-4-builds ucs_tag="" - if [ "$pyver" = "3.7" ]; then - ucs_tag="m" - elif [ "$ucs_setting" = "ucs4" ]; then + if [ "$ucs_setting" = "ucs4" ]; then ucs_tag="${ucs_tag}u" fi diff --git a/doc/whats_new.rst b/doc/whats_new.rst index 43daa830e..802866304 100644 --- a/doc/whats_new.rst +++ b/doc/whats_new.rst @@ -11,6 +11,8 @@ v0.8.1) will document the latest features. ------------------------------------------------- * Pin numpy to ``<2.0.0`` while work is done to support numpy ``>=2.0.0`` +* Remove support for Python 3.7 (end-of-life 2023-06-23) +* Remove support for Python 3.8 (end-of-life 2024-10-07) `v2.0.3 `_ ------------------------------------------------- diff --git a/setup.py b/setup.py index 1d82068d6..3ce14cb42 100644 --- a/setup.py +++ b/setup.py @@ -20,8 +20,8 @@ import builtins # Minimum allowed version -MIN_PYTHON = (3, 7) IS_PYTHON_312 = sys.version_info[0] == 3 and sys.version_info[1] >= 12 +MIN_PYTHON = (3, 9) # Hacky (!!), adopted from sklearn. This sets a global variable # so pmdarima __init__ can detect if it's being loaded in the setup @@ -239,7 +239,6 @@ def do_setup(): 'Operating System :: Unix', 'Operating System :: MacOS', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10',