Skip to content

shazamio-core: Add version 1.2.0 - #3058

Draft
luhenry wants to merge 1 commit into
mainfrom
shazamio-core
Draft

luhenry wants to merge 1 commit into
mainfrom
shazamio-core

Conversation

@luhenry

@luhenry luhenry commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Compiles a PyO3/maturin Rust audio-fingerprinting extension (a local fingerprinting/decoding library, not a Shazam API client - rodio/symphonia decode locally, pure Rust, no git or -sys dependencies). Upstream publishes no riscv64 wheel.

Mirrors the linux job of upstream's ci.yaml.

Differs from upstream

  • Rust toolchain installed in-container via CIBW_BEFORE_ALL_LINUX - upstream declares no [tool.cibuildwheel].
  • Built once as cp310-abi3, re-tested on cp311-cp314 via cibuildwheel's find_compatible_wheel, since pyo3's abi3-py310 feature is unconditional.

Matrix: cp310-abi3 only - upstream also ships PyPy (pp311) wheels, which this repo does not build.

Testing

  • same as upstream (pip install . pytest pytest-asyncio && pytest); the suite's ffmpeg fallback path is disabled by an empty PATH, same as upstream's own fixture.

License: OK - MIT.

No local rehearsal: disk is tight on this host, so the riscv64 CI runner does the real build.

Pure-Rust PyO3/maturin audio-fingerprinting extension: a clean-room local
fingerprinting/decoding implementation, not a Shazam API client. Cargo.lock
has zero git dependencies and zero -sys crates needing system libraries;
rodio's codec features (flac/mp3/mp4/vorbis/wav, no playback/alsa-sys) are
pure Rust via symphonia. src/fingerprinting/ffmpeg_wrapper.rs only shells
out to a PATH-resolved ffmpeg as an optional runtime fallback (tests force
an empty PATH to avoid depending on it), so it is not a build-time
dependency. MIT licensed. Builds one abi3-py310 wheel (upstream declares no
free-threaded support), built once and re-tested across cp310-cp314 via
cibuildwheel's find_compatible_wheel, mirroring the primp port. Upstream
also ships PyPy wheels (pp311), which this repo does not build, matching
the libipld/pycrdt precedent.
@luhenry
luhenry marked this pull request as draft October 14, 2026 11:34

This branch has not been deployed

No deployments
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