Skip to main content

pcmflux

License: MPL 2.0 Docs Ask DeepWiki

pcmflux is a high-performance audio capture and encoding module for Python.

It is designed to capture system audio using PulseAudio, encode it into the Opus format, and stream it with low latency. A key optimization is its ability to detect and discard silent audio chunks, significantly reducing network traffic and CPU usage during periods of no sound.

Prerequisites

This package builds a native Rust extension (via setuptools-rust/PyO3). It requires a Rust toolchain (cargo/rustc 1.88 or newer) plus the development headers for PulseAudio and Opus on your system.

On Debian/Ubuntu, you can install them with:

sudo apt-get install libpulse-dev cmake build-essential

The Opus encoder is built from the copy of libopus that opusic-sys vendors and is linked statically, so cmake and a C compiler are always required and no system libopus is used.

Core Features

  • PulseAudio Capture: Captures system audio via PulseAudio using the asynchronous Context/Stream record API with a manually-pumped mainloop.
  • Opus Encoding: Integrates the high-quality, low-latency Opus codec.
  • Silence Detection: Intelligently skips encoding and sending silent audio chunks.
  • Native Audio Header: With omit_audio_header=False (the default), the encoder prepends a 2-byte [0x01, 0x00] header to each chunk natively, so WebSocket transports avoid an extra Python copy. Set it to True for raw Opus (WebRTC/RTP).
  • Optional RED redundancy (RFC 2198): red_distance (0–4, default 0) prepends redundant copies of recent Opus payloads for lossy/unreliable transports; 0 disables it (the default for reliable WebSocket/TCP).
  • Zero-copy Frames: Each callback receives a native AudioFrame that owns the encoded chunk and supports the buffer protocol — bytes(frame) / memoryview(frame) / len(frame) — on every supported Python version (3.9–3.14). memoryview(frame) aliases the buffer with no copy, and the frame keeps it alive until every view is released, so the hand-off is memory-safe.
  • Tunable Capture: Configurable latency_ms, validated frame_duration_ms (2.5/5/10/20/40/60 ms, default 20), VBR/CBR, and a toggleable silence gate.
  • Multichannel Opus: Mono, stereo, and 5.1 / 7.1 surround (via the Opus multistream API with Chromium-compatible channel layouts); channels accepts 1, 2, 6, or 8.
  • Mic-Uplink Playback: An AudioPlayback class decodes an inbound Opus stream (with optional RED recovery via write_red) and plays it into a PulseAudio sink — the reverse of capture, for client microphone audio. Playback is mono/stereo, and write / write_red take any bytes-like object (bytes, memoryview, bytearray, ...).
  • Live Bitrate Updates: Thread-safe update_audio_bitrate() adjusts the Opus bitrate during an active session.
  • Observable Lifecycle: state ("idle" / "starting" / "running" / "failed") and last_error on both AudioCapture and AudioPlayback, so a capture that fails after start_capture returned (PulseAudio took longer than the start handshake, or dropped out mid-run and could not be reconnected) is visible to the caller. Invalid settings raise ValueError before a thread is spawned.
  • PyO3 Extension Module: A native Rust pcmflux extension module (full CPython API, not Limited/abi3) provides PulseAudio capture + Opus encoding.
  • Python Build System: Uses setuptools-rust to build and package the pcmflux PyO3 extension.

Usage

AudioCapture.start_capture(settings, callback) spawns a capture thread and invokes callback(frame) once per encoded chunk. When the silence gate is on (use_silence_gate=True, the default), silent chunks are dropped before encoding and the callback is simply not called for them — it never receives an empty frame, so there's no silence to filter out. The frame is a zero-copy AudioFrame (buffer protocol + a .pts presentation timestamp in samples). Copy it out with bytes(frame) if it must outlive the callback, or pass memoryview(frame) for a zero-copy hand-off (keep the frame referenced for the duration of the send so its buffer stays alive). With no callback the capture serves only its output_socket (below) and no frame reaches Python.

from pcmflux import AudioCapture, AudioCaptureSettings

def on_chunk(frame):
    # Silence-gated chunks are never delivered (the callback is skipped for
    # them), so there's no empty/"silence" frame to filter out here.
    data = bytes(frame)          # copy out (header+Opus, or raw Opus per settings)
    pts = frame.pts              # presentation timestamp, in samples
    # send `data` to your client...

settings = AudioCaptureSettings()
settings.device_name = None      # None / "" => system default source
settings.frame_duration_ms = 20  # one of 2.5/5/10/20/40/60

