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
Java JNI Gradle/Maven
wasm
vsix

Installation

Python

pip install avioflow

Java

Gradle users need the main Java API jar plus one native classifier for the target platform:

dependencies {
    implementation("io.github.lxp3:avioflow:0.3.4")
    runtimeOnly("io.github.lxp3:avioflow:0.3.4:linux-x86_64")
}

Maven:

<dependency>
  <groupId>io.github.lxp3</groupId>
  <artifactId>avioflow</artifactId>
  <version>0.3.2</version>
</dependency>
<dependency>
  <groupId>io.github.lxp3</groupId>
  <artifactId>avioflow</artifactId>
  <version>0.3.2</version>
  <classifier>linux-x86_64</classifier>
  <scope>runtime</scope>
</dependency>

Native classifiers: linux-x86_64, linux-aarch64, macos-x86_64, macos-aarch64, windows-x86_64, windows-aarch64.

C++ (CMake)

Download the C++ package for your platform and linkage, then point CMake at the extracted package root with CMAKE_PREFIX_PATH.

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

Release packages are split by linkage and platform:

  • avioflow-shared-linux-x64, avioflow-static-linux-x64
  • avioflow-shared-linux-arm64, avioflow-static-linux-arm64
  • avioflow-shared-macos-x64, avioflow-static-macos-x64
  • avioflow-shared-macos-arm64, avioflow-static-macos-arm64
  • avioflow-shared-win-x64, avioflow-static-win-x64
  • avioflow-shared-win-arm64, avioflow-static-win-arm64

