Skip to content

Commit

Permalink
Python 3.11 Support (#524)
Browse files Browse the repository at this point in the history
* First pass at Python 3.11 support

* Update 'whats new'

* Update build_requirements for different python versions

* Fix docs

* Empty commit for CI

* Use lowest supported numpy (==) for building instead of max compatible (~=)

* Make min numpy 1.21.3

* Use lowest supported version of scipy when building

* More scipy hackery

* https://github.com/scipy/scipy/blob/26a77da3a4ca126a943a331c1aa6ef3915b0d501/pyproject.toml#L41

* More scipy hackery

* Typos

* More typos
  • Loading branch information
aaronreidsmith authored Nov 3, 2022
1 parent f999f87 commit afd2fac
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 6 deletions.
27 changes: 27 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,15 @@ jobs:
- checkout
- build-test-and-persist:
pythonversion: "3.10"

test-unit-cpython311:
machine:
image: ubuntu-2004:202111-02
working_directory: ~/pmdarima
steps:
- checkout
- build-test-and-persist:
pythonversion: "3.11"
# --- /Unit tests ---

build-doc:
Expand Down Expand Up @@ -241,6 +250,16 @@ jobs:
key: "3.10"
- deploy-to-pypi

deploy-cpython311-whl:
machine:
image: ubuntu-2004:202111-02
working_directory: ~/pmdarima
steps:
- checkout
- restore-whl-file:
key: "3.11"
- deploy-to-pypi

# For documentation deployment. You'll need the following environment vars
# in your Circle CI settings, otherwise this will not work.
#
Expand Down Expand Up @@ -276,6 +295,8 @@ workflows:
filters: *test-filters
- test-unit-cpython310:
filters: *test-filters
- test-unit-cpython311:
filters: *test-filters
- build-doc:
filters: *test-filters
- testing-passed:
Expand All @@ -285,6 +306,7 @@ workflows:
- test-unit-cpython38
- test-unit-cpython39
- test-unit-cpython310
- test-unit-cpython311
- build-doc
filters: *test-filters

Expand Down Expand Up @@ -314,3 +336,8 @@ workflows:
filters: *deploy-filters
requires:
- deploy-doc

- deploy-cpython311-whl:
filters: *deploy-filters
requires:
- deploy-doc
2 changes: 1 addition & 1 deletion .github/workflows/build_and_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
build-and-deploy:
strategy:
matrix:
python3-minor-version: [7, 8, 9, 10]
python3-minor-version: [7, 8, 9, 10, 11]
os: [macos-latest, ubuntu-latest, windows-latest]
defaults:
run:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly_cron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ jobs:
fail-fast: false
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
python-version: ['3.10']
python-executable: ['cp310']
python-version: ['3.11']
python-executable: ['cp311']
defaults:
run:
shell: bash
Expand Down
11 changes: 9 additions & 2 deletions build_tools/build_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
numpy~=1.21.2
scipy>=1.3.2
numpy==1.21.2; python_version < '3.10'
numpy==1.21.6; python_version == '3.10' and platform_system != 'Windows'
numpy==1.22.3; python_version == '3.10' and platform_system == 'Windows'
numpy==1.23.2; python_version >= '3.11'
scipy==1.3.2; python_version <= '3.8' and platform_machine != 'aarch64'
scipy==1.5.3; python_version <= '3.8' and platform_machine == 'aarch64'
scipy==1.5.4; python_version == '3.9'
scipy==1.7.2; python_version == '3.10'
scipy==1.9.3; python_version == '3.11'
cython>=0.29,!=0.29.18,!=0.29.31
scikit-learn>=0.22
pandas>=0.19
Expand Down
6 changes: 6 additions & 0 deletions doc/whats_new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ What's new in pmdarima
As new releases of pmdarima are pushed out, the following list (introduced in
v0.8.1) will document the latest features.

`v2.0.2 <http://alkaline-ml.com/pmdarima/2.0.2>`_
-------------------------------------------------

* Add support for Python 3.11
* Change minimum numpy version to ``1.21.2``

`v2.0.1 <http://alkaline-ml.com/pmdarima/2.0.1>`_
-------------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
joblib>=0.11
Cython>=0.29,!=0.29.18,!=0.29.31
numpy>=1.21
numpy>=1.21.2
pandas>=0.19
scikit-learn>=0.22
scipy>=1.3.2
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,7 @@ def do_setup():
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
('Programming Language :: Python :: '
'Implementation :: CPython'),
],
Expand Down

0 comments on commit afd2fac

Please sign in to comment.