Skip to main content

High-performance audio decoding with FFmpeg and C++

Project description

AvioFlow

AvioFlow is a high-performance and easy-to-use streaming audio decoding library.

Features

  • Audio format: mp3, opus, flac, ogg, wav, m4a, acc. Anything.
  • Flexible Input: Files, URLs, memory buffers, and real-time streams
  • Hardware Capture: WASAPI loopback (system audio) and DirectShow (microphones)
  • Resampling: Built-in sample rate conversion
  • Zero-copy API: Direct buffer access via FrameData for maximum performance
  • Cross-platform: Windows, Linux, macOS

Supported language

C++
python pybind11 pip install avioflow
JavaScript node-add-api npm install avioflow
wasm
vsix

Installation

Python

pip install avioflow

C++ (CMake)

find_package(avioflow REQUIRED)
target_link_libraries(your_target avioflow::avioflow)

C++ API

Core Classes

AudioDecoder

Main class for audio decoding.

#include "avioflow-cxx-api.h"
using namespace avioflow;

// Constructor options
AudioStreamOptions options;
options.output_sample_rate = 16000;    // Target sample rate
options.input_format = "s16le";        // For streaming: source format
options.input_sample_rate = 48000;     // For streaming: source rate
options.input_channels = 2;            // For streaming: source channels

AudioDecoder decoder(options);

Methods

Method Description
open(source) Open file path, URL, or device
push(data, size) Push raw bytes for streaming decode
read() Decode next frame, returns FrameData. (Formerly decode_next)
get_samples() Decode all currently available samples. (Formerly get_samples)
get_metadata() Get audio metadata
is_finished() Check if EOF reached

FrameData

Zero-copy frame data structure returned by read().

struct FrameData {
    float** data;        // Planar channel pointers: data[channel][sample]
    int num_channels;    // Number of channels
    int num_samples;     // Samples per channel

    operator bool();     // True if valid data
};

⚠️ Warning: FrameData.data points to internal buffer, valid only until next read() call.

Examples

File Decoding (Offline)

AudioDecoder decoder({.output_sample_rate = 16000});
decoder.open("audio.mp3");

auto samples = decoder.get_samples();  // vector<vector<float>>
std::cout << "Channels: " << samples.size() << std::endl;
std::cout << "Samples: " << samples[0].size() << std::endl;

Frame-by-Frame Decoding

AudioDecoder decoder;
decoder.open("audio.mp3");

while (auto frame = decoder.read()) {
    // frame.data[channel][sample]
    for (int c = 0; c < frame.num_channels; c++) {
        process(frame.data[c], frame.num_samples);
    }
}

Streaming Decode (Push-based)

AudioStreamOptions opts;
opts.input_format = "s16le";
opts.input_sample_rate = 48000;
opts.input_channels = 2;

AudioDecoder decoder(opts);
decoder.push(raw_bytes, size);  // Auto-initializes on first call

auto samples = decoder.get_samples(); // Decode all buffered data
// Or frame-by-frame:
while (auto frame = decoder.read()) {
    // Process decoded audio...
}

Python API

AudioDecoder

import avioflow

# Constructor with keyword arguments
decoder = avioflow.AudioDecoder(
    output_sample_rate=16000,    # Optional: target sample rate
    input_format="s16le",        # For streaming: source format
    input_sample_rate=48000,     # For streaming: source rate
    input_channels=2             # For streaming: source channels
)

Methods

Method Returns Description
load(source) Metadata Load file, URL, pathlib.Path, or bytes-like input
decoder(data) ndarray Push bytes-like data and decode (streaming)
read() ndarray Decode next frame
get_samples() ndarray Decode all available samples
is_finished() bool Check if EOF

Metadata

# Quick metadata inspection without full decoding
meta = avioflow.info("audio.mp3")
print(f"Duration: {meta.duration}s")
print(f"Sample Rate: {meta.sample_rate}Hz")
print(f"Codec: {meta.codec}")

