From d061d810c6c64cf5b2e9b1851619ac1f0734c55b Mon Sep 17 00:00:00 2001 From: AJ Friend Date: Sat, 26 Oct 2024 20:16:13 -0700 Subject: [PATCH] Build 3.13 wheels (#425) * Build 3.13 wheels * bump to pypa/cibuildwheel@v2.21.3 * a few more 3.13s * uses: actions/setup-python@v5.3.0 * actions/checkout@v4.2.2 * docker/setup-qemu-action@v3.2.0 * actions/upload-artifact@v4.4.3 * actions/download-artifact@v4.1.8 * pypa/gh-action-pypi-publish@v1.10.3 * Steal from #416 * note PR --- .github/workflows/build_docs.yml | 6 +++--- .github/workflows/coverage-lint-pr.yml | 4 ++-- .github/workflows/coverage-lint.yml | 4 ++-- .github/workflows/tests.yml | 6 +++--- .github/workflows/wheels.yml | 26 ++++++++++++++++---------- CHANGELOG.md | 4 ++++ pyproject.toml | 9 +++------ 7 files changed, 33 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 328dc449d..f6c950c3b 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -11,11 +11,11 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.2.2 with: submodules: recursive - - uses: actions/setup-python@v5.0.0 + - uses: actions/setup-python@v5.3.0 with: python-version: 3.11 @@ -28,7 +28,7 @@ jobs: run: jupyter-book build docs/ --warningiserror --keep-going --all - name: Upload artifacts - uses: actions/upload-artifact@v4.3.1 + uses: actions/upload-artifact@v4.4.3 with: name: html path: docs/_build/html diff --git a/.github/workflows/coverage-lint-pr.yml b/.github/workflows/coverage-lint-pr.yml index eb689e30e..653f466a4 100644 --- a/.github/workflows/coverage-lint-pr.yml +++ b/.github/workflows/coverage-lint-pr.yml @@ -10,11 +10,11 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.2.2 with: submodules: recursive - - uses: actions/setup-python@v5.0.0 + - uses: actions/setup-python@v5.3.0 with: python-version: 3.11 diff --git a/.github/workflows/coverage-lint.yml b/.github/workflows/coverage-lint.yml index 72ef8eade..281b3bb43 100644 --- a/.github/workflows/coverage-lint.yml +++ b/.github/workflows/coverage-lint.yml @@ -10,11 +10,11 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.2.2 with: submodules: recursive - - uses: actions/setup-python@v5.0.0 + - uses: actions/setup-python@v5.3.0 with: python-version: 3.11 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8075b013b..cd4153db7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,14 +14,14 @@ jobs: strategy: matrix: os: [macos-latest, windows-latest, ubuntu-22.04] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.2.2 with: submodules: recursive - - uses: actions/setup-python@v5.0.0 + - uses: actions/setup-python@v5.3.0 with: python-version: '${{ matrix.python-version }}' diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 659a1939c..c70b89154 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -23,12 +23,12 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.2.2 with: submodules: recursive - name: Setup Python - uses: actions/setup-python@v5.0.0 + uses: actions/setup-python@v5.3.0 with: python-version: 3.11 @@ -48,7 +48,7 @@ jobs: run: pytest - name: Upload artifacts to GitHub - uses: actions/upload-artifact@v4.3.1 + uses: actions/upload-artifact@v4.4.3 with: name: temp_result_sdist path: ./dist @@ -90,6 +90,9 @@ jobs: - os: ubuntu-22.04 build: 'cp312-musllinux_x86_64' name: Linux Intel musl 64-bit 3.12 + - os: ubuntu-22.04 + build: 'cp313-musllinux_x86_64' + name: Linux Intel musl 64-bit 3.13 - os: ubuntu-22.04 build: 'cp38-manylinux_aarch64' @@ -106,9 +109,12 @@ jobs: - os: ubuntu-22.04 build: 'cp312-manylinux_aarch64' name: Linux Aarch64 3.12 + - os: ubuntu-22.04 + build: 'cp313-manylinux_aarch64' + name: Linux Aarch64 3.13 steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.2.2 with: submodules: recursive @@ -124,11 +130,11 @@ jobs: - name: Set up QEMU if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v3.0.0 + uses: docker/setup-qemu-action@v3.2.0 with: platforms: aarch64 - - uses: pypa/cibuildwheel@v2.17.0 + - uses: pypa/cibuildwheel@v2.21.3 env: CIBW_TEST_REQUIRES: pytest pytest-cov numpy CIBW_TEST_COMMAND: pytest {project}/tests @@ -140,7 +146,7 @@ jobs: pipx run twine check wheelhouse/* - name: Upload artifacts to GitHub - uses: actions/upload-artifact@v4.3.1 + uses: actions/upload-artifact@v4.4.3 with: name: temp_result_${{ matrix.os }}-${{ strategy.job-index }} path: wheelhouse/*.whl @@ -150,7 +156,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Merge Artifacts - uses: actions/upload-artifact/merge@v4 + uses: actions/upload-artifact/merge@v4.4.3 with: name: wheels_and_sdist pattern: temp_result_* @@ -164,11 +170,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v4.1.7 + - uses: actions/download-artifact@v4.1.8 with: name: wheels_and_sdist path: dist - - uses: pypa/gh-action-pypi-publish@v1.8.14 + - uses: pypa/gh-action-pypi-publish@v1.10.3 with: password: ${{ secrets.pypi_password }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 449d14c18..8ec73962c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ avoid adding features or APIs which do not map onto the None. +## [4.1.2] - 2024-10-26 + +- Build Python 3.13 wheels (#425) + ## [4.1.1] - 2024-10-13 - Make sure docs and PyPI page are up-to-date. diff --git a/pyproject.toml b/pyproject.toml index a07440f32..4f5f94e0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = 'scikit_build_core.build' [project] name = 'h3' -version = '4.1.1' +version = '4.1.2' description = "Uber's hierarchical hexagonal geospatial indexing system" readme = 'readme.md' license = {file = 'LICENSE'} @@ -30,6 +30,7 @@ classifiers = [ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Operating System :: MacOS :: MacOS X', 'Operating System :: POSIX :: Linux', 'Operating System :: Microsoft :: Windows', @@ -48,8 +49,8 @@ Changelog = 'https://package.readthedocs.io/en/latest/changelog.html' numpy = ['numpy'] test = ['pytest', 'pytest-cov', 'flake8', 'pylint', 'numpy'] all = [ + 'h3[test]', 'jupyter-book', - 'flake8', 'sphinx>=7.3.3', # https://github.com/sphinx-doc/sphinx/issues/12290 'jupyterlab', 'jupyterlab-geojson', @@ -59,10 +60,6 @@ all = [ 'contextily', 'cartopy', 'geoviews', - 'numpy', - 'pytest', - 'pytest-cov', - 'pylint', ] [tool.pytest.ini_options]