Skip to content

Commit 466edb7

Browse files
authored
Add Python 3.11 support (#4490)
* add Python 3.11 support Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * install higher version of numpy for 3.11 Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * typo Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * use 3.11 instead of 3.11-dev Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * cp311-cp311 Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * specify requirement for 3.11 Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * different mini numpy requirement Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * only keep Windows Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * typo Signed-off-by: jcwchen <jacky82226@gmail.com> * add 3.7m back Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> * remove comma Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> Signed-off-by: Chun-Wei Chen <jacky82226@gmail.com> Signed-off-by: jcwchen <jacky82226@gmail.com>
1 parent 46334f8 commit 466edb7

7 files changed

Lines changed: 22 additions & 11 deletions

File tree

‎.github/workflows/manylinux/entrypoint.sh‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ if [ "$(uname -m)" == "aarch64" ]; then
1515
PIP_INSTALL_COMMAND="$PY_VERSION -m pip install --no-cache-dir -q"
1616
PYTHON_COMMAND="$PY_VERSION"
1717
else
18-
declare -A python_map=( ["3.7"]="cp37-cp37m" ["3.8"]="cp38-cp38" ["3.9"]="cp39-cp39" ["3.10"]="cp310-cp310")
19-
declare -A python_include=( ["3.7"]="3.7m" ["3.8"]="3.8" ["3.9"]="3.9" ["3.10"]="3.10")
18+
declare -A python_map=( ["3.7"]="cp37-cp37m" ["3.8"]="cp38-cp38" ["3.9"]="cp39-cp39" ["3.10"]="cp310-cp310" ["3.11"]="cp311-cp311")
19+
declare -A python_include=( ["3.7"]="3.7m" ["3.8"]="3.8" ["3.9"]="3.9" ["3.10"]="3.10" ["3.11"]="3.11")
2020
PY_VER=${python_map[$PY_VERSION]}
2121
PIP_INSTALL_COMMAND="/opt/python/${PY_VER}/bin/pip install --no-cache-dir -q"
2222
PYTHON_COMMAND="/opt/python/${PY_VER}/bin/python"

‎.github/workflows/release_linux_aarch64.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
matrix:
1919
# the different python versions for building wheels
20-
python-version: [cp37-cp37m, cp38-cp38, cp39-cp39, cp310-cp310]
20+
python-version: [cp37-cp37m, cp38-cp38, cp39-cp39, cp310-cp310, cp311-cp311]
2121
env:
2222
# setting up python and docker image
2323
py: /opt/python/${{ matrix.python-version }}/bin/python
@@ -112,6 +112,7 @@ jobs:
112112
deactivate'
113113
114114
- name: Verify ONNX with ONNX Runtime PyPI package
115+
if: matrix.python-version != 'cp311-cp311'
115116
run: |
116117
docker run --rm -v ${{ github.workspace }}:/ws:rw --workdir=/ws \
117118
${{ env.img }} \

‎.github/workflows/release_linux_x86_64.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
strategy:
1818
matrix:
19-
python-version: ['3.7', '3.8', '3.9', '3.10']
19+
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
2020
architecture: ['x64']
2121

2222
steps:
@@ -87,6 +87,7 @@ jobs:
8787
pytest
8888
8989
- name: Verify ONNX with ONNX Runtime PyPI package
90+
if: matrix.python-version != '3.11'
9091
run: |
9192
python -m pip install -q onnxruntime
9293
python onnx/test/test_with_ort.py

‎.github/workflows/release_mac.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
runs-on: macos-latest
2121
strategy:
2222
matrix:
23-
python-version: ['3.7', '3.8', '3.9', '3.10']
23+
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
2424
host-architecture: ['x64']
2525
target-architecture: ['x86_64', 'universal2']
2626

@@ -103,6 +103,7 @@ jobs:
103103
pytest
104104
105105
- name: Verify ONNX with ONNX Runtime PyPI package
106+
if: matrix.python-version != '3.11'
106107
run: |
107108
python -m pip install -q onnxruntime
108109
python onnx/test/test_with_ort.py

‎.github/workflows/release_win.yml‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ jobs:
1616
runs-on: windows-latest
1717
strategy:
1818
matrix:
19-
# TODO: Freeze as 3.10.5 for now; Follow-up this issue by https://github.com/actions/setup-python/issues/481
20-
python-version: ['3.7', '3.8', '3.9', '3.10.5']
19+
# TODO: Freeze as 3.10.5 for now and use the latest 3.10 after future numpy upgrade in ONNX;
20+
# related issue: https://github.com/actions/setup-python/issues/481
21+
python-version: ['3.7', '3.8', '3.9', '3.10.5', '3.11']
2122
architecture: ['x64', 'x86']
2223
steps:
2324
- name: Checkout ONNX
@@ -93,12 +94,16 @@ jobs:
9394
python -m pip uninstall -y numpy onnx && python -m pip install numpy
9495
Get-ChildItem -Path dist/*.whl | foreach {python -m pip install --upgrade $_.fullname}
9596
pytest
96-
97+
# TODO: Remove one if condition after using consistent NumPy version for all Python versions
9798
- name: Verify ONNX with the minimum supported numpy (from requirements.txt)
9899
if: ${{ always() }}
99100
run: |
100101
cd onnx
101-
python -m pip uninstall -y numpy onnx && python -m pip install numpy==1.16.6
102+
if ('${{ matrix.python-version }}' -eq '3.11') {
103+
python -m pip uninstall -y numpy onnx && python -m pip install numpy==1.23.2
104+
} else {
105+
python -m pip uninstall -y numpy onnx && python -m pip install numpy==1.16.6
106+
}
102107
Get-ChildItem -Path dist/*.whl | foreach {python -m pip install --upgrade $_.fullname}
103108
pytest
104109
@@ -119,6 +124,7 @@ jobs:
119124
pytest
120125
121126
- name: Verify ONNX with ONNX Runtime PyPI package
127+
if: matrix.python-version != '3.11'
122128
run: |
123129
python -m pip install -q onnxruntime
124130
python onnx\onnx\test\test_with_ort.py

‎.github/workflows/win_no_exception_ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: windows-latest
1212
strategy:
1313
matrix:
14-
python-version: ['3.7', '3.8', '3.9', '3.10']
14+
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
1515
architecture: ['x64']
1616
steps:
1717
- name: Checkout ONNX

‎requirements-release.txt‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
numpy == 1.21.5
1+
2+
numpy==1.23.2; python_version >= "3.11"
3+
numpy==1.21.5; python_version < "3.11"
24
protobuf == 3.20.2
35
pytest
46
nbval

0 commit comments

Comments
 (0)