Skip to main content

TurboLoader

Production-Ready ML Data Loading Library

PyPI version Tests Python 3.10+ C++20 License: MIT


Overview

TurboLoader is a high-performance data loading library for machine learning workflows. Built with C++20 and featuring Python bindings, it provides efficient data loading with SIMD-accelerated transforms, custom binary formats, and distributed training support.

Core Features

  • Decoded Tensor Caching - FastDataLoader(..., cache_decoded=True) keeps decoded arrays in RAM so later epochs skip decoding
  • Multiple Loader Types - FastDataLoader, MemoryEfficientDataLoader, standard DataLoader
  • Distributed Training Support - Multi-node data loading with deterministic sharding
  • SIMD-Accelerated Transforms - 19 vectorized transforms using AVX2/AVX-512/NEON
  • TBL v2 Binary Format - Custom format with LZ4 compression for reduced storage
  • Framework Integration - Seamless support for PyTorch, TensorFlow, and JAX
  • Memory-Mapped I/O - Zero-copy file access for improved throughput
  • Lock-Free Queues - Concurrent data structures for efficient multi-threading
  • GPU JPEG Decoding - Optional NVIDIA nvJPEG support for accelerated decoding

Installation

From PyPI (Recommended)

pip install turboloader

From Source

git clone https://github.com/ALJainProjects/TurboLoader.git
cd TurboLoader
pip install -e .

System Requirements

  • Python: 3.10 or higher
  • Compiler: C++20 capable (GCC 10+, Clang 12+, MSVC 19.29+)
  • OS: macOS, Linux, Windows

Optional Dependencies

Install for enhanced performance:

# macOS
brew install jpeg-turbo libpng libwebp lz4

# Ubuntu/Debian
sudo apt-get install libjpeg-turbo8-dev libpng-dev libwebp-dev liblz4-dev

Quick Start

Basic Usage

import turboloader

# Create DataLoader
loader = turboloader.DataLoader(
    'imagenet.tar',
    batch_size=128,
    num_workers=8
)

# Iterate over batches. Each sample is a dict:
#   {'image': np.ndarray (H, W, C), 'filename': str, 'index': int,
#    'width': int, 'height': int, 'channels': int}
for batch in loader:
    for sample in batch:
        image = sample['image']      # NumPy array (H, W, C)
        name = sample['filename']    # source path within the archive
        # Train your model...

Need (image, label) tuples like torch.utils.data.DataLoader? Use PyTorchCompatibleLoader, which derives labels from the folder structure (ImageFolder-style). The base DataLoader does not attach labels.

With Transforms

import turboloader

# Create transforms
resize = turboloader.Resize(224, 224)
normalize = turboloader.ImageNetNormalize()
flip = turboloader.RandomHorizontalFlip(p=0.5)

# Apply transforms
loader = turboloader.DataLoader('data.tar', batch_size=64, num_workers=8)

for batch in loader:
    for sample in batch:
        img = sample['image']
        img = resize.apply(img)
        img = flip.apply(img)
        img = normalize.apply(img)
        # Ready for training

PyTorch Integration

import turboloader
import torch

loader = turboloader.DataLoader('imagenet.tar', batch_size=64, num_workers=8)

# Convert to PyTorch tensors
to_tensor = turboloader.ToTensor(
    format=turboloader.TensorFormat.PYTORCH_CHW
)

for batch in loader:
    images = []
    for sample in batch:
        img = to_tensor.apply(sample['image'])
        images.append(torch.from_numpy(img))

    batch_tensor = torch.stack(images)
    # Train model...

Distributed Training

import turboloader
import torch.distributed as dist

# Initialize distributed training
dist.init_process_group(backend='nccl')

# Create loader with distributed support
loader = turboloader.DataLoader(
    data_path="/data/imagenet.tar",
    batch_size=64,
    num_workers=4,
    shuffle=True,
    enable_distributed=True,
    world_rank=dist.get_rank(),
    world_size=dist.get_world_size(),
    drop_last=True
)

# Each rank automatically gets its shard
for batch in loader:
    # Your training code
    pass