capture = AudioCapture()
capture.start_capture(settings, on_chunk)
# capture.update_audio_bitrate(96000)  # adjust the Opus bitrate while running
# ...
capture.stop_capture()

API notes

  • start_capture() raises ValueError for settings the encoder or PulseAudio could never accept (sample rate, channel count, frame duration, negative latency, a NUL in device_name) and RuntimeError when the capture thread fails within the ~2 s start handshake. A PulseAudio server (or the named source) that is still coming up is retried with backoff for longer than that — start_capture() then returns with state == "starting", and the outcome is published asynchronously: state becomes "running", or "failed" with the reason in last_error. The same pair reports a capture that drops out mid-run and exhausts its reconnect budget, so a long-lived caller should poll last_error (or state) and restart when it is set. is_capturing is True only in the "running" phase.

  • AudioPlayback.start() validates AudioPlaybackSettings the same way (latency_ms and max_buffer_bytes must be positive) and exposes the same is_running / state / last_error trio; write() / write_red() raise RuntimeError once the playback thread is gone.

  • update_audio_bitrate(bps) stores the new Opus bitrate atomically; the capture thread re-reads it on the next frame, so it only takes effect during an active capture session. Calling it while no capture is active is not an error — it is a silent no-op store, but the value does not persist into the next session: the next start_capture(settings, ...) snapshots the passed settings object and re-seeds the atomic bitrate mirror from settings.opus_bitrate. To change the bitrate for a new session, set settings.opus_bitrate before start_capture(); use update_audio_bitrate() only to adjust a session that is already running.

Example Usage

The example directory contains a standalone demo that captures system audio, broadcasts it over a WebSocket, and plays it back in a web browser using the WebCodecs API.

To run the example:

  1. Install the module: pip3 install ., or a wheel from the GitHub Releases page
  2. Run the server: cd example && python3 audio_to_browser.py
  3. Open http://localhost:9001 in a modern web browser (Chrome, Edge, etc.).

The example client (index.html) strips the 2-byte [0x01, 0x00] header before decoding, and its FRAME_DURATION_US constant must match the server's frame_duration_ms (the value is not announced over the wire).

Ogg Opus Output Socket

output_socket names a Unix socket the capture serves its packets on as a standard Ogg Opus stream, to every consumer that connects: the OpusHead and OpusTags pages first, then one page per packet with the 48 kHz granule position. A consumer that stops reading is dropped, never waited on.

settings.output_socket = "/run/user/1000/audio.sock"
AudioCapture().start_capture(settings)  # socket only: no callback, no Python per frame
ffmpeg -i unix:/run/user/1000/audio.sock -c:a copy capture.opus

Development

AGENTS.md carries the conventions and the invariants of this tree, for contributors and coding agents alike. cargo test --lib covers the capture, encode and assembly paths, and cargo test --release bench_emit_assembly -- --ignored --nocapture prints the assembly measurement. pip wheel . --no-deps builds the extension the way the released wheels are built, and that wheel installed into a selkies checkout set up as its development documentation describes puts the change under the end-to-end audio suites.

License

This project is licensed under the Mozilla Public License Version 2.0. A copy of the MPL 2.0 can be found at https://mozilla.org/MPL/2.0/.

LICENSES.md inventories the third-party components of a built pcmflux (crates, the linked libpulse and libopus, what the wheels bundle) with their licenses, and describes the cargo-deny check (pcmflux/deny.toml, the Licenses workflow) that keeps the crate graph permissive.

Metadata

Release files for pcmflux 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pcmflux 2.1.0
File
pcmflux-2.1.0-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details
pcmflux-2.1.0-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details
pcmflux-2.1.0-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details
pcmflux-2.1.0-cp315-cp315-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64 Details
pcmflux-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
pcmflux-2.1.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
pcmflux-2.1.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
pcmflux-2.1.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
pcmflux-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
pcmflux-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
pcmflux-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
pcmflux-2.1.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
pcmflux-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
pcmflux-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
pcmflux-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
pcmflux-2.1.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
pcmflux-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
pcmflux-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
pcmflux-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
pcmflux-2.1.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
pcmflux-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
pcmflux-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
pcmflux-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
pcmflux-2.1.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
pcmflux-2.1.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
pcmflux-2.1.0-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
pcmflux-2.1.0-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
pcmflux-2.1.0-cp39-cp39-manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64 Details

Total release size: 85.4 MB

