cyminiaudio
Minimal Python bindings for miniaudio (v0.11.24).
A Cython-based audio library providing high-level Python APIs for audio playback, recording, effects processing, and real-time audio applications.
Features
- Audio Playback - High-level engine for sound playback with volume, pan, pitch control
- 3D Spatial Audio - Position, direction, velocity, distance attenuation, Doppler effect
- Audio Decoding - Decode MP3, WAV, FLAC, and other formats to PCM
- Audio Encoding - Record and save audio to WAV files
- Waveform Generation - Sine, square, triangle, sawtooth waveforms
- Noise Generation - White, pink, and brownian noise
- Audio Filters - Low-pass, high-pass, band-pass, notch, peak, shelf filters
- Effects - Delay with wet/dry/decay control
- Data Conversion - Sample rate conversion, channel conversion, format conversion
- Volume Control - Panning, fading, gain with smoothing
- Node Graph - Build custom audio processing pipelines
- Resource Manager - Async audio loading and caching
- Ring Buffers - Lock-free buffers for real-time audio
- Audio Buffers - In-memory buffers for procedural audio
- Low-Level Device Access - Direct device control for advanced use cases
- Device Enumeration - List and select audio devices
Installation
pip install cyminiaudio
To build from source, requires Python 3.10+ and a C compiler.
# Clone the repository
git clone https://github.com/user/cyminiaudio.git
cd cyminiaudio
# Install with uv (recommended)
make build
# Or install with pip
pip install .
Quick Start
Simple Playback
import cyminiaudio as cma
import time
# Create an audio engine and play a sound
with cma.Engine() as engine:
sound = engine.play("music.mp3")
sound.volume = 0.5
time.sleep(5) # Play for 5 seconds
Sound Control
import cyminiaudio as cma
with cma.Engine() as engine:
with cma.Sound(engine, "music.mp3") as sound:
sound.volume = 0.8
sound.pan = -0.5 # Pan left
sound.pitch = 1.2 # Higher pitch
sound.looping = True
sound.start()
time.sleep(10)
Waveform Generation
import cyminiaudio as cma
# Generate a sine wave
waveform = cma.Waveform(
waveform_type=cma.WaveformType.SINE,
amplitude=0.5,
frequency=440.0
)
data = waveform.read(1024) # Read 1024 frames
Audio Filters
import cyminiaudio as cma
# Apply a low-pass filter
lpf = cma.LowPassFilter(cutoff=1000.0, order=2)
waveform = cma.Waveform(frequency=440.0)
data = waveform.read(1024)
filtered = lpf.process(data)
Node Graph Processing
import cyminiaudio as cma
# Create a processing graph with filters
with cma.NodeGraph(channels=2) as graph:
lpf = cma.LPFNode(graph, cutoff=1000.0)
delay = cma.DelayNode(graph, delay_ms=250.0, decay=0.5)
# Connect nodes and process audio...
Audio Recording
import cyminiaudio as cma
# Record audio to a WAV file
with cma.Encoder("output.wav", channels=2, sample_rate=48000) as encoder:
waveform = cma.Waveform(frequency=440.0)
for _ in range(100):
data = waveform.read(1024)
encoder.write(data)
Data Conversion
import cyminiaudio as cma
# Resample audio from 44100 to 48000 Hz
resampler = cma.LinearResampler(
sample_rate_in=44100,
sample_rate_out=48000
)
output = resampler.process(input_data)
# Convert mono to stereo
converter = cma.ChannelConverter(channels_in=1, channels_out=2)
stereo = converter.process(mono_data)
Volume and Panning
import cyminiaudio as cma
# Apply panning
panner = cma.Panner()
panner.pan = -0.5 # Pan left
output = panner.process(data)
# Apply volume with smoothing (avoids clicks)
gainer = cma.Gainer(channels=2)
gainer.set_gain(0.5)
output = gainer.process(data)
# Convert between linear and dB
db = cma.volume_linear_to_db(0.5) # -6.02 dB
linear = cma.volume_db_to_linear(-6.0) # ~0.5
3D Spatial Audio
import cyminiaudio as cma
# Create a spatializer for 3D audio
listener = cma.SpatializerListener(channels=2)
listener.position = (0.0, 0.0, 0.0)
listener.direction = (0.0, 0.0, -1.0)
spatializer = cma.Spatializer(channels=2, listener=listener)
spatializer.position = (5.0, 0.0, -3.0) # Sound position
output = spatializer.process(input_data)
Device Enumeration
# List available audio devices
devices = cyminiaudio.list_devices()
for dev in devices['playback']:
print(f"{dev.name} (default: {dev.is_default})")
Low-Level Device Access
# Direct device access for advanced use cases
with cyminiaudio.Device(
device_type=cyminiaudio.DeviceType.PLAYBACK,
sample_rate=48000,
period_size_ms=20
) as device:
device.start()
# ... handle audio callbacks ...
device.stop()
Architecture
+-------------------+
| Engine | High-level playback
| (owns Device) |
+--------+----------+
|
+--------v----------+
| Sound | Per-file playback control
| volume, pan, pitch| (holds ref to Engine)
+-------------------+
+------------+ +-------------------+ +-------------+
| Waveform | | NodeGraph | | Decoder |
| Noise +---->| DataSourceNode +---->| Encoder |
| AudioBuffer| | SplitterNode | +-------------+
+------------+ | LPFNode, HPFNode |
Data Sources | DelayNode, ... | +-------------+
+-------------------+ | Device |
Processing Pipeline | Context |
+-------------+
+------------+ +-------------------+ Low-level I/O
| LowPassF. | | Panner, Fader |
| HighPassF. | | Gainer | +-------------+
| BandPassF. | | Spatializer | | RingBuffer |
| NotchF. | | SpatializerList. | | PCMRingBuf |
+------------+ +-------------------+ +-------------+
Standalone Volume / Spatial Real-time Buffers
Filters
Layer overview:
- Engine / Sound: Highest-level API. Engine manages an audio device internally; Sound objects control individual file playback. Sounds hold a reference to their Engine, preventing premature garbage collection.
- Data Sources: Waveform, Noise, AudioBuffer, and Decoder all implement the miniaudio data source interface. They can be read directly or fed into a NodeGraph via DataSourceNode.
- NodeGraph: Build custom processing pipelines by connecting nodes (filters, splitters, delays) together. Audio flows from source nodes through processing nodes to the graph endpoint.
- Standalone Filters: Process PCM data in-place without a NodeGraph. Useful for one-shot batch processing.
- Device / Context: Low-level device access for advanced use cases (custom callbacks, device enumeration).
- GIL Release: All I/O and DSP methods (filter processing, decoding, encoding, device start/stop) release the GIL during C calls, enabling true multithreaded audio processing.
API Reference
Core Classes
| Class | Description |
|---|---|
Engine |
High-level audio engine for playback |
Sound |
Individual sound with full parameter control |
Decoder |
Decode audio files to PCM |
Encoder |
Encode PCM to audio files |
Waveform |
Procedural waveform generator |
Noise |
Procedural noise generator |
Filters
| Class | Description |
|---|---|
LowPassFilter |
Attenuates frequencies above cutoff |
HighPassFilter |
Attenuates frequencies below cutoff |
BandPassFilter |
Passes frequencies within a range |
NotchFilter |
Attenuates a specific frequency |
PeakFilter |
Peaking EQ for boost/cut |
LowShelfFilter |
Boosts/cuts below threshold |
HighShelfFilter |
Boosts/cuts above threshold |
Effects
| Class | Description |
|---|---|
Delay |
Audio delay with wet/dry/decay |
Data Conversion
| Class | Description |
|---|---|
LinearResampler |
Sample rate conversion |
ChannelConverter |
Channel count conversion (mono/stereo) |
DataConverter |
General format/rate/channel conversion |
Volume and Panning
| Class | Description |
|---|---|
Panner |
Stereo panning control |
Fader |
Volume fading over time |
Gainer |
Gain control with smoothing |
3D Audio / Spatialization
| Class | Description |
|---|---|
SpatializerListener |
Listener position/orientation |
Spatializer |
3D audio positioning and attenuation |
Audio Buffers
| Class | Description |
|---|---|
AudioBuffer |
In-memory audio buffer |
AudioBufferRef |
Non-owning reference to audio data |
PagedAudioBuffer |
Large audio buffer with paged memory |
Low-Level Device Access
| Class | Description |
|---|---|
Device |
Direct audio device access |
Context |
Device context for enumeration |
Node Graph
| Class | Description |
|---|---|
NodeGraph |
Audio processing graph container |
SplitterNode |
Splits audio to multiple outputs |
LPFNode |
Low-pass filter node |
HPFNode |
High-pass filter node |
BPFNode |
Band-pass filter node |
DelayNode |
Delay effect node |
NotchNode |
Notch filter node |
PeakNode |
Peak EQ node |
LoShelfNode |
Low shelf filter node |
HiShelfNode |
High shelf filter node |
BiquadNode |
Generic biquad filter node |
DataSourceNode |
Data source as graph node |
Resource Management
| Class | Description |
|---|---|
ResourceManager |
Async audio loading and caching |
ResourceDataSource |
Loaded audio data source |
RingBuffer |
Lock-free byte buffer |
PCMRingBuffer |
Lock-free PCM frame buffer |
Utility Functions
| Function | Description |
|---|---|
get_version() |
Get miniaudio version string |
list_devices() |
List available audio devices |
get_default_device() |
Get default playback/capture device |
volume_linear_to_db() |
Convert linear volume to decibels |
volume_db_to_linear() |
Convert decibels to linear volume |
copy_pcm_frames() |
Copy PCM frames between buffers |
mix_pcm_frames_f32() |
Mix PCM frames with volume |
apply_volume_factor_pcm_frames() |
Apply volume in-place |
copy_and_apply_volume_factor_pcm_frames() |
Copy and apply volume |
Enums
| Enum | Values |
|---|---|
Format |
U8, S16, S24, S32, F32 |
DeviceType |
PLAYBACK, CAPTURE, DUPLEX, LOOPBACK |
WaveformType |
SINE, SQUARE, TRIANGLE, SAWTOOTH |
NoiseType |
WHITE, PINK, BROWNIAN |
AttenuationModel |
NONE, INVERSE, LINEAR, EXPONENTIAL |
NodeState |
STARTED, STOPPED |
PanMode |
BALANCE, PAN |
Positioning |
ABSOLUTE, RELATIVE |
Development
# Install dependencies
make sync
# Build
make build
# Run tests
make test
# Run all QA checks (test, lint, typecheck, format)
make qa
# Build wheel
make wheel
# Clean build artifacts
make clean
Requirements
- Python 3.10+
- Cython 3.0+
- CMake 3.15+
- C compiler (gcc, clang, MSVC)
Platform-specific
- macOS: CoreAudio, AudioToolbox, CoreFoundation (included in system)
- Linux: ALSA development libraries (
libasound2-devon Debian/Ubuntu) - Windows: Windows SDK
Troubleshooting
Linux: "Failed to initialize device" or ALSA errors
Install the ALSA development headers:
# Debian/Ubuntu
sudo apt-get install libasound2-dev
# Fedora/RHEL
sudo dnf install alsa-lib-devel
# Arch
sudo pacman -S alsa-lib
macOS: Microphone permission denied
macOS requires explicit microphone permission for capture devices. When using DeviceType.CAPTURE or DeviceType.DUPLEX, grant microphone access to your terminal app in System Settings > Privacy & Security > Microphone.
Build from source fails: "CMake not found"
cyminiaudio requires CMake 3.15+ and Cython 3.0+ to build from source:
pip install cmake cython
# or
brew install cmake # macOS
sudo apt-get install cmake # Linux
No sound output / wrong device
List available devices and select a specific one:
import cyminiaudio as cma
devices = cma.list_devices()
for dev in devices['playback']:
print(f"{dev.name} (default: {dev.is_default})")
High latency or audio glitches
Reduce the period size for lower latency (at the cost of higher CPU usage):
device = cma.Device(
device_type=cma.DeviceType.PLAYBACK,
period_size_ms=10, # Lower = less latency
periods=2, # Double buffering
)
Import error: "undefined symbol" or ABI mismatch
This typically means the installed wheel was built for a different Python version. Reinstall:
pip install --force-reinstall cyminiaudio
Or build from source for your exact Python version:
pip install --no-binary cyminiaudio cyminiaudio
License
MIT
See LICENSE file.
See Also
- miniaudio - The underlying C audio library (v0.11.24)
- pyminiaudio - Alternative cffi-based Python bindings
Metadata
Release files for cyminiaudio 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cyminiaudio-0.1.2.tar.gz | 1.2 MB | Without provenance | Details |
Built distributions (wheels)
Total release size: 14.7 MB
Release files / cyminiaudio-0.1.2.tar.gz
| Download URL | cyminiaudio-0.1.2.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
043d3199c9997f97cef29590efc8d25d944e90e54fb37bea056a5dcae0ffcb8b
|
|
BLAKE2b-256 checksum How to use checksums |
a93cff5498a2e4e1972460e567a87a641d42552a19d1c97e8c811d58c730ad5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp314-cp314-win_amd64.whl
| Download URL | cyminiaudio-0.1.2-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 497.6 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1acda4f621d71a7a7221b1d38ae03f5c3abfc96cc0adb16bf58f9d15d7f7e965
|
|
BLAKE2b-256 checksum How to use checksums |
c9fc9213ae1aef066c31feeb41fcf2046ea0def35c2635f4a412ce6d6598f9f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 593.4 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c4ea5a3b188515e54539b167d8e914e703485fdf1b2b3f56fac4ec4976f441e3
|
|
BLAKE2b-256 checksum How to use checksums |
1bb92843fe726581eb4e1fecf3deb0568e0b040c18cfd2876ac5b88dea09c877
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | cyminiaudio-0.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 563.5 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
4c4d493434823ee436801b62aed54a6608037e333046dae08237b478f127e9b1
|
|
BLAKE2b-256 checksum How to use checksums |
0da260c69604986963994f5635ae0a36f85f1bd6ac75e5f43bc9b4852da79f0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | cyminiaudio-0.1.2-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 488.1 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cac7962376ad472b8c683f62256d93a4546ccb38f4cb9cb7d0c543019b3b8aed
|
|
BLAKE2b-256 checksum How to use checksums |
b5a56114410d78f90d3fa89487b3e74c7d48788a7013fe891846a31c85ce7f70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 535.5 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
eace0e9d61c843977e75760a5ab62e93c76d23223a7b7d421d2ebae619822330
|
|
BLAKE2b-256 checksum How to use checksums |
d7eb5afb04249ac3c177d6d90ffb98ea207c7676d3c70605254f22cd6e149fb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp313-cp313-win_amd64.whl
| Download URL | cyminiaudio-0.1.2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 481.4 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
81fa2dddd0dc052c589c3a3fca914dfb6ea3f1c40e1fa66839f45691c50eddc0
|
|
BLAKE2b-256 checksum How to use checksums |
b5625845df7aaca80c7850773f384c4a0452d92517292be44240896bcff1e950
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 591.0 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7e1576cf1e8f70bdc6abace09708c7bcbf6a4509421c7c56cee8c851f16e73d5
|
|
BLAKE2b-256 checksum How to use checksums |
0cb360425f6a3473498feee58b720733eebcb94a5daabfb447cee9f8a2225b00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | cyminiaudio-0.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 560.4 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
663e93929c31c765b7d593c535adfcc768b9983ce94834d3de2789dc32db3c19
|
|
BLAKE2b-256 checksum How to use checksums |
5548d430731176cb76e4c3cadf90354994aa10e7d87c9a6b9b89b1aba728ba6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | cyminiaudio-0.1.2-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 484.9 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e897aacdc3c1def932797fd3abfff36dd0e29a37e94706da1398df3c4f1b848b
|
|
BLAKE2b-256 checksum How to use checksums |
01e4bb5fa1f933f8cc5a07fce2387c898509934b6f07882d1206f5555f758fc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 534.4 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
ccf42422e0cb7959c4c4cd53a5519008c893f747bbb221a4cbf332787efe828f
|
|
BLAKE2b-256 checksum How to use checksums |
0d72bd212015efdc2ce7bcfe75be18621de9e028826f3aec86a182d7602c1685
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp312-cp312-win_amd64.whl
| Download URL | cyminiaudio-0.1.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 482.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0cd69a85d4082c780320c44b233e82dd3a3e1fd4aac250426cead1c10085d408
|
|
BLAKE2b-256 checksum How to use checksums |
afdf90f00bf680213bb42a9c634e621c429598978940940d59560d4e7e90aa62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 590.0 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f04541323872fec7791bd24fb1c1ea49b853ee9eb9df74ba5d947efc60dc68af
|
|
BLAKE2b-256 checksum How to use checksums |
e6729d5ceb9ec4d0bc61f54fbb81ebebcfa8d1ed3a1cc4125c397b1a13df6dbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | cyminiaudio-0.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 556.5 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
cd0fc5d205da1c3b6253d0d2f56cc9a5c0250491cf2971534fb5bb1937f692ce
|
|
BLAKE2b-256 checksum How to use checksums |
1565e1c452e40287e951c50a491c7956956a9c58021601fd1d2c24092e629e15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | cyminiaudio-0.1.2-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 486.0 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a6d7be7fe91fa7ccdb5a0c9dcaa5f4668a2b2bdf47043028c75ff101f94ef3f0
|
|
BLAKE2b-256 checksum How to use checksums |
3e359c239b62510dce98a8f25a5ee630a20b76a74c18ac232860ae2e61519821
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 534.8 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
af1b98d418d8a9ebca8ed55f6489022e7a3ef44f3ef8587b346af9d2b9a90df5
|
|
BLAKE2b-256 checksum How to use checksums |
9ce8767fdfe0fbda9cdedcbbaed7a64579b144490ecd66ba98d472cc3ed8ed85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp311-cp311-win_amd64.whl
| Download URL | cyminiaudio-0.1.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 520.5 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b9dbe7b0908dc510c19609b70f84d63aa499dbb30a1b02a11917e7bf716db532
|
|
BLAKE2b-256 checksum How to use checksums |
b3386786d0241b8723a2a438f7bb82a0d9b4031d1f4fba0867a94062449acc8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 612.3 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
39d645336d9a5c706a9a464f1d72f1d28c167d1e706ab0b93fa74257941988de
|
|
BLAKE2b-256 checksum How to use checksums |
5c71453cb4f9afb3ffa3d542ddc42b807a54414a169d2b6d33cc625c648ebfae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | cyminiaudio-0.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 577.4 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
0b5a8b0b93fcfccfc1e491b1b74cd9478330c8b9b620e0982492ff2de894b508
|
|
BLAKE2b-256 checksum How to use checksums |
bca258857e0af1743dfabb7fa57379a1f8d8d556b9927d01aeae3b16ff1c5ee7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | cyminiaudio-0.1.2-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 492.2 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6fffdef0c77fc5987bed83cfc985b20603ebdd4a1b755b684db974cfe107fe17
|
|
BLAKE2b-256 checksum How to use checksums |
0b1d28cf7eb634c784d7f95bc1a613cec0a4f4eac34ae169aeadacdbd865e412
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 530.5 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
c3bce7f39073677d8dc40bf3ac70942114684aaabd6a9d7fcc9e0b53a93db74e
|
|
BLAKE2b-256 checksum How to use checksums |
3f5a39aba2d946cc079903c5ed7bc86f3453cf51be0953b88c4343017dbfb837
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp310-cp310-win_amd64.whl
| Download URL | cyminiaudio-0.1.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 519.7 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
68ff3729fe5a2c068abe76bd7fa295f557d980ce52722a42b8c77a4a10597310
|
|
BLAKE2b-256 checksum How to use checksums |
ed6e61ce7434611c6d8502f249d505645af506dd0a1b68d0a573cf6a13dc7cf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 611.7 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d7ac6e1b58628bf50f0b0ed3475b3799a633aee28e5fccf104222e5b81be7595
|
|
BLAKE2b-256 checksum How to use checksums |
f2cf917090969d14bd2b9a64b9d2474150d082fa44d2e95852bf00f224ef30a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | cyminiaudio-0.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 577.4 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
e579f409a1bb9658eccaa01153212e21f9f25a35790158c51e74d5897934e97c
|
|
BLAKE2b-256 checksum How to use checksums |
36f02af9f77f519e219c62b5594eb5a798506eadefdf299e24939e2afd7bf119
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | cyminiaudio-0.1.2-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 491.3 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
365809495b0f442b052f5b6fe209a662ad1d4b8eaf494e20b861983820d0a390
|
|
BLAKE2b-256 checksum How to use checksums |
7bbcde8fc99401eba81c6efd9841249ad8014f0d1bfc3beb8fa58dffc47a1b89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / cyminiaudio-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | cyminiaudio-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 528.3 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
98af50f05b9a4f2ae3b2d71e0c7a1e1c4bacbe2517604ed77835f5a5ebe6e852
|
|
BLAKE2b-256 checksum How to use checksums |
f6308e25068166a6871060252ab995c3a4c371312ed02a121316852819e332ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Security for cyminiaudio 0.1.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.