Transform Library

TurboLoader includes 24 transforms (19 per-image SIMD transforms + 5 batch augmentations). The authoritative list is turboloader.list_transforms().

Core Transforms

  • Resize - Bilinear/Bicubic/Lanczos interpolation
  • Normalize - Mean/std normalization with SIMD
  • CenterCrop - Center region extraction
  • RandomCrop - Random crop with padding

Augmentation Transforms

  • RandomHorizontalFlip - SIMD horizontal flip
  • RandomVerticalFlip - SIMD vertical flip
  • ColorJitter - Brightness/contrast/saturation/hue
  • RandomRotation - Arbitrary angle rotation
  • GaussianBlur - Separable convolution
  • RandomErasing - Cutout augmentation
  • Pad - Border padding (CONSTANT/EDGE/REFLECT)

Advanced Transforms

  • RandomPosterize - Bit-depth reduction
  • RandomSolarize - Threshold inversion
  • RandomPerspective - Perspective warp
  • AutoAugment - Learned policies (ImageNet/CIFAR10/SVHN)

Batch Augmentations

  • MixUp, CutMix, Mosaic, RandAugment, GridMask

Tensor Conversion

  • ToTensor - PyTorch CHW or TensorFlow HWC format

TBL v2 Binary Format

TurboLoader includes a custom binary format optimized for ML workloads:

Features

  • LZ4 compression for reduced storage
  • Memory-mapped access for fast loading
  • O(1) random access via indexed structure
  • Data integrity validation with CRC checksums
  • Cached image dimensions for filtered loading

Convert TAR to TBL

import tarfile
import turboloader

writer = turboloader.TblWriterV2("/data/imagenet.tbl", enable_compression=True)

# The TAR archive is read with Python's stdlib (TurboLoader does not expose a
# standalone Python TarReader; the DataLoader reads TAR directly for training).
with tarfile.open("/data/imagenet.tar") as tar:
    for member in tar.getmembers():
        if not member.name.lower().endswith((".jpg", ".jpeg")):
            continue
        data = tar.extractfile(member).read()
        writer.add_sample(data=data, format=turboloader.SampleFormat.JPEG)

writer.finalize()

For bulk conversion there is also a C++ CLI tool, tools/tar_to_tbl_v2.cpp.


Documentation

Getting Started

API Documentation

Framework Integration

Examples


Benchmarks

Measured on Apple Silicon over Imagenette-160 (9,469 real ImageNet JPEGs → resize 160×160 → ImageNet-normalize → batched CHW float32, batch 64). To control for thermal throttling, every loader is built once, warmed up one epoch, then timed over 5 interleaved rounds (each loader runs once per round); the table reports the median. Output is verified correct against torchvision (mean abs diff ≈ 0.04, bilinear antialiasing only).

Image — on-the-fly decode (re-decode every epoch; for datasets too large to cache or with per-epoch random augmentation):

Loader img/s (median) vs tf.data
TurboLoader DataLoader (output_format='pytorch', nw=6) ~55,000 2.0×
TensorFlow tf.data (AUTOTUNE) ~27,300 1.00×
PyTorch DataLoader (PIL, 8 persistent workers) ~20,500 0.75×

Image — cached (decoded tensors held in RAM; both sides consume identically via np.sum, i.e. delivered as numpy/torch-ready batches — the PyTorch use case):

Loader img/s (median) vs tf.data.cache
TurboLoader (cache_decoded=True, prefetch) ~67,000 1.9×
TensorFlow tf.data.cache() (+ .numpy() materialize) ~35,100 1.00×

