From d50f6a363bf354fdf6e0220fe64d436387f615fe Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Wed, 3 Sep 2025 03:33:20 -0700 Subject: [PATCH 1/2] feat: distribute future-compatible python wheels resolves #177 --- bindings/python/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index d69acd0..8ed52de 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -17,7 +17,7 @@ crate-type = ["cdylib"] bench = false [dependencies] -pyo3 = { version = "0.26.0", features = ["extension-module"] } +pyo3 = { version = "0.26.0", features = ["extension-module", "abi3-py39"] } cpp-linter = { path = "../../cpp-linter" } tokio = "1.47.1" From 9c48a3a7612d3785c6e90b6ce9e159a6f38f3bfa Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Wed, 3 Sep 2025 04:02:26 -0700 Subject: [PATCH 2/2] uses pipx instead of uvx When validating built wheels, there's no need to checkout the repo. And, setup-uv action is not oriented for this behavior (emits useless warning about missing uv.lock file), --- .github/workflows/python-packaging.yml | 8 +++++--- cspell.config.yml | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-packaging.yml b/.github/workflows/python-packaging.yml index 78cdb03..3f50655 100644 --- a/.github/workflows/python-packaging.yml +++ b/.github/workflows/python-packaging.yml @@ -183,12 +183,14 @@ jobs: pattern: wheels-* path: dist merge-multiple: true - - name: Install uv + - name: Setup Python if: ${{ !startsWith(github.ref, 'refs/tags/') }} - uses: astral-sh/setup-uv@v6 + uses: actions/setup-python@v5 + with: + python-version: 3.x - name: Check distributions if: ${{ !startsWith(github.ref, 'refs/tags/') }} - run: uvx twine check dist/* + run: pipx run twine check dist/* - name: Publish to PyPI if: startsWith(github.ref, 'refs/tags/') uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc diff --git a/cspell.config.yml b/cspell.config.yml index 38d900e..bc97ce8 100644 --- a/cspell.config.yml +++ b/cspell.config.yml @@ -70,6 +70,7 @@ words: - patchelf - peaceiris - peekable + - pipx - pkgs - posargs - positionals