From e65d4019c8b7e63dd366e60f946ceb90f4c200ed Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 15:54:44 +0200 Subject: [PATCH 01/11] Deprecated free-threaded-support option in cibuildwheel. This is now handled via explicit enable option. See https://github.com/pypa/cibuildwheel/pull/2048 --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d8763bb..daab395 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,6 @@ build = "*" # No rust on musllinux skip = "pp* cp36* cp37* cp38* *-musllinux_i686" test-skip = "" -free-threaded-support = false archs = ["native"] From c6b0d3e7b57f51e10eb389e36c5190c2a5350d73 Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 16:48:59 +0200 Subject: [PATCH 02/11] upgrade pyo3 version to 0.29.0 --- Cargo.lock | 63 +++++++++++------------------------------------------- Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 52 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2ad1e1e..7e01bc0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,45 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "indoc" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" - [[package]] name = "libc" version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -64,37 +37,32 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.24.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219" +checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c" dependencies = [ - "cfg-if", - "indoc", "libc", - "memoffset", "once_cell", "portable-atomic", "pyo3-build-config", "pyo3-ffi", "pyo3-macros", - "unindent", ] [[package]] name = "pyo3-build-config" -version = "0.24.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999" +checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078" dependencies = [ - "once_cell", "target-lexicon", ] [[package]] name = "pyo3-ffi" -version = "0.24.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33" +checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b" dependencies = [ "libc", "pyo3-build-config", @@ -102,9 +70,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.24.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9" +checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -114,13 +82,12 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.24.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a" +checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362" dependencies = [ "heck", "proc-macro2", - "pyo3-build-config", "quote", "syn", ] @@ -161,9 +128,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.13.2" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" [[package]] name = "tinyvec" @@ -204,9 +171,3 @@ checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] - -[[package]] -name = "unindent" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" diff --git a/Cargo.toml b/Cargo.toml index cdb580a..2ee3b43 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ edition = "2018" tokenizations = "0.4.2" [dependencies.pyo3] -version = "^0.24.0" +version = "^0.29.0" features = ["extension-module"] [lib] From 8880a23000e53b58594defadf4506db2f6a72882 Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 17:15:52 +0200 Subject: [PATCH 03/11] add Python 3.14 to GitHub workflow "tests" --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b82c591..1fd19a7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,7 +23,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python_version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] runs-on: ${{ matrix.os }} steps: From b92d734c8cd8bbc6ae6fea244d43e56233f7188f Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 17:16:08 +0200 Subject: [PATCH 04/11] disable repo owner check in workflow "tests" --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1fd19a7..ca35af4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ env: jobs: tests: name: Test - if: github.repository_owner == 'explosion' + # if: github.repository_owner == 'explosion' strategy: fail-fast: false matrix: From a3b55f421ca10dc9cc1c75e2a3b889102798ad33 Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 18:45:53 +0200 Subject: [PATCH 05/11] fix setup.cfg and license warning fix python3.13 (was 3.12 twice) add python3.14 bump to python_requires <3.15 --- setup.cfg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 743f666..93edf1e 100755 --- a/setup.cfg +++ b/setup.cfg @@ -14,7 +14,6 @@ classifiers = Intended Audience :: Science/Research Topic :: Scientific/Engineering Topic :: Scientific/Engineering :: Artificial Intelligence - License :: OSI Approved :: MIT License Operating System :: POSIX :: Linux Operating System :: MacOS :: MacOS X Operating System :: Microsoft :: Windows @@ -25,12 +24,13 @@ classifiers = Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 + Programming Language :: Python :: 3.14 [options] zip_safe = false include_package_data = true -python_requires = >=3.9,<3.14 +python_requires = >=3.9,<3.15 setup_requires = setuptools-rust From 3b33ac16dd03111bbd246bedffea497d692e6746 Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 16:53:34 +0200 Subject: [PATCH 06/11] bump project version to 0.9.3 in all places --- Cargo.lock | 2 +- Cargo.toml | 2 +- setup.cfg | 2 +- setup.py | 2 +- src/lib.rs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e01bc0..8acc638 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -109,7 +109,7 @@ checksum = "e058ed56aee6d266fa5aa7809f99899b07d350c30aecd4f3d859b4f0d9dbbbdf" [[package]] name = "spacy-alignments" -version = "0.9.1" +version = "0.9.3" dependencies = [ "pyo3", "tokenizations", diff --git a/Cargo.toml b/Cargo.toml index 2ee3b43..f436a74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "spacy-alignments" -version = "0.9.1" +version = "0.9.3" authors = ["Explosion "] edition = "2018" diff --git a/setup.cfg b/setup.cfg index 93edf1e..51b927a 100755 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [metadata] -version = "0.9.2" +version = "0.9.3" description = A spaCy package for the Rust tokenizations library long_description = file: README.md long_description_content_type = text/markdown diff --git a/setup.py b/setup.py index e6d4e4c..afd3bba 100755 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="spacy-alignments", - version="0.9.2", + version="0.9.3", packages=["spacy_alignments", "spacy_alignments.tests"], rust_extensions=[RustExtension("spacy_alignments.tokenizations")], ) diff --git a/src/lib.rs b/src/lib.rs index 1b0ab65..ee3fab6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -22,7 +22,7 @@ pub fn get_charmap_py(a: String, b: String) -> PyResult<(CharMap, CharMap)> { #[pymodule] #[pyo3(name = "tokenizations")] fn tokenizations_(m: &Bound<'_, PyModule>) -> PyResult<()> { - m.add("__version__", "0.9.1")?; + m.add("__version__", "0.9.3")?; m.add_function(wrap_pyfunction!(get_alignments_py, m)?)?; m.add_function(wrap_pyfunction!(get_charmap_py, m)?)?; Ok(()) From c5de646080704e8c45975865465513faf0808dcd Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck <31383740+dsbferris@users.noreply.github.com> Date: Sun, 21 Jun 2026 16:42:25 +0200 Subject: [PATCH 07/11] Strip macos-13 runner --- .github/workflows/cibuildwheel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 1a78f89..76ae160 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: # macos-13 is an intel runner, macos-14 is apple silicon - os: [ubuntu-latest, windows-latest, macos-13, macos-14, ubuntu-24.04-arm] + os: [ubuntu-latest, windows-latest, macos-14, ubuntu-24.04-arm] steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 From 24fd10480734354e099bb546e01607097b7c9b7b Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 19:17:39 +0200 Subject: [PATCH 08/11] add typed_ast for python >= 3.14 --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 6b93003..e455e75 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ setuptools-rust pytest hypothesis>=5.3.1,<7.0.0 mypy>=0.990,<1.1.0; python_version >= "3.7" +typed-ast; python_version >= "3.14" \ No newline at end of file From ddd13ba36669eee00c3dd530c5ca25a12e065212 Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Wed, 17 Jun 2026 19:31:09 +0200 Subject: [PATCH 09/11] remove typed-ast, remove mypy constraints --- requirements.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index e455e75..1e3394e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ setuptools-rust pytest hypothesis>=5.3.1,<7.0.0 -mypy>=0.990,<1.1.0; python_version >= "3.7" -typed-ast; python_version >= "3.14" \ No newline at end of file +mypy \ No newline at end of file From c6db9bda9809302eba47ffbeb77445796a33f25d Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Sun, 21 Jun 2026 17:29:34 +0200 Subject: [PATCH 10/11] upgrade manylinux2014 to manylinux_2_28 --- pyproject.toml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index daab395..757d532 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,14 +31,14 @@ test-extras = [] container-engine = "docker" -manylinux-x86_64-image = "manylinux2014" -manylinux-i686-image = "manylinux2014" -manylinux-aarch64-image = "manylinux2014" -manylinux-ppc64le-image = "manylinux2014" -manylinux-s390x-image = "manylinux2014" -manylinux-pypy_x86_64-image = "manylinux2014" -manylinux-pypy_i686-image = "manylinux2014" -manylinux-pypy_aarch64-image = "manylinux2014" +manylinux-x86_64-image = "manylinux_2_28" +manylinux-i686-image = "manylinux_2_28" +manylinux-aarch64-image = "manylinux_2_28" +manylinux-ppc64le-image = "manylinux_2_28" +manylinux-s390x-image = "manylinux_2_28" +manylinux-pypy_x86_64-image = "manylinux_2_28" +manylinux-pypy_i686-image = "manylinux_2_28" +manylinux-pypy_aarch64-image = "manylinux_2_28" musllinux-x86_64-image = "musllinux_1_2" musllinux-i686-image = "musllinux_1_2" From 52726d4c07fa765a7682f10be7f9de268a1e330b Mon Sep 17 00:00:00 2001 From: Ferris Schwanebeck Date: Sun, 21 Jun 2026 17:30:11 +0200 Subject: [PATCH 11/11] upgrade actions --- .github/workflows/cibuildwheel.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 76ae160..c9d0cf3 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -17,9 +17,9 @@ jobs: os: [ubuntu-latest, windows-latest, macos-14, ubuntu-24.04-arm] steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Build wheels - uses: pypa/cibuildwheel@9fcee9dd00ea649310eaae4735325d2b417226ae # v2.21.3 + uses: pypa/cibuildwheel@294735312765b09d24a2fbec22660ce817587d55 # v4.1.0 env: # Set up rust CIBW_BEFORE_ALL_LINUX: curl -sSf https://sh.rustup.rs | sh -s -- -y @@ -30,7 +30,7 @@ jobs: package-dir: . output-dir: wheelhouse config-file: "{package}/pyproject.toml" - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} path: ./wheelhouse/*.whl @@ -39,11 +39,11 @@ jobs: name: Build source distribution runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Build sdist run: pipx run build --sdist - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: cibw-sdist path: dist/*.tar.gz @@ -77,7 +77,7 @@ jobs: echo "FULL_TAG=$TAG_NAME" >> $GITHUB_ENV echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV echo "IS_PRERELEASE=$IS_PRERELEASE" >> $GITHUB_ENV - - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: # unpacks all CIBW artifacts into dist/ pattern: cibw-* @@ -85,7 +85,7 @@ jobs: merge-multiple: true - name: Create Draft Release id: create_release - uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2 + uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1 if: startsWith(github.ref, 'refs/tags/') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}