(For TF-native consumption that stays in tf tensors, tf.data.cache() is faster — TurboLoader's cache win is for delivering numpy/torch batches.)

LLM tokens (real text, 55M-token memory-mapped corpus, seq_len=1024, next-token):

Loader sequences/s (median)
TurboLoader TokenDataLoader ~467,000
numpy memmap idiom (nanoGPT get_batch) ~251,000

Transforms (per-image throughput vs torchvision): Resize 2.7×, ImageNetNormalize 3.3×, HFlip ~1.0×. For CenterCrop, torchvision returns a lazy strided view (moves zero bytes); compared against TurboLoader's real contiguous crop that looks like 0.45×, but when torchvision actually materializes the crop (.contiguous(), required before batching/most ops) it drops to ~23k img/s and TurboLoader's contiguous crop is ~6.8× faster (155k vs 23k). Like the cache, this is a lazy-vs-eager comparison; for the realistic crop→batch path TurboLoader wins.

Earlier drafts quoted single-run figures (~42k, "1.4×") and a "cached epoch" in the tens-of-millions img/s. Those were artifacts (thermal noise; a no-op loop over aliased cached arrays) and were replaced with the interleaved, identical-consumption medians above. Numbers are hardware-dependent — run benchmarks/ yourself.

The fast path runs decode + resize + normalize + batch assembly in C++ across a thread pool with zero Python per-sample work. Use it like this:

loader = turboloader.DataLoader(
    'imagenet.tar', batch_size=64, num_workers=6,
    output_format='pytorch',          # (N, C, H, W) float32 array per batch
    image_size=160,                   # exact resize, done in C++
    transform=turboloader.ImageNetNormalize())
for epoch in range(epochs):           # re-iterable
    for images, meta in loader:       # images.shape == (64, 3, 160, 160)
        train_step(images)

Honest caveats:

  • Run it yourself (benchmarks/) — results depend heavily on hardware, image size, and pipeline; Linux fork-based PyTorch workers shift the PyTorch numbers a lot.
  • Decode backend differs: TurboLoader uses libjpeg-turbo; the PyTorch baseline uses PIL.
  • The output_format='dict' path returns per-sample dicts and stacks in Python (GIL-bound), so it is much slower — use it only when you need per-sample metadata.

For large source images, the default path also wins: on 768×768 JPEGs resized to 160 it runs ~15,000 img/s — faster than even an expertly-tuned tf.data pipeline using manual decode_jpeg(ratio=...) (~14,400) — because it picks the libjpeg-turbo DCT scaled-decode factor automatically (you don't have to know to set ratio).

Implementation notes

  • Direct-batch path (src/pipeline/direct_batch_loader.hpp): the default fast path is FFCV/tf.data-style — a persistent thread pool reads JPEG bytes by index and decodes → resizes → normalizes directly into the output batch buffer in one parallel pass (no worker queue, no per-sample heap copy, no serial collection). Verified memory-safe and race-free (disjoint slot writes, const mmap reads, atomic cursor, per-thread decoders).
  • Automatic DCT scaled decode: large JPEGs are decoded at the nearest libjpeg-turbo scale ≥ target, then finely resized — much faster than full-decode + resize.
  • Resize convention: half-pixel centers (align_corners=False), matching PIL/OpenCV/PyTorch/TF (agrees with torchvision plain bilinear to ~0.4/255; the only remaining difference vs torchvision's default is its antialiasing low-pass filter).
  • SIMD transforms (AVX2/AVX-512/NEON), libjpeg-turbo decode, lock-free SPSC queues (legacy/dict + remote path), persistent std::thread pool (src/core/parallel_for.hpp).
  • The GIL is released during C++ processing.
  • OpenMP is opt-in (TURBOLOADER_ENABLE_OPENMP=1); off by default because linking a second OpenMP runtime crashes alongside PyTorch on macOS — the thread pool replaces it.

Beyond Images: Tokens & Arrays

TurboLoader also ships loaders for non-image modalities with the same ergonomics (re-iterable, shuffle, set_epoch, batched arrays):

# LLM pretraining: memory-mapped token stream -> (B, seq_len) next-token batches
loader = turboloader.TokenDataLoader('train.bin', seq_len=1024, batch_size=8,
                                     dtype='uint16', shuffle=True)
for x, y in loader:          # x, y: (8, 1024) int64; y is x shifted by one
    loss = model(x, y)

# Generic arrays/memmaps (embeddings, tabular features, labels, pre-tokenized data)
loader = turboloader.ArrayDataLoader(features, labels, batch_size=256, shuffle=True)
for xb, yb in loader:
    ...

TokenDataLoader uses a vectorized fancy-index gather over a np.memmap (so multi-GB corpora stream without loading into RAM) and benchmarks ~1.9× the standard nanoGPT get_batch idiom. The image pipeline (decode/transform/TBL) remains C++; these modality loaders are NumPy-based and modality-agnostic.

All three modalities are also reachable from the single DataLoader entry point:

turboloader.DataLoader('train.bin', modality='tokens', seq_len=1024, batch_size=8)
turboloader.DataLoader(arrays=[feats, labels], data_path=None, modality='array', batch_size=256)
turboloader.DataLoader('data.tar', image_size=160, output_format='pytorch')   # modality='image' (default)

Architecture

TurboLoader uses a multi-threaded pipeline architecture:

┌─────────────────────────────────────────────┐
│           Memory-Mapped Reader              │
│     (TAR/TBL v2 with zero-copy access)      │
└──────────────┬──────────────────────────────┘
               │
        ┌──────▼──────┐
        │Worker Pool  │
        │  (N threads)│
        ├─────────────┤
        │ Decode      │
        │ Transform   │
        │ Convert     │
        └──────┬──────┘
               │
        ┌──────▼──────────────┐
        │ Lock-Free Queue     │
        └──────┬──────────────┘
               │
        ┌──────▼──────┐
        │Python API   │
        └─────────────┘

Key Components

  • Memory-Mapped I/O - Zero-copy file access
  • Worker Thread Pool - Parallel processing with per-thread decoders
  • SIMD Transforms - Vectorized operations (AVX2/AVX-512/NEON)
  • Lock-Free Queues - High-performance concurrent data structures

License

TurboLoader is released under the MIT License.


Citation

If you use TurboLoader in your research:

@software{turboloader,
  author = {Jain, Arnav},
  title = {TurboLoader: High-Performance ML Data Loading},
  year = {2026},
  version = {2.25.0},
  url = {https://github.com/ALJainProjects/TurboLoader}
}

Support


TurboLoader - High-performance ML data loading with a C++20 core and SIMD transforms.

Download files

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

Source Distribution

turboloader-2.26.3.tar.gz (639.7 kB view details)

Uploaded Source

Built Distributions

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

turboloader-2.26.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

turboloader-2.26.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

turboloader-2.26.3-cp314-cp314-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

turboloader-2.26.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

turboloader-2.26.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

turboloader-2.26.3-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

turboloader-2.26.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

turboloader-2.26.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

turboloader-2.26.3-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

turboloader-2.26.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

turboloader-2.26.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

turboloader-2.26.3-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

turboloader-2.26.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

turboloader-2.26.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

turboloader-2.26.3-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file turboloader-2.26.3.tar.gz.

File metadata

  • Download URL: turboloader-2.26.3.tar.gz
  • Upload date:
  • Size: 639.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for turboloader-2.26.3.tar.gz
Algorithm Hash digest
SHA256 a5ce9fe372eadac8f314b228137bd1a38a4014051e3a7b07a8bc80af905cb287
MD5 76a9609da5ad9efd5e5228fd12d0a403
BLAKE2b-256 3480e1ed0c31e8fc4d8a3fb0854856c13f4fa60ecbf9b83058e2a4c7a1b655d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3.tar.gz:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3a8383d4313a8e31622e7d9970ff0c9153d32a6db1ed1ee59509dd4f3488c57
MD5 d294f2cc47f8dd6f3a298862d5f24ff4
BLAKE2b-256 f58537cf772f4a7d51a5bfef8f527849206ec3b34422a1cfb36f90b583cf1916

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 21bf779008e80909e1015055ec8ecaa523bf735f354932cc34b98e9e4a3c45e6
MD5 1d6dd0cf596248ecb97ae4f017098ceb
BLAKE2b-256 d074dfba856bad1e930b21d6dd90d72c566550d752af63233e8afed3e83a9ed4

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08ee9cf2be66b50a651b26afa79361e599fd0c9fae6cd23f26067795067c3dfc
MD5 e7b10b49fa639dd7ef8c929472f9e75a
BLAKE2b-256 50c3a31ff7b1ea8cda36340eef72a6e7df9b5c30aa39b289182d8670e1f0f92f

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9fed34ebff4a4a65ee9722833b8e272f9395af79c47bd2cb7a0cda968345fe5c
MD5 630eb366cb64f1695a5b93a8824045eb
BLAKE2b-256 ca3c845b65d25275172c4ae4109a6aa5327ff04931cb214235ecc25c6941554d

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ef66004f856377731997886ad593239db28f9494a3a57177235e0630cea48d3a
MD5 1eec02eaf3d0d28d942d6c058e909b02
BLAKE2b-256 aee57bea6c2cc4fc5cae12477b02302eae9e115703c95714485f3edb4a1ebaa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbf80718d4c8429bde288724d1973eaed43caa8189f04a09fe7153704dbc85e2
MD5 a6685c8e021e6db97ed4275b188899b0
BLAKE2b-256 4e719eea7b537dc422daeb5e8ead25523ec3b0ce801263b19ece74ff594c9472

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 20c0bf272814368909b66afac03182d01683c462d387ac7db3e178e6651cc2c6
MD5 8cd670b1fad8300fac0e179eb8cf2807
BLAKE2b-256 ba47d419d9a69b9a788dbfa8cc7cb9a83310cb6dc6de59d1a47aba13e8e004d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8f3632abbf7428020d388d0646f9ceb6a68dab7fa7e5d2fdde0a517967adb9b7
MD5 c4e31b6014f2b0475e376761ca307ff5
BLAKE2b-256 6b7220dc5ac207b814a48bb0e9a46e823c0b7fd823f48a827664ecad971ed39e

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 baa3fc69643ce498320d14fd1cbfdcf7b677c75d11e4bca07f40e604f923c95f
MD5 babaa6a04f6654eb1ee75f4c28d0145f
BLAKE2b-256 ccd0beae21b5587b39f70d6a68971143aef59058d5b31f3f9b18c7febd36b1b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ed9f1c2dae8555d114008f94cca2837acf93be9195212666e6a248aee7a9f7b
MD5 560b58e7d2799e5ec1ab359e8ae39dfe
BLAKE2b-256 24df8cae50a485f85d7eb81ade666d61f3aa0d41a178b42cdceee9ba74dbe761

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 87f9268535294ac763397025876b9ed115c37070c7eee9c573cb4c998cfb4044
MD5 18bf5919662d5bf4430a37a2586d2bd4
BLAKE2b-256 e9d86a5e95e2d0c4948d2f85d75a824b3cc5c452e5f1dc0167b005f55ecfc9d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc9e0691a0bdfced75cd31f78fd659669c4b58459d520911af8b99e4e48b9fb0
MD5 93a8dbaf5bdf04187e01bc58c018fb60
BLAKE2b-256 b547bae179d4a75a32b643902f39bb1821d8dca129582a66d1ada41605ec891e

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7a72949f071c74c0eccd939cf3e44ad9ed9a07c23eb2419eda84a1ad2803bd0
MD5 a28303850b5e476a1fca499b44ea2689
BLAKE2b-256 8784ef983e360d4d470c357d1cdb2c1391c5ca91ecfd69a4ae60ff3ccf130f9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 98bcb5a35b7c16f836b45eb52f357394f35be75d0b6c4f368962e62d63a33b8f
MD5 d992f418d0ffc6ed2a27edeaefd4f90d
BLAKE2b-256 95033cf3d2de424d1a840e042ccf632d52c7140bd59269d03755e6ed1d3f3fab

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turboloader-2.26.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.26.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8841cc14afdb80d21c4b0a4c3a206509fae41d5eefac0d30522f071f2b421813
MD5 6ae06c74a2adaa1f9e6d98dac625f24c
BLAKE2b-256 16eb79bdb5d7e64e899de9c0909c978c0a0c01503202cc7f9d95e4f2edc6a359

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.26.3-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on ALJainProjects/TurboLoader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

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