From 7ec538d43a6a169ed88a1e8aecdc76c310433a6c Mon Sep 17 00:00:00 2001 From: raphaelreinauer Date: Thu, 30 May 2024 09:22:56 +0200 Subject: [PATCH 1/2] Add Python 3.12 --- .github/workflows/ci.yml | 4 ++-- .github/workflows/wheels.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 19575f5..11ba58c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: [3.7, 3.8, 3.9, '3.10'] + python-version: [3.8, 3.9, '3.10', '3.11', '3.12'] include: - os: ubuntu-latest path: ~/.cache/pip @@ -24,7 +24,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 - name: Install Python-${{ matrix.python-version }} + name: Install Python-${{ matrix.python-version }} with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index f62ab17..4a07e09 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -20,9 +20,9 @@ jobs: env: # Specify which Python versions to build wheels # https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip - CIBW_BUILD: "cp37-* cp38-* cp39-* cp310-* cp311-*" - # Skip 32 bit architectures, musllinux, and i686, and macOS x86_64 wheels for CP3.8 -- CP3.11 - CIBW_SKIP: "*-win32 *-musllinux_x86_64 *_i686 cp38-macosx_x86_64 cp39-macosx_x86_64 cp310-macosx_x86_64 cp311-macosx_x86_64" + CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-* cp312-*" + # Skip 32 bit architectures, musllinux, and i686, and macOS x86_64 wheels for CP3.8 -- CP3.12 + CIBW_SKIP: "*-win32 *-musllinux_x86_64 *_i686 cp38-macosx_x86_64 cp39-macosx_x86_64 cp310-macosx_x86_64 cp311-macosx_x86_64 cp312-macosx_x86_64" CIBW_BEFORE_BUILD_WINDOWS: python -m pip install cmake && python -m pip install --upgrade pip setuptools && sed -i $'s/\r$//' README.rst && python -m pip install delvewheel CIBW_BEFORE_BUILD_LINUX: python -m pip install cmake && python -m pip install --upgrade pip setuptools CIBW_BEFORE_BUILD_MACOS: python -m pip install cmake && python -m pip install --upgrade pip setuptools @@ -30,7 +30,7 @@ jobs: CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -vv -w {dest_dir} {wheel}" CIBW_TEST_REQUIRES: pytest hypothesis CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - # Should generate universal2 wheels for CP3.8 -- CP3.11 + # Should generate universal2 wheels for CP3.8 -- CP3.12 CIBW_ARCHS_MACOS: x86_64 universal2 - uses: actions/upload-artifact@v2 From 2326904f2808fc22711345b5540bc8419725bf7f Mon Sep 17 00:00:00 2001 From: raphaelreinauer Date: Thu, 30 May 2024 09:34:25 +0200 Subject: [PATCH 2/2] chore: Update Python version support to include 3.12 --- .github/workflows/wheels.yml | 6 +++--- README.rst | 2 +- setup.py | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index f8c7890..3fca96a 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -20,9 +20,9 @@ jobs: env: # Specify which Python versions to build wheels # https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip - CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-*" - # Skip 32 bit architectures, musllinux, and i686, and macOS x86_64 wheels for CP3.8 -- CP3.11 - CIBW_SKIP: "*-win32 *-musllinux_x86_64 *_i686 cp38-macosx_x86_64 cp39-macosx_x86_64 cp310-macosx_x86_64 cp311-macosx_x86_64" + CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-* cp312-*" + # Skip 32 bit architectures, musllinux, and i686, and macOS x86_64 wheels for CP3.8 -- CP3.12 + CIBW_SKIP: "*-win32 *-musllinux_x86_64 *_i686 cp38-macosx_x86_64 cp39-macosx_x86_64 cp310-macosx_x86_64 cp311-macosx_x86_64 cp312-macosx_x86_64" CIBW_BEFORE_BUILD_WINDOWS: sed -i $'s/\r$//' README.rst && python -m pip install delvewheel CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -vv -w {dest_dir} {wheel}" CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 diff --git a/README.rst b/README.rst index 01db489..f5dc99e 100644 --- a/README.rst +++ b/README.rst @@ -34,7 +34,7 @@ Dependencies ``pyflagser`` requires: -- Python (>= 3.7) +- Python (>= 3.8) - NumPy (>= 1.17.0) - SciPy (>= 0.17.0) diff --git a/setup.py b/setup.py index ece1973..5a1407d 100755 --- a/setup.py +++ b/setup.py @@ -49,7 +49,8 @@ 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11'] + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12'] KEYWORDS = 'topological data analysis, persistent ' + \ 'homology, directed flags complex, persistence diagrams' INSTALL_REQUIRES = requirements