# Encoded audio bytes also work
with open("audio.mp3", "rb") as f:
    meta = avioflow.info(f.read())

Examples

File Decoding

decoder = avioflow.AudioDecoder(output_sample_rate=16000)
meta = decoder.load("speech.wav")
samples = decoder.get_samples()      # numpy array (channels, samples)
print(f"Shape: {samples.shape}")     # e.g., (1, 160000)

Streaming Decode

decoder = avioflow.AudioDecoder(
    input_format="s16le",
    input_sample_rate=48000,
    input_channels=2
)

while True:
    data = socket.recv(4096)
    samples = decoder(data)  # Push & get samples in one call
    if samples.size > 0:
        process_audio(samples)

Device Discovery

devices = avioflow.DeviceManager.list_audio_devices()
for dev in devices:
    print(f"{dev.name}: {dev.description}")

Logging

avioflow.set_log_level("debug")  # quiet, error, warning, info, debug, trace

Node.js API

Compatibility

Runtime Version Support
Node.js 16, 18, 20, 22+ ✅ Native (N-API)
Electron All versions ✅ Supported (requires rebuild)
Architectures x64 ✅ Linux, Windows

Installation

npm install avioflow

ESM Import

import avioflow from 'avioflow';

Module-level Functions

Function Returns Description
load(path, options?) {metadata, samples} Convenience: Opens, decodes all samples, and returns both in one call.
listAudioDevices() DeviceInfo[] List available system audio devices.
setLogLevel(level) void Set FFmpeg log level ("quiet", "info", "debug", etc.).

AudioDecoder

// Constructor with options object
const decoder = new avioflow.AudioDecoder({
    outputSampleRate: 16000,    // Optional: target sample rate
    outputNumChannels: 1,       // Optional: target channels
    inputFormat: 's16le',       // For streaming: source format
    inputSampleRate: 48000,     // For streaming: source rate
    inputChannels: 2            // For streaming: source channels
});

Methods

Method Returns Description
load(source) Metadata Load file, URL, or device name. Returns metadata.
push(buffer) void Push raw encoded bytes for streaming.
read() Float32Array[] | null Decode next frame. Returns array of channel data.
getSamples() Float32Array[] Decode all available samples at once.
isFinished() boolean Check if end of stream reached.

Examples

Quick File Loading (Recommended)

// Opens file, resamples to 16kHz mono, and decodes everything
const { metadata, samples } = avioflow.load("audio.mp3", {
    outputSampleRate: 16000,
    outputNumChannels: 1
});

console.log(`Duration: ${metadata.duration}s`);
console.log(`Channels: ${samples.length}, Samples: ${samples[0].length}`);

Batch Decoding with Decoder Instance

const decoder = new avioflow.AudioDecoder({ outputSampleRate: 44100 });
const meta = decoder.load("audio.wav");

// Decodes the entire file into memory
const allSamples = decoder.getSamples();
process(allSamples);

Streaming Decode (Real-time)

const decoder = new avioflow.AudioDecoder({
    inputFormat: 's16le',
    inputSampleRate: 48000,
    inputChannels: 2
});

socket.on('data', (chunk) => {
    decoder.push(chunk);

    // Get all samples decoded from this chunk
    const samples = decoder.getSamples();
    if (samples.length > 0) {
        processAudio(samples);
    }
});

Device Discovery

const devices = avioflow.listAudioDevices();
devices.forEach(dev => {
    console.log(`${dev.isOutput ? 'Output' : 'Input'}: ${dev.name} (${dev.description})`);
});

Build from Source

Prerequisites

  • CMake 3.20+
  • Visual Studio 2022+ (Windows) or GCC 11+ (Linux)
  • Python 3.8+ with pybind11 (for Python bindings)
  • Node.js 16+ (for Node.js bindings)

C++ & Python Build

./build.sh

