diff --git a/actions/build_macosuniversal.sh b/actions/build_macosuniversal.sh index c24e7462..0edecb4c 100755 --- a/actions/build_macosuniversal.sh +++ b/actions/build_macosuniversal.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Build universal2 wheels for Python 3.8 through Python 3.12, compatible with +# Build universal2 wheels for Python 3.8 through Python 3.13, compatible with # Mac OS X 10.9+ x86_64 and macOS 11.0+ arm64. This script must be executed with # the repository root as the working directory. # @@ -34,7 +34,7 @@ make -j $(sysctl -n hw.logicalcpu) test ##### Build iknowpy wheels ##### cd modules/iknowpy -for PYTHON in python3.{8..12}; do +for PYTHON in python3.{8..13}; do "$PYTHON" setup.py bdist_wheel --plat-name=macosx-$MACOSX_DEPLOYMENT_TARGET-universal2 --no-dependencies done "$PYTHON" setup.py merge --no-dependencies diff --git a/actions/build_manylinux.sh b/actions/build_manylinux.sh index 46d8d50f..47d04cca 100755 --- a/actions/build_manylinux.sh +++ b/actions/build_manylinux.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Build manylinux wheels for Python 3.8 through Python 3.12. This script must be +# Build manylinux wheels for Python 3.8 through Python 3.13. This script must be # executed inside a manylinux container in which /iknow is the root of the # repository. # @@ -44,7 +44,7 @@ if ! [ -f "$ICUDIR/iknow_icu_url.txt" ] || [ $(cat "$ICUDIR/iknow_icu_url.txt") curl -L -o icu4c-src.tgz "$ICU_URL" tar xfz icu4c-src.tgz cd icu/source - PYTHON=/opt/python/cp312-cp312/bin/python CXXFLAGS=-std=c++11 ./runConfigureICU Linux --prefix="$ICUDIR" + PYTHON=/opt/python/cp313-cp313/bin/python CXXFLAGS=-std=c++11 ./runConfigureICU Linux --prefix="$ICUDIR" make -j $(nproc) make install echo "$ICU_URL" > "$ICUDIR/iknow_icu_url.txt" @@ -90,7 +90,7 @@ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/iknow/kit/$IKNOWPLAT/release/bin:$ICUD # install Python package dependencies and build initial wheels chown -R root "$PIP_CACHE_DIR" -for PYTHON in /opt/python/{cp38-cp38,cp39-cp39,cp310-cp310,cp311-cp311,cp312-cp312}/bin/python +for PYTHON in /opt/python/{cp38-cp38,cp39-cp39,cp310-cp310,cp311-cp311,cp312-cp312,cp313-cp313}/bin/python do "$PYTHON" -m pip install --user cython=="$CYTHON_VERSION" setuptools wheel --no-warn-script-location "$PYTHON" setup.py bdist_wheel --no-dependencies diff --git a/actions/build_windows.sh b/actions/build_windows.sh index 120c851c..ff2f140c 100755 --- a/actions/build_windows.sh +++ b/actions/build_windows.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Build Windows x86_64 wheels for Python 3.8 through Python 3.12. This script +# Build Windows x86_64 wheels for Python 3.8 through Python 3.13. This script # must be executed with the repository root as the working directory. # # Usage: actions/build_windows.sh diff --git a/actions/dependencies.sh b/actions/dependencies.sh index 1da742ce..676f5813 100755 --- a/actions/dependencies.sh +++ b/actions/dependencies.sh @@ -15,9 +15,9 @@ ICU_URL_WIN=https://github.com/unicode-org/icu/releases/download/release-74-2/ic ICU_URL_SRC=https://github.com/unicode-org/icu/releases/download/release-74-2/icu4c-74_2-src.tgz JSON_VERSION=3.11.3 JSON_URL=https://github.com/nlohmann/json/releases/download/v3.11.3/include.zip -PYVERSIONS_WIN="3.8.10 3.9.13 3.10.11 3.11.9 3.12.5" -PYVERSIONS_MACOSUNIVERSAL="3.8.10 3.9.13 3.10.11 3.11.9 3.12.5" -PYURLS_MACOSUNIVERSAL="https://www.python.org/ftp/python/3.8.10/python-3.8.10-macos11.pkg https://www.python.org/ftp/python/3.9.13/python-3.9.13-macos11.pkg https://www.python.org/ftp/python/3.10.11/python-3.10.11-macos11.pkg https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg https://www.python.org/ftp/python/3.12.5/python-3.12.5-macos11.pkg" +PYVERSIONS_WIN="3.8.10 3.9.13 3.10.11 3.11.9 3.12.5 3.13.9" +PYVERSIONS_MACOSUNIVERSAL="3.8.10 3.9.13 3.10.11 3.11.9 3.12.5 3.13.9" +PYURLS_MACOSUNIVERSAL="https://www.python.org/ftp/python/3.8.10/python-3.8.10-macos11.pkg https://www.python.org/ftp/python/3.9.13/python-3.9.13-macos11.pkg https://www.python.org/ftp/python/3.10.11/python-3.10.11-macos11.pkg https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg https://www.python.org/ftp/python/3.12.5/python-3.12.5-macos11.pkg https://www.python.org/ftp/python/3.13.9/python-3.13.9-macos11.pkg" CCACHE_VERSION=4.10.2 CCACHE_URL=https://github.com/ccache/ccache/releases/download/v4.10.2/ccache-4.10.2-windows-x86_64.zip CYTHON_VERSION=3.0.11 diff --git a/modules/iknowpy/setup.py b/modules/iknowpy/setup.py index 9ef41a00..d73aa2be 100644 --- a/modules/iknowpy/setup.py +++ b/modules/iknowpy/setup.py @@ -87,7 +87,7 @@ def __init__(self): raise BuildError(f'Unable to parse patchelf version {p.stdout.rstrip()!r}') if version < (0, 9): raise BuildError(f'patchelf >=0.9 is needed, but found version {p.stdout.rstrip()!r}') - if platform.processor() == 'aarch64' and version < (0, 12): + if platform.processor() == 'aarch64' and version < (0, 13): # work around patchelf bug (https://github.com/NixOS/patchelf/pull/216) self._patchelf = ['patchelf', '--page-size', '65536'] else: @@ -818,6 +818,7 @@ def is_canonical_version(version): 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Programming Language :: Python :: Implementation :: CPython', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows',