diff --git a/.github/workflows/branchbuild.yml b/.github/workflows/branchbuild.yml index d6fe4a8f..6eb53953 100644 --- a/.github/workflows/branchbuild.yml +++ b/.github/workflows/branchbuild.yml @@ -18,7 +18,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install numpy rapidfuzz_capi Cython==3.0.0b2 + pip install numpy rapidfuzz_capi Cython==3.0.3 - name: Generate cython run: | diff --git a/.github/workflows/releasebuild.yml b/.github/workflows/releasebuild.yml index ff1c3969..8266e4de 100644 --- a/.github/workflows/releasebuild.yml +++ b/.github/workflows/releasebuild.yml @@ -22,7 +22,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install pytest hypothesis pandas mypy rapidfuzz_capi Cython==3.0.0b2 + pip install pytest hypothesis pandas mypy rapidfuzz_capi Cython==3.0.3 # The cythonized files allow installation from the sdist without cython - name: Generate cython @@ -60,7 +60,7 @@ jobs: fail-fast: false matrix: arch: [auto32, auto64, ARM64] - python_tag: ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "pp37-*", "pp38-*", "pp39-*"] + python_tag: ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*", "pp37-*", "pp38-*", "pp39-*"] exclude: # PyPy only supports x86_64 on Windows - arch: auto32 @@ -101,7 +101,7 @@ jobs: - uses: actions/setup-python@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.12.1 + uses: pypa/cibuildwheel@v2.15.0 with: package-dir: rapidfuzz.tar.gz output-dir: wheelhouse @@ -119,7 +119,7 @@ jobs: fail-fast: false matrix: arch: [x86_64, arm64, universal2] - python_tag: ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "pp37-*", "pp38-*", "pp39-*"] + python_tag: ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*", "pp37-*", "pp38-*", "pp39-*"] exclude: # MacOS Arm only supported since Python 3.8 - arch: arm64 @@ -160,7 +160,7 @@ jobs: run: cp dist/*.tar.gz rapidfuzz.tar.gz - name: Build wheels - uses: pypa/cibuildwheel@v2.12.1 + uses: pypa/cibuildwheel@v2.15.0 with: package-dir: rapidfuzz.tar.gz output-dir: wheelhouse @@ -178,7 +178,7 @@ jobs: fail-fast: false matrix: arch: [auto, aarch64, ppc64le, s390x] - python_tag: ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "pp37-*", "pp38-*", "pp39-*"] + python_tag: ["cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*", "pp37-*", "pp38-*", "pp39-*"] exclude: # PyPy builds not available for these platforms - arch: ppc64le @@ -217,7 +217,7 @@ jobs: name: Set up QEMU - name: Build wheel - uses: pypa/cibuildwheel@v2.12.1 + uses: pypa/cibuildwheel@v2.15.0 with: package-dir: rapidfuzz.tar.gz output-dir: wheelhouse diff --git a/pyproject.toml b/pyproject.toml index 7c6e292b..d76460bb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ requires = [ "setuptools>=42", "scikit-build~=0.17.0", - "Cython==3.0.0b2" + "Cython==3.0.3" ] build-backend = "backend" backend-path = ["_custom_build"] diff --git a/setup.py b/setup.py index 16d6d6c9..eafe043a 100644 --- a/setup.py +++ b/setup.py @@ -29,6 +29,7 @@ def show_message(*lines): "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "License :: OSI Approved :: MIT License", ], "packages": ["rapidfuzz", "rapidfuzz.distance", "rapidfuzz.__pyinstaller"], diff --git a/src/rapidfuzz/distance/metrics_cpp.pyx b/src/rapidfuzz/distance/metrics_cpp.pyx index 3d4940bf..0a89219b 100644 --- a/src/rapidfuzz/distance/metrics_cpp.pyx +++ b/src/rapidfuzz/distance/metrics_cpp.pyx @@ -289,7 +289,7 @@ def levenshtein_opcodes(s1, s2, *, processor=None, score_hint=None): ops.editops = levenshtein_editops_func(s1_proc.string, s2_proc.string, c_score_hint) return ops.as_opcodes() -cdef void KwargsDeinit(RF_Kwargs* self): +cdef void KwargsDeinit(RF_Kwargs* self) noexcept: free(self.context) cdef bool LevenshteinKwargsInit(RF_Kwargs* self, dict kwargs) except False: diff --git a/tools/sdist.patch b/tools/sdist.patch index 3c4a652d..9999cd7d 100644 --- a/tools/sdist.patch +++ b/tools/sdist.patch @@ -7,7 +7,7 @@ index 77671b1..7692f90 100644 requires = [ "setuptools>=42", - "scikit-build~=0.17.0", -- "Cython==3.0.0b2" +- "Cython==3.0.3" + "scikit-build~=0.17.0" ] build-backend = "backend"