This will configure and build the C++ library and Python bindings.

Node.js Build

./build-nodejs.sh

This will build the Node.js bindings using cmake-js and run compatibility tests.


Supported Formats

AvioFlow supports a wide range of audio formats, codecs, and devices through FFmpeg.

For a complete and detailed list of supported decoders, encoders, and input formats, please refer to the Supported Formats Reference.


License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

avioflow-0.3.0-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

avioflow-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

avioflow-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

avioflow-0.3.0-cp313-cp313-macosx_12_0_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 12.0+ x86-64

avioflow-0.3.0-cp313-cp313-macosx_12_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

avioflow-0.3.0-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

avioflow-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

avioflow-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

avioflow-0.3.0-cp312-cp312-macosx_12_0_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 12.0+ x86-64

avioflow-0.3.0-cp312-cp312-macosx_12_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

avioflow-0.3.0-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

avioflow-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

avioflow-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

avioflow-0.3.0-cp311-cp311-macosx_12_0_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 12.0+ x86-64

avioflow-0.3.0-cp311-cp311-macosx_12_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

avioflow-0.3.0-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

avioflow-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

avioflow-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

avioflow-0.3.0-cp310-cp310-macosx_12_0_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 12.0+ x86-64

avioflow-0.3.0-cp310-cp310-macosx_12_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

avioflow-0.3.0-cp39-cp39-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.9Windows x86-64

avioflow-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

avioflow-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

avioflow-0.3.0-cp39-cp39-macosx_12_0_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9macOS 12.0+ x86-64