Release files / pcmflux-2.1.0-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL pcmflux-2.1.0-cp315-cp315-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f17428749397563d371b8adbe20ec9352cbd208a32074d3786957e538f8b4505
BLAKE2b-256 checksum
How to use checksums
a35c3b9d0954b9f572a202419b5983b0675cf4f1b8ca0f21a953288fdbe9c2b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL pcmflux-2.1.0-cp315-cp315-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
28ba0b273f59e74b6e7c794e510b4eb3094f91496bffb0a230456eb28688c135
BLAKE2b-256 checksum
How to use checksums
d44c2394e34980ff3b51e37aa2e85a063c7320bb2d5b28fb99394599bcb955f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL pcmflux-2.1.0-cp315-cp315-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f126c7db021e076a5f8727d1906e506d30946f32d174d3517873ef4d49febf0d
BLAKE2b-256 checksum
How to use checksums
59d9ca712d7c68b5b95def03c26dbdb0de10b85926446a8c717c1a3a179463c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp315-cp315-manylinux_2_28_aarch64.whl

Download URL pcmflux-2.1.0-cp315-cp315-manylinux_2_28_aarch64.whl
Size 3.6 MB
Tags CPython 3.15 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
bb683c16bc4be8d6598ce54ee853aae6c1024cf72254f6376956ad6f8b7c0273
BLAKE2b-256 checksum
How to use checksums
844fb242261739e329885918cdcc5e83568f3e7f882277fee655a3bd4c5a272f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL pcmflux-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c17be40742d1c8a5c8f7c07950a94543522698d24611fc4e212d5c9cccb783a9
BLAKE2b-256 checksum
How to use checksums
ae944093e81b8b83b1dcd0a64cb3368b0aa1ea57cb29f212123b4a0c7cde3d9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL pcmflux-2.1.0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
06629c130c8851586f6cba81d59ab4091dfc9ed9239806dfe02a9ecf81f981b0
BLAKE2b-256 checksum
How to use checksums
4169f5ae9849bfa44d0d1045af57fa9043fbd3eb507da080d2d07b0ae1daba83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL pcmflux-2.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eb1afe10e14d3d3888a40aa401acfc116bfa0080ab9b807f16db7f40f1424411
BLAKE2b-256 checksum
How to use checksums
8995631255b607ae11f3425d2aace88e041d2d34199c087184483bdba9494095
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL pcmflux-2.1.0-cp314-cp314-manylinux_2_28_aarch64.whl
Size 3.6 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
51b266a766da693f694d4b486876134f1989e5feb8947f091eb22893dc59461c
BLAKE2b-256 checksum
How to use checksums
e2483257067b3866e4e3910918c8f16dcc2d1fbb13ae7dab588e0840b48584f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL pcmflux-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
71a24e836e0ab34513e8804410565975d8473e82c4d99e69fd58d9cf3a5ddca2
BLAKE2b-256 checksum
How to use checksums
48b7e89c4dba9e3a4369212ebdd2fa62e36d7654b4f557bb3a727651fd5aa0f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL pcmflux-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
1ec82ddd15f5cce04117c073c77ba2a20e7f10108be1e08a8b55cff1bef831b8
BLAKE2b-256 checksum
How to use checksums
45cb79aac76447c9bcbd58395902de77b8b47927415797bf15c900900ec33b51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL pcmflux-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7c214ce71d529409cde42db9521610b21ddd25d574a29ade9da560db803a0907
BLAKE2b-256 checksum
How to use checksums
ecfe47d8b69a2434bc1ca76b0456e9ac7ee84719205357d34589d4e878a5ee59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL pcmflux-2.1.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 3.6 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d2030962d07e1412671f0477667f68dbad91bbd0b131d65678e91b5ec0f42c0b
BLAKE2b-256 checksum
How to use checksums
f80da91740a0c2ea4ee8ea51e27dcf6a69d11e8cc0390dff6f50ec05268fe4d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL pcmflux-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
70c749aadc8f7ce38f748b179ede891c4b2990c03f1312d2122f9e45d115b8b5
BLAKE2b-256 checksum
How to use checksums
9c50195c1f69d42851712328ce827e364f3bbdb445e8e8a64d1920053b106a6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL pcmflux-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7d1734126e41a3e284358999bcd1594ee86115da8503d30ae4f155de7e9507af
BLAKE2b-256 checksum
How to use checksums
180066561155c3555700b8818459f9f24eb90121b4822193ec76d984d181430f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL pcmflux-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
566fbb9e4af3534906adf757e860921679cd9c3cec3894b0de4fc700c75c5a73
BLAKE2b-256 checksum
How to use checksums
3c5d3fcaeb1052a4f1cecda3915ff515f49c1dbf42329fc9d0711a290d843ffd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL pcmflux-2.1.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 3.6 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
694369625570b15fa061a717a2008885b87c5fde8cfcfac4f7f2971824b353df
BLAKE2b-256 checksum
How to use checksums
71f840460b61125e8f81d9ab177f062c08a391228296790735137c7c54c4d57c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL pcmflux-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6a5c0757f9f6b257182115fac97ff66cbe53d36e56dd251d6244e623cb298afd
BLAKE2b-256 checksum
How to use checksums
4ac0865bec3c59a7b9093ea6e7bde16d9967fa2b8732638c0bff5070d651f0a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL pcmflux-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
76617744213d12bdad3b7d766b33bbaae303442ae7a1376c2b045060875ad924
BLAKE2b-256 checksum
How to use checksums
3c6b56c324434126f40795f2c2a63c2c7c20fa6d4e646c9a22b8bd880ae8d74f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL pcmflux-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
78812eb25ac9c5559322dcbb343f0a2479690b656c2af89d59d7566c6743e72b
BLAKE2b-256 checksum
How to use checksums
86ea44f73693ed650960f2095cb5e2bf8a6472270f12cc01c01021faf5027cf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL pcmflux-2.1.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 3.6 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a2768af8f0bf42bdcc3a27a1203c76bd30dc0a762c8482509ccf7be75cfe4598
BLAKE2b-256 checksum
How to use checksums
6606ed4c397cdfd4d1e0795702eab6e8824d0e5c129e718fe72b0bcb4a782b8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL pcmflux-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6fd2147a5745eff481ed834a1f69959bf2599ca102b56b9ab3c9ec224672c3dd
BLAKE2b-256 checksum
How to use checksums
8e757af4af3fd287d1d5f973d64afab0ba41645b4066e30bab5d348d03f184c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL pcmflux-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
17263e538b3e15902d1a717c02552183ced4b463bcc86e76e10179d0e3f55994
BLAKE2b-256 checksum
How to use checksums
02476ac4131e8a763e15dc303ac5d91767b76c23c3b4cfefa2ff183f8449c6dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL pcmflux-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dfba77f89b74dcd4b381f345408a4c029a18b3fbc30e6190ae8d5c92fd8e0af9
BLAKE2b-256 checksum
How to use checksums
3df294c90e40ab98bdc08e2dba54503683f94d58bcccedfdc5b89d1b9c994b32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL pcmflux-2.1.0-cp310-cp310-manylinux_2_28_aarch64.whl
Size 3.6 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6930df4f3a8f5da61e59fe0969472ded2dbf344d3338ca1bbc0da9dcdb149c76
BLAKE2b-256 checksum
How to use checksums
bcaf4d56f00c87559c4ee206c1297bee0ccd66bbcc4950bdd43eed5f6435f719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL pcmflux-2.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
eb187e69fc4aad1a10b6042af9cbb18db30444224d5bdb70ff49b2bd19cd6199
BLAKE2b-256 checksum
How to use checksums
b84357fd11c8d3c35b040341beab11e05a8e4243183ae4c9d66ceed57c74731c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL pcmflux-2.1.0-cp39-cp39-musllinux_1_2_aarch64.whl
Size 2.2 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ccf865540cf0ca3a905efd18414ce90fd698d99811dc711e7842c90de7189e25
BLAKE2b-256 checksum
How to use checksums
9b73ee17b7f986804d0947f286656783524e9151d01ed62dbfe3f93e6ed382ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL pcmflux-2.1.0-cp39-cp39-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
99a60e07136ac3df5e6c883c052547f53c159b296a7f4dee262469d4ef25de74
BLAKE2b-256 checksum
How to use checksums
2021f6e8a588e2945758fa98e3f99de761dfabeb94e7fb7f939ca4d9d53ea29d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / pcmflux-2.1.0-cp39-cp39-manylinux_2_28_aarch64.whl

Download URL pcmflux-2.1.0-cp39-cp39-manylinux_2_28_aarch64.whl
Size 3.6 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a72f29c1d35e0539e1b6629a7c7eb6492030c2d5d34bb0ba65a535dd3f20f1ff
BLAKE2b-256 checksum
How to use checksums
c673b8e5f1f7fdd4eeedf464734260cddf6a3712e68cdf9dcee53cc76fe36255
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.0 This release

28 release files

2.0.0

24 release files

1.0.8

33 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page