Shared packages include the FFmpeg dynamic libraries needed at runtime. Static packages include FFmpeg static libraries, transitive static dependency metadata, and the bundled FFmpeg CMake package, so consumers do not need to configure FFmpeg separately.


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})`);
});

Java API

File Decoding

import io.github.lxp3.avioflow.AudioDecoder;
import io.github.lxp3.avioflow.AudioStreamOptions;

try (AudioDecoder decoder = new AudioDecoder(
        new AudioStreamOptions().outputSampleRate(16000))) {
    decoder.open("audio.mp3");
    float[][] samples = decoder.getSamples();
    System.out.println(samples.length + " channels");
}

Encoding

import io.github.lxp3.avioflow.AudioEncoder;
import io.github.lxp3.avioflow.AudioWriteOptions;

AudioEncoder.saveAudio(
    "out.wav",
    samples,
    new AudioWriteOptions()
        .containerFormat("wav")
        .codecName("pcm_s16le")
        .sampleRate(16000)
);

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.

Java Build

./build-java.sh linux-x86_64

This builds the JNI library and creates a platform classifier jar.


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.4-cp313-cp313-win_arm64.whl (6.7 MB view details)

Uploaded CPython 3.13Windows ARM64

avioflow-0.3.4-cp313-cp313-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.13Windows x86-64

avioflow-0.3.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

avioflow-0.3.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 12.0+ x86-64

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

Uploaded CPython 3.13macOS 12.0+ ARM64

avioflow-0.3.4-cp312-cp312-win_arm64.whl (6.7 MB view details)

Uploaded CPython 3.12Windows ARM64

avioflow-0.3.4-cp312-cp312-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.12Windows x86-64

avioflow-0.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

avioflow-0.3.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 12.0+ x86-64

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

Uploaded CPython 3.12macOS 12.0+ ARM64

avioflow-0.3.4-cp311-cp311-win_arm64.whl (6.7 MB view details)

Uploaded CPython 3.11Windows ARM64

avioflow-0.3.4-cp311-cp311-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.11Windows x86-64

avioflow-0.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

avioflow-0.3.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 12.0+ x86-64

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

Uploaded CPython 3.11macOS 12.0+ ARM64

avioflow-0.3.4-cp310-cp310-win_arm64.whl (6.7 MB view details)

Uploaded CPython 3.10Windows ARM64

avioflow-0.3.4-cp310-cp310-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.10Windows x86-64

avioflow-0.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

avioflow-0.3.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 12.0+ x86-64

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

Uploaded CPython 3.10macOS 12.0+ ARM64

avioflow-0.3.4-cp39-cp39-win_arm64.whl (6.7 MB view details)

Uploaded CPython 3.9Windows ARM64

avioflow-0.3.4-cp39-cp39-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.9Windows x86-64

avioflow-0.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

avioflow-0.3.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9macOS 12.0+ x86-64

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

Uploaded CPython 3.9macOS 12.0+ ARM64

avioflow-0.3.4-cp38-cp38-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.8Windows x86-64

avioflow-0.3.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

avioflow-0.3.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8macOS 12.0+ x86-64

avioflow-0.3.4-cp38-cp38-macosx_12_0_arm64.whl (167.8 kB view details)

Uploaded CPython 3.8macOS 12.0+ ARM64

File details

Details for the file avioflow-0.3.4-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: avioflow-0.3.4-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.4-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 d3084504cafc906d57a1a602b87dc5504f64ba0ff03527c2a0aea08134659251
MD5 7c741f74d5c8d0ee9407dc5d85895dcb
BLAKE2b-256 e5cfb844d04d5214b96c96f900b9a41f3b9a7445c51477ad3d3741b15881fe2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avioflow-0.3.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 6.9 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.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 78ae456d3b20068927319b281dc79cd50b808bc1e2f7a7aa43df2749a2608eb2
MD5 5ac249bb18bb2925b0eda318dca1f588
BLAKE2b-256 4f343e3891048d8362c47a0622dffb8d889554b523d1a903bb31578b3fc016bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 239361b229efd4542da7bef6f8364cf40123aa40142d082cea270f40a26c6ed5
MD5 f80363d182c24840530395e1a4adc995
BLAKE2b-256 58e0204bc188a3185ba7a1f3072c7a4861e18d5359760d7a72598d3521deb9e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4b7a74a52d1735a495eb20023117c3ec5a90e21892a27543bcf07251189dc71a
MD5 2ad3d65b409a9a9e0c94b1e8ffeaa63f
BLAKE2b-256 819b2ea5b1c8a76650f3b2b09997659915175d9f17d68f117680a10adefe2970

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp313-cp313-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 dff51276b3141c0ab4cb88bf3f343bbbdebc20bc5d440476345094bdfb73db60
MD5 2d3c077e263a1a8c8f41a967c9ff97e9
BLAKE2b-256 4cf59bfd910f524f244311500df5da51ae95cbce919888b28ddf860f2f2062fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 8092f00b76c9fcb9ec2b177f538f4c4b2f8c45707aced1ebdf1b13955c378bd5
MD5 ff834040565d55c7256e4f6e3ba5585c
BLAKE2b-256 18c9a68fba913124cda883bb2ef5bccd09d52e73c43d41ead5a066a698094c40

See more details on using hashes here.

File details

Details for the file avioflow-0.3.4-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: avioflow-0.3.4-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.4-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 7346296e438e3033d258926597bb835d10d98be1783b47229d38a04cf0a516d6
MD5 8bc3e4cbbc3725c6dc636e6aabaf2ee4
BLAKE2b-256 43501853182e0cefca2c8d76498533ec1cfba91b93f4309a9a47d7e088209c8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avioflow-0.3.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 6.9 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.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bc81dd1d21c10fc2b4fc05d9798205acd2839645031694d27699517d8f73a789
MD5 f6551bd14f8b26080d66fb0da98ece2d
BLAKE2b-256 c6fa4c2424d0f9ce3a87bd7dfc137d41b90419f27f256557285ab9e186be97be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d70236975cc9f92cdd23436f8786129b6863a11393207cdeea20afdb8c5c637d
MD5 c30de4efcd5ef18514de3acc7c86d7b8
BLAKE2b-256 40c8695a56b7c15a2b35d3f241dc831449ad9611acc9f14ec289be72ec483db1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 346fdb9f2ce6de7145c342e9ddb98fb92764c5cd9810399c4d51226d15b62551
MD5 567291be62821aab6e5079852524533c
BLAKE2b-256 1b06dbbe7ff3145f9d53c9cc83ed58733fbf8944900ad73f8b881a5e2143f87d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 808bbaf38072248b8639479d3b78e66a778f8c67a5dcce9126d52ab110083814
MD5 e23eda44c78f03e3274a570de7d0a5f0
BLAKE2b-256 7224ffb3e4ce45a5983c41b19a8b61651ff0f134d13e9675a7b89deb90f9b93b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 20b1ed1683fbeaec4b3d42e99cff114c3217089a5878777e05ae675269293f89
MD5 f5711fc7a46e498080a62bb5dfb3d199
BLAKE2b-256 ea853ce923b76c337b89ff3864915ca1dfeeab0cce9709e4f99ea506f4cff986

See more details on using hashes here.

File details

Details for the file avioflow-0.3.4-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: avioflow-0.3.4-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.4-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 089fa768aa94b6975ab1d2017668d0979d6c6658f31bcbb111984ea35ca26143
MD5 0097e48acc92cfbeabc3c2ebff8d8ed2
BLAKE2b-256 5a8e25e98ef1112de1870198405a4be976e0f348f0c9e51805629e40a3cb0261

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avioflow-0.3.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 6.9 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.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b98af192c54bd8afd8c137321ee125d993631829461e7780d87886a879c63d2e
MD5 b59cd0c0095b98991aa134e82497ff75
BLAKE2b-256 2a5f0c6ff915c9011c535df15b3ecc83181c36495c91c7288c56155577defb61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 374ce62bbaf412c257a3b5449b7050b09fdb0cfe16dc376a8d28ab1db6edb983
MD5 3d7aec872bb607e8e85bb14e94f3e92e
BLAKE2b-256 065615c59b777e006e8140ed9ba798266995c13830381df3385e6edf81c3e09c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f994dbb58942d0e6de7cfaa359cbdee9cffca1a68a351107c122674744a203a9
MD5 a5281c1dfe522ffa71f4ef4c646260d8
BLAKE2b-256 e01c776f7323b63f08f2fbb037537cae266a8605cf8150db5e116fb64be9c129

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 fb0e7ac8d82740a62a94cad3dd2d3e470201c3c506985a5975326c82d12bb4a5
MD5 4d6ed0811821c566989f541c7635bd71
BLAKE2b-256 50e9b4a2c95b076a2a567d6257dc4dd308db0ec9dc608dad78acc91717e3eec8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 ceb0eef5ed68843a216b095feb57911f319eb1ae5a6a30348c0d28d71d8c0303
MD5 7953ef69f6e9e9781e624551633b5de3
BLAKE2b-256 1a9c9484ecfaebf22987d8f5c2501a95ac7e1ac681d3bc4ca1f5d2bcd799b789

See more details on using hashes here.

File details

Details for the file avioflow-0.3.4-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: avioflow-0.3.4-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.4-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 3c8a66c89b83a0316973b33dac183d9b9bcf361ac0c8aef2140393d715a1e3ae
MD5 50c16320afcbea589fd842fe88e6d600
BLAKE2b-256 2f72483d000e0d8bc9c6ad9825e29d7a99e612f887626ea448961362d64b8543

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avioflow-0.3.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 6.9 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.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5af6d9626b4135c87a20be8c31fda441052e84856c4e170f368d52e5ac2ccabc
MD5 8fb1520cafed9cb9aae642fbc19202b7
BLAKE2b-256 94db732423f7304e88319fb3de3bf952fd0263a0f2d4aed0f38082a56661fc34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 437931b22b75f4914b6e3fd7c20eeb613ba350221ab7ceba8ae5f4d34002efe0
MD5 d40047dfc5e3c8aa74c5bcf3f98d6194
BLAKE2b-256 b15e8c9f386f09f7fd6db6dad8c3cf983057aef82d99701f4710b2621f7f3663

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5db31a31513b769eb7d8246327d58d7aa00da34bc3d55e0670707c02a014ca39
MD5 083ad1816e8e1739aa1c2c51daf081aa
BLAKE2b-256 38c171a8122d31b3f5dbd698f2b3fbd70b2965e932c7ba2a49ca39f7cf59c1c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 9ba9e4ce3b85cfc09229fbbf8a5a0fbe2d0b06209d4fd3f0cf793f5d5c07abe4
MD5 1d86d2291072b0b71457fdad04784cae
BLAKE2b-256 81e289802c2709e2bda76e506dba359bce735618c3cc52bd13abdd25d2bbbb8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 b487925af53cb9a0b95f3b13d40e7bd6637b17c81b78e1824974a778786d9df9
MD5 60823a1cf7b653079cd309517442c8ec
BLAKE2b-256 7bb13ea1c95f2c313532c33f5fdd3011b7a2a4b4d516550dc3707946701d5ee4

See more details on using hashes here.

File details

Details for the file avioflow-0.3.4-cp39-cp39-win_arm64.whl.

File metadata

  • Download URL: avioflow-0.3.4-cp39-cp39-win_arm64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.9, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for avioflow-0.3.4-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 c753cc363dfc0a705a9a60e1abc3f857c77b1701098a79b2b70efc382f57f7c7
MD5 cff8544109790c3c086c21333b74747e
BLAKE2b-256 71e0e186ba317fbc1ded09dbf49b95459644e12137ddafa28c2d5bfd7eb5be0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avioflow-0.3.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 6.9 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.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f069ecff36f7065ebf6ed4498a9ec7c8f8c9e1ade5fe0af24907316c9fb2dd8a
MD5 1df7e3ab27a06b36d98e8164555a94b4
BLAKE2b-256 87f3510bb67b3ac842fb047c8b0f707b93b3653f967bffeb06ba3513fc38b86c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 471f6c5db05df734a44ababf9fd38713dbb5ec5a69e04313b9c5b5e9f6310371
MD5 f17b8391f46838d3a68b22795a0174a0
BLAKE2b-256 66aa2145b0b0982ffa36328e5b65a97bc77c57dfdcb8485331b0d5bf6fbad99a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fd715e05f2b99c949005c41f9b89e4d410e8093688e8b984960cdf7dbc103105
MD5 8720ef91f91eb39ea682a9b97cc4723b
BLAKE2b-256 6e2378e014c8b98c1ea06c3145c0771a665b817005b4431d1a9835ef1582d7f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 a97cc50181a1ec54c98d977b8f7b8faadfb293bd132f0bfcb057eb519cdfe353
MD5 376361350c76150d6471ab04a7297a0c
BLAKE2b-256 a147ec52a52ce42a062664ccd7ea78b1483404aa88eec0b0dd1b4a2e451a061f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 6928a48c1a73d6abf73bdbb2c0583c3c2b928624b00d9165ce2842961380657f
MD5 3fd1f73a5058be5d0dd8d947ab245141
BLAKE2b-256 9b6986badc6813b42a7ddc7fd405f88c99e930520fee6145165596c253824415

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avioflow-0.3.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 6.9 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.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1e5195edee560c49d57f3f34047b8c0c58cf41c2e4712cf6a20692ed62b1618f
MD5 5375b2ba3831575bf8aeb7b14a23cf80
BLAKE2b-256 91b215eb0d78b9831644ce5c11d8085082576809a4b6ee30b7bec869ea150b1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a13fe9fbf33a7eda37d0f9d9d0c11e00214da92ddd14e86829e64945c12289b
MD5 907f3ab106102252663ea8b474613355
BLAKE2b-256 1755edd9edbee747a29f7100c89bbab8a5defba0fd63396bdcb41ca2a9843632

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df1b1404648abe41ccb244fae3308eebabb605af780e31ccf30978ce0eefb1b0
MD5 b98521b26b3db6502737f0290088d5e9
BLAKE2b-256 7a6444545e3b73017c68a53251451d1d490cae1a8b89a0f16c8117749cc489cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 b6e56f7275ca3c71ab63b10a29984ec374cf53c43fafa65f5227dc37d000e35f
MD5 3ebbc14dd954e5598ee94717e6199f61
BLAKE2b-256 4df9d8aa1eb3a9d11ac2b12961c7da83de09476ee096a13b3d3cfe2a134e1c33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for avioflow-0.3.4-cp38-cp38-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 1735777da0111c8c377b817851f919e47d8d18cbb0ea89bb335e0e54ef3c4ce2
MD5 912c38a0668f60660fcaa4f82389ed9f
BLAKE2b-256 f5b93be1b7d92b5d3e1c9527b21da2c4af51f75f8b3d504910fba22c719a09d6

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