avioflow-0.3.0-cp39-cp39-macosx_12_0_arm64.whl (5.0 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

avioflow-0.3.0-cp38-cp38-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.8Windows x86-64

avioflow-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

avioflow-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

avioflow-0.3.0-cp38-cp38-macosx_12_0_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.8macOS 12.0+ x86-64

avioflow-0.3.0-cp38-cp38-macosx_12_0_arm64.whl (166.3 kB view details)

Uploaded CPython 3.8macOS 12.0+ ARM64

File details

Details for the file avioflow-0.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: avioflow-0.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e3b0a9fef82ec7af3cc388f42490504134d78ef270f6db03d008a5dabc7510ad
MD5 e25bf33a182ebe57015d60dd4cf8f20c
BLAKE2b-256 978b87ba7f5faabbe0a7759e87167a624b9268f5c6af748bebee1407d2a50250

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1026c278c2dd62be03bd1555a1f7cd44713a4f942d6b51105b094c6c3e90e9dc
MD5 07493c4f39fb3c520d5b9538b4026732
BLAKE2b-256 1196c1001bcfceddaded5ca012dcc56e0f6fbf2e3bf47484234a1d56889fa6de

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 574b941f645ffd82fb4e945d95a4caa3545c9ecb21e224e111069e4267e72f4d
MD5 b5770578f1afa439638ed6f45a8904c3
BLAKE2b-256 3b7b3007e1942c6f87f1f3b76981e2a533c9249c571b9a85b6922d04bb471a6e

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp313-cp313-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp313-cp313-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 7a46583df07ec009c31d7a5752fe24f844e1f3e6768feca26761e61904e4fa69
MD5 512e912c01df19087524f2331c1d50fe
BLAKE2b-256 3f8cf137f014110833f686e95990ad6e549808b4e83d4b3364853c34c695d275

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp313-cp313-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 7215982bab56ef4a190c35776f396ca12338dc268d5328afb241a29b60db86ea
MD5 2206a902e07eb8ab3ed6bf6016e0b973
BLAKE2b-256 2c6d59ca6cea8bf06b9ecaefd4a82ba09cd031fe15fb98f705af648ffcb140cf

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: avioflow-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aa30b05214c6e73166eba5ea8ea29037f66414829ed69194e14b388f128b4db3
MD5 8f49d49b9ac3b145045bc4d26a2ae338
BLAKE2b-256 1323f0b96df1c2f2cdc6bfbc1a10e1976a12c2d0e6fc0fb7767ad878a965e089

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 685e5a6496255a0d881dbaebaa9e40392bae61022737986ae0d0605288f1143c
MD5 0c08adf7a46008c7d125aa468337cf74
BLAKE2b-256 5bfe51ae28a6837e818399362bdc93ac828b913825f7197db9cb45a816c64047

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 780231e8fa3f16dd460088eccf900c426579361024475f0b0cd72ac57c611252
MD5 ca07805365eea44e7e7cba8d615fdac6
BLAKE2b-256 b7513b0f7bff06b250723fdc9d0c44492495ed6698ac40f81cd445203809e9e2

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp312-cp312-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 31d476d700f5a91055a6e529712a6412ab623d978ad0942f5f5fc1904b5242e4
MD5 fedc44b35fc4ed619e85f62e713577c4
BLAKE2b-256 41cdf78f6673ef0a7f9d28844711026af37c872af4eed4cb8dd25f769b362255

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp312-cp312-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 bbe4a93ae59c82c382fa968db65f625a79f77ebf0cd5bd180b4ec300540bb14b
MD5 85474b1645e1724d32e7802768751780
BLAKE2b-256 9062ccdd408d24278b49b607365d08353f5ea3c838fb4fb816174d0f756590b3

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: avioflow-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4cb5793197341bd31a702770175c8c6e4dc8ad7700de08762bd72ac932a94627
MD5 30389dc266c54a59fc7da6ef7f285568
BLAKE2b-256 6775510f17b1f19fe8b1b4990cc7d5145bf7137c008132fad7838d4f27d1e773

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37a0a7dd92dcd5a7004329367f3af3ce55ef655f685a9513ca63d51f35f7d339
MD5 3691aa35fd4c339bda6b51b3f4c2e4b7
BLAKE2b-256 c24fb00d94bb73265d553189fb71c73cf45b52b449bcf0ad77e4a7b0ea9f427f

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2078deeaeeab93ee4d66bc5f136953990e5efaae8c3343a578ded637b6cd6444
MD5 57d1b7656fe1e0e9099a153718f510f5
BLAKE2b-256 1f56fb64b96c30ab57978aec049d234e8fca21f954e692fa845e9d53a618ea17

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp311-cp311-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 e6da5937c835542c838e1c745b7aeb9b9486cad08a61929c8ca18524d9357c08
MD5 9e9fbfdd129bb5babe4a9e2e42ef91ac
BLAKE2b-256 ef7ac9367617a0a68e35e590c953ea1f2281a1c93e7d8955943913d8181c3353

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 641c5b36c1b13395d9c8d47214b5f5a8d3b0bd2922d256c7c3196940952d5572
MD5 c86f0fb3a21a111682313df630286b8e
BLAKE2b-256 4860da1d00f46d8d149b872e67f73cf99750314f5231b2c7850bcfc770383227

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: avioflow-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a777749e118544e15cd1591caeaa335caeb0e4b3ef4d40f2ba729b38f41e4fff
MD5 5facfd6f9a231a268c7ebb4ad1dffb71
BLAKE2b-256 680fd141f2a160efc74e5d1c54ec4196ceff4e3b51c95122bc721545f4f25c98

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59fcc5814403b174ff6598f713797e8ff7de1d99d56221ebafd3703315c37920
MD5 9ce2e0dd17a37eff6e5c8f2bc47e3939
BLAKE2b-256 a10e7ef61d2ed3d57062727a5f0674aec7009888497016f4c70c3b65cd0172be

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fad075ef28037ccda4946a5b7503a1938a5b4012ad09af647270c412e674c73b
MD5 b7c1db944c84c6a3e78acc1a143043d8
BLAKE2b-256 598b9828f45ecc48a335bce4be6e868f81a72159e178ebf40d8693d5eb88e935

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 0a91a7ae2272d59943700e03e010e68a347543c2e004f34265baf61bd8927261
MD5 cd2da930be16e7e72b153312af79ee97
BLAKE2b-256 7f666cc6c643f1df63b42e523cfe4cb6fa1c37f8a32245ea376a45eb984d944a

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 cb2dc24c59aa80db121ec1f24bb096bcbb2f7a658e1851dc8324d34932b70e6c
MD5 c9255fd95581949c5e8383531ab2bbe6
BLAKE2b-256 7178943a5133262332f98c1c216667a9c3e97fbadb2648b59b359ec45b1d9b07

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: avioflow-0.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dd94f957bf5814834d0d359f775c499f35b5bcb21a8ce7fec712ef1ce64a258b
MD5 eda19fa1fd5886c334e0fc8460ebb82a
BLAKE2b-256 265a9763b9171362ecbbacb8198d8dddc9b011c90e422103dc04e6061bb1c66b

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c542e9e3ee0ed8caa042a0c6d7163baa2682e22863f9903234086f282340fe5
MD5 9b830eae92f95de97eb829eca073978a
BLAKE2b-256 ba73fcc714de8425e06c0a50b6dbe4560f44b84b1d85dfdedcf79d2fc919071f

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cfeec6ce9c07fd408c71f48fbfd54c1e00857be8c0965e9ee8f772e64a2ee1ac
MD5 ca28745566f1e6120bd87134bc261961
BLAKE2b-256 b6589d2c511bca87220bcf38889c77a4bbebe8c4a70250dc74bc0f5ce98775ef

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 0b5abe0beba5c8baf1c93e7a2e6ee9396531cc5270fb1afb623df012cc4578cd
MD5 a6b3094bf8a9f86b11fee04a9fac07ed
BLAKE2b-256 45d12a21ac3dbebbecffadd2288319dcd7341eaf40713ad8fb8f6a6a844a20fb

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 f2c370e64eef397bfc78753e3ce7530786763f6c8605afb6d86f4f2d650197c9
MD5 129c6bc2e59e7dac7370190085a7beea
BLAKE2b-256 d97fd24b67212871e79d4773eb7f3224abc7f4f5598576458e45b5445487db12

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: avioflow-0.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2caf518e04f1f790e8240c7a1127a0421f4effd538d5c504ef86ceeed393f1a4
MD5 5e772bc1cd1a32f69bd7c0ce5ac21388
BLAKE2b-256 ef2a5eba24aa6594ac6cc1feff7f36cb5cb9d8609db410cb1a5824eb26dd6ed1

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6142bcbcd8fc8dce9bd1f1d2c145d7d566cf8315b7975918abc5d4e52281aaa2
MD5 255b2c7977097f8f21e20f225a250049
BLAKE2b-256 d350c7537cde2328686aab038ed960bda9e97dde69bee3d5536ff34b88095cfb

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0262971a130da06a3e6f64db9b153710a8667a5b1c8edebb185995f44e5b9bbc
MD5 657ba65d09621f73876022876be69571
BLAKE2b-256 afc88d866ac5d34d887b7e47b9da43985612d95a24f3fc7c2659624ffa17cad5

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 44df0ad353503e63b45f655c70527ac055677ccb7e366f2775301861b7862ca1
MD5 30b765326baf2e97909a377965f5411a
BLAKE2b-256 a09665174dc0798a5b316cba4f6b54649a717b512f407ba51d1f7ac7cdee1e90

See more details on using hashes here.

File details

Details for the file avioflow-0.3.0-cp38-cp38-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for avioflow-0.3.0-cp38-cp38-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 115331c95647864e396f9fc79b1f6c1925c9a1336363d8d692e1588e26e10c99
MD5 1587c685cf6765664909c6bd111c3cc0
BLAKE2b-256 273439a032485523968f86713d6fe40ab76027ae84db1ff05a636b66b66d01a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page