Skip to content

Add python-stretch 0.3.1 - #2717

Merged
luhenry merged 3 commits into
mainfrom
python-stretch
Oct 5, 2026
Merged

luhenry merged 3 commits into
mainfrom
python-stretch

Conversation

@luhenry

@luhenry luhenry commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Compiles the nanobind bindings for the header-only Signalsmith Stretch pitch-shifting/time-stretching C++ library. Upstream publishes no riscv64 wheel.

Mirrors upstream's wheels.yml.

Differs from upstream

  • Checkout pinned to release commit ac1fbfc - upstream pushes no tags; tree matches the 0.3.1 sdist
  • Stages Signalsmith and nanobind licence files - compiled into the extension, not shipped upstream

Matrix: one cp312-abi3 wheel per libc, re-tested on cp313/cp314; no cp314t, as upstream builds no free-threaded wheel.

Testing

  • manylinux: same as upstream
  • musllinux: import and configure smoke test - no musllinux riscv64 numpy wheel exists

License: Wheel bundles Signalsmith Stretch (MIT) and nanobind (BSD-3-Clause) notices alongside the project's MIT licence.

python-stretch wraps the header-only Signalsmith Stretch C++ library with
nanobind and builds a cp312-abi3 wheel via scikit-build-core. Upstream
never tags releases, so the workflow pins the 0.3.1 release commit
ac1fbfc, whose tree (with the include/stretch submodule at ffa4598) is
byte-identical to the PyPI sdist apart from PKG-INFO.

One abi3 build per libc on cp312, re-tested on cp313/cp314. musllinux
runs a numpy-free smoke test since numpy has no musllinux riscv64 wheel.
The wheel also ships the Signalsmith (MIT) and nanobind (BSD-3-Clause)
notices for the code compiled into the extension.
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-05 08:24 UTC

Signalsmith's default preset at 44.1 kHz uses a 5292-sample block and a
1323-sample interval (input latency 2646); the first run asserted the
latency value as the interval.
The artifacts end in -manylinux_riscv64/-musllinux_riscv64, so the
'-*-riscv64' glob matched neither and the publish dry-run found no wheels.
luhenry added a commit that referenced this pull request Oct 5, 2026
@luhenry
luhenry marked this pull request as ready for review October 5, 2026 07:52
@luhenry
luhenry merged commit 18bcc2f into main Oct 5, 2026
10 checks passed
@luhenry
luhenry deleted the python-stretch branch October 5, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant