Skip to main content

TurboLoader

High-performance ML data loading — a C++20 core with SIMD transforms, GPU kernels, and one pip install.

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

TurboLoader demo: pip install, then ~60k img/s on real ImageNet JPEGs

Real recording (tape, script): 9,469 real ImageNet JPEGs decoded → RandomResizedCrop+flip → resized → normalized, ~60k img/s per epoch on an M4 Max laptop.


How it works

The fast path does everything in one fused, GIL-released C++ pass — no worker processes, no per-sample Python, no offline format conversion:

flowchart LR
    A["TAR of JPEGs<br/>(local / http / s3 / gs)"] --> B["persistent C++<br/>thread pool"]
    B --> C["decode → augment → resize → normalize<br/>SIMD (NEON / AVX2 / AVX-512), fused"]
    C --> D[("contiguous batch<br/>N×3×H×W float32")]
    D --> E["your training step<br/>(zero-copy to torch)"]
  • Fast on CPU: ~55k img/s on-the-fly (2.0× tf.data, 2.7× PyTorch DataLoader); trains a real ResNet-18 1.05–1.17× faster end-to-end (run-dependent), ~9% above the pure-GPU floor
  • Fast on GPU: beats NVIDIA DALI on-the-fly (+12%, RTX 3090) and FFCV on pre-processed data (1.6–3.5×); ~757k img/s resident on Apple unified memory
  • Pre-processed pipeline (TBL-RAW): decode once, mmap-serve every epoch — 531k img/s raw serve on CPU, beats the float32 RAM cache at every consumption level on ~1/9th the peak RSS, bit-identical batches, any hardware; fastest e2e input pipeline we've measured (3.64s epochs vs 3.76 TAR / 3.92 PyTorch, floor 3.39)
  • Video: hardware decode to training batches — 3.9× the best industry standard on Apple Silicon; CUDA VideoDatasetLoader trains a real video classifier 1.16× faster than the PyTorch+PyAV recipe (first e2e video benchmark)
  • Train-ready: fused train_aug (torchvision-parity RandomResizedCrop+flip), state_dict() mid-epoch resume, pinned-memory rings, DDP sharding
  • Also tokens & arrays: memory-mapped TokenDataLoader (1.9× nanoGPT get_batch to-device, zero-alloc pinned ring, device='cuda' overlapped H2D), ArrayDataLoader, and MapDataLoader for any __getitem__ dataset
  • Every number is honest: interleaved medians, real consumption, corrections published — full methodology

Which loader do I use?

flowchart TD
    S{{"What are you loading?"}}
    S --> IMG["🖼 Images<br/>(TAR of JPEGs)"]
    S --> VID["🎬 Video files"]
    S --> TOK["🔤 LLM tokens"]
    S --> ARR["📊 Arrays / tabular"]
    S --> ANY["🐍 Anything with<br/>__getitem__"]

    IMG --> Q0{"Many epochs,<br/>resize+flip recipe OK?"}
    Q0 -- "no (full random aug)" --> Q2{"Where to decode?"}
    Q0 -- yes --> Q1{"Fits in GPU /<br/>unified memory?"}
    Q1 -- yes --> RES["CudaResidentLoader · NVIDIA<br/>MetalResidentLoader · Apple<br/>(both ingest .tbl)"]
    Q1 -- no --> TBL["preprocess_to_tbl once →<br/>DataLoader('data.tbl') · mmap"]
    Q2 -- "CPU fast path (default)" --> DL["DataLoader(output_format='pytorch',<br/>image_size=N)"]
    Q2 -- "NVIDIA GPU" --> CIL["CudaImageLoader(decode='nvimgcodec',<br/>return_indices=True)"]
    VID --> QV{"Training on a labeled<br/>video dataset?"}
    QV -- yes --> VDS["VideoDatasetLoader · NVIDIA<br/>(dir of class folders → clips)"]
    QV -- "stream one file" --> MV["MetalVideoLoader · Apple<br/>CudaVideoLoader · NVIDIA"]
    TOK --> TDL["TokenDataLoader<br/>(device='cuda' for GPU batches)"]
    ARR --> ADL["ArrayDataLoader<br/>MetalResidentArrays (GPU gathers)"]
    ANY --> MAP["MapDataLoader"]

    style DL stroke-width:3px
Full decision table + lifetime rules
You have Use Notes
A TAR of JPEGs, training on any hardware DataLoader(..., output_format='pytorch', image_size=N) The default fast path — auto-fused C++ decode+resize+normalize. Start here.
The same, need per-sample dicts (inspection, irregular data) DataLoader(...) (default output_format='dict') Several times slower; not for training loops.
Labels derive from meta['indices'] / sample['filename'] Samples carry no label key; align an external label array by index.
A dataset that fits in GPU/unified memory, many epochs CudaResidentLoader (NVIDIA) / MetalResidentLoader (Apple) Decode once, ~280k / 433–757k img/s per epoch. return_indices=True for labels. Both ingest .tbl.
Many epochs, fixed resize(+hflip) recipe, any hardware preprocess_to_tbl once → DataLoader('data.tbl') mmap serve, zero decode, ~zero owned RAM; bit-identical to the TAR pipeline. No random crop — bake it or use the TAR path.
A pre-processed dataset larger than VRAM (NVIDIA) CudaStreamLoader Fully-C++ streaming, ~140k img/s.
On-the-fly GPU decode (NVIDIA) CudaImageLoader(decode='nvimgcodec', return_indices=True) Beats DALI; batches complete OUT of order — align labels via the returned indices.
On-the-fly GPU transforms (Apple) MetalImageLoader (alias of GpuImageLoader) Metal decode+transforms.
Video files (stream one) MetalVideoLoader (Apple) / CudaVideoLoader (NVIDIA) Hardware decode → training batches; iter_clips() for augmented clips.
Labeled video dataset, training (NVIDIA) VideoDatasetLoader(root_dir) root/class_x/*.mp4(clips, labels, meta) CUDA batches; threaded decode + ONE fused kernel per clip.
LLM token streams (memmap) TokenDataLoader CPU memmap is already optimal (measured); device='cuda' yields ready GPU batches (pinned ring, overlapped H2D).
Arrays / embeddings / tabular ArrayDataLoader; MetalResidentArrays for GPU row gathers
WebDataset-style TARs WebDatasetLoader

Two lifetime rules: (1) loaders yielding zero-copy views (pin_memory=True ring, Metal/CUDA resident + video loaders) reuse their buffers — consume or copy a batch before advancing past the documented window; (2) GPU loaders yield __cuda_array_interface__ objects — adopt with torch.as_tensor(x, device='cuda').


Installation

pip install turboloader            # Linux x86_64/aarch64 + macOS arm64 wheels (CPU + Apple Metal)

CUDA loaders: prebuilt cu13 wheel on the latest release, or build from source — see GPU acceleration. Details: installation guide.


Quick Start

import turboloader

loader = turboloader.DataLoader(
    'imagenet.tar',                 # TAR archive of JPEGs
    batch_size=128,
    image_size=224,                 # fixed size => one contiguous tensor per batch
    output_format='pytorch',        # (N, 3, H, W) float32, normalized
    transform=turboloader.ImageNetNormalize(),
    shuffle=True,
    train_aug=True,                 # fused RandomResizedCrop + flip in C++
)
for images, meta in loader:
    # images: numpy (N,3,224,224); torch.from_numpy(images) is zero-copy.
    # meta['indices'] aligns external labels to this batch.
    ...

Labels: samples carry no label key (a TAR is flat). Use PyTorchCompatibleLoader for ImageFolder-style (image, label) tuples, or align a label array via meta['indices'].

More: quickstart · per-sample dict API & transforms · tokens, arrays & any Python dataset · interactive notebook


Benchmarks (headlines)

Real data, real consumption, interleaved medians, warmup excluded. Run them yourself — scripts in benchmarks/, full methodology + honest caveats (and the corrections we published) in docs/benchmarks.

Regime TurboLoader Best alternative Hardware
On-the-fly CPU (decode every epoch) ~55k img/s tf.data ~27k · PyTorch ~20k M4 Max
On-the-fly GPU 28.5k img/s NVIDIA DALI 25.5k (+12%) RTX 3090
Pre-processed, fits in VRAM ~280k img/s FFCV ~80k (3.5×) RTX 3090
Pre-processed, streaming > VRAM ~140k img/s FFCV ~85k (1.6×) RTX 3090
Pre-processed, unified memory 433–757k img/s numpy resident ~3.7k M4 Max
Pre-processed, CPU mmap (TBL-RAW, any hardware) 531k img/s raw serve (99k np.sum-consumed w/ prefetch) float32 RAM cache 62k (60k) at ~9× the peak RSS M4 Max
Video → training batches 2,556 f/s (3.9×) OpenCV 657 · PyAV 535 · torchcodec 173 M4 Max
End-to-end ResNet-18 training 1.05–1.17× vs PyTorch recipe ~9% above the pure-GPU floor RTX 3090
End-to-end VIDEO training (r3d_18) 1.16× vs PyTorch+PyAV recipe both decode-bound (honest) RTX 3090
LLM tokens → device 168M tok/s (1.9×) nanoGPT get_batch 88M RTX 3090

Honest notes worth knowing before you quote these: FFCV is faster than us on-the-fly is impossible for it (needs .beton conversion); decord beats our CUDA video cpu-backend on weak-CPU hosts; MetalTokenGather ties the CPU path (so we recommend the CPU path); e2e ResNet-18 on Apple MPS is a tie because the GPU is the bottleneck; CudaPrefetcher measured neutral in our e2e runs (decode, not H2D, binds them). All in the full write-ups.


Architecture

flowchart TD
    subgraph PY["Python (thin orchestration)"]
        API["DataLoader · TokenDataLoader · ArrayDataLoader · video/GPU loaders"]
    end
    subgraph CPP["C++20 core — GIL released"]
        MM["memory-mapped TAR / TBL v2 reader"]
        POOL["persistent thread pool<br/>per-thread libjpeg-turbo decoders"]
        SIMD["SIMD transforms<br/>NEON / AVX2 / AVX-512"]
        BUF["fused write into the<br/>output batch buffer"]
        MM --> POOL --> SIMD --> BUF
    end
    subgraph GPU["GPU kernels"]
        METAL["Apple Metal<br/>resident · video · transforms"]
        CUDA["NVIDIA CUDA + nvImageCodec<br/>resident · stream · video · clips"]
    end
    API --> MM
    BUF --> API
    API -.-> METAL
    API -.-> CUDA

Deep dive: architecture · GPU acceleration · transform library (24 transforms) · TBL v2 binary format


Documentation

Getting started installation · quickstart · notebook · troubleshooting
API API reference · transforms
Guides PyTorch · TensorFlow · distributed (DDP)
Examples ResNet-50 training · Lightning · DDP · GPT on tokens
Benchmarks methodology + full results · video · Metal resident · e2e training

License & Citation

MIT. If you use TurboLoader in your research:

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

Support: issues · discussions · PyPI · python scripts/verify_installation.py

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.36.0.tar.gz (946.4 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.36.0-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.36.0-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.36.0-cp314-cp314-macosx_11_0_arm64.whl (870.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

turboloader-2.36.0-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.36.0-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.36.0-cp313-cp313-macosx_11_0_arm64.whl (870.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

turboloader-2.36.0-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.36.0-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.36.0-cp312-cp312-macosx_11_0_arm64.whl (870.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

turboloader-2.36.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.0 MB view details)

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

turboloader-2.36.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.7 MB view details)

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

turboloader-2.36.0-cp311-cp311-macosx_11_0_arm64.whl (865.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

turboloader-2.36.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.0 MB view details)

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

turboloader-2.36.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (9.7 MB view details)

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

turboloader-2.36.0-cp310-cp310-macosx_11_0_arm64.whl (864.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: turboloader-2.36.0.tar.gz
  • Upload date:
  • Size: 946.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for turboloader-2.36.0.tar.gz
Algorithm Hash digest
SHA256 b707caaea7c5c44bcb0c99250c6728363e403dad929c41e9e2108de3b7faf4fa
MD5 c378a4470197be435131bde1cfd78fb7
BLAKE2b-256 4af11bc998d1bb11ca09f59523510570cae4e3caeac64097553b0b33506a04b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0.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.36.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b4931fb0d3a6585c69f7ca0ea6c2e4254a1cffad235abad5c68985f979f1d4db
MD5 5ea8a8918d300d51265f7004dd476b8d
BLAKE2b-256 7f5e3c0d0125008c9b03f1d758d6fe63b0cf16a55262997604271a1d9385b8af

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42b98ba6b4e2b25819ef92273bf64e07e8175c3db7eaa5f59c6dc4239eb6ddeb
MD5 215349f2e9f48a92d8e57364ddce46cc
BLAKE2b-256 15a6d0a3ac39b222c419216f6961bd883ba258ffec95c4f3eea96649d2148bb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3acd44277217a2aec57f5e9a87a117d7871fa6006438fc103b68cf8a8d977626
MD5 100a075bc55c450d87be62597eefacce
BLAKE2b-256 82e99bfa539023207d30bc3aa106615737db245c34bc6bfa9dbf1b924b9758c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36105ad1689d961ddec5ce916cbc16e133c992b27c9f352a931ca190d4a99a37
MD5 3ddf1d28c06fab1b53ae21be58533397
BLAKE2b-256 d567f2dc971d6721f80e439b92dbd59b7931d8991c7f29082edfe97e4e5fe887

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1d3b7deee30b6d204eb598eb8821d7507dec821dd9379536ba694c8a10e5c8da
MD5 7897d36af4370dd973d2697df78e2134
BLAKE2b-256 c21fcbbcdbeb19da666bb39c69c49307d5e59db12c4fad844708b871b87170b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 090a2bc60d57e9a391bc5e9c3a20124bfe6d4edf30d90e7078a0305f7e36ef21
MD5 e9a5e9c2b051ee54821d9b0b9480d3df
BLAKE2b-256 1cfcd4e190b114812e577a456638230c1d91925c0ee0babde73cfcf75f85c66c

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e5aa5e6d7d2ba201fb922e77dbe969df2d6424492830d169f6d5db4d9660433
MD5 e5f443c8a2f4ec286d0fd3108f2dfce4
BLAKE2b-256 66c55eef710242cd348617230866030784b45d9f27dc22e36adc6e336acb7e44

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 118fae7fa21deedf01cce681c2bd460ea20c947e6ec3801dcd407a7a00b58c48
MD5 764cf1a91c5de5acc56518401455f519
BLAKE2b-256 d87620c082e722816df60040d88ea173a80eede2e58bc63ef9e47efb5a54d4c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be0d7af93cf7b734fd1f54b84d56159aa82daf5d0974ab253c30fefef31a2eac
MD5 fde00f71ae666f8a53151e854e2c8bc7
BLAKE2b-256 518c9d57e2b3e5af9f5018deb43d374cb16d4a3a4ad8dc947f37cf5550e7871d

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5bc8b060634301cb773a8e0c0d5b103a976caf1fd0e122987e69013e9a1a0195
MD5 7087761a485434415c031f9f3b98aa10
BLAKE2b-256 681654c8dc204630b2547f8697c6ef244b2b403adb43ebd6fbea3988fe180806

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a4288d46422b86a7abf17793e013acc805d4596d6b60feab90d417523f7ac07d
MD5 20f4406cb5fd579894cbd8324003ab59
BLAKE2b-256 4e7c5310d80fb7eb3aebf4e0a84597ace869127b94c84df708542552527b446c

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 577c15d80b3df47b1dd88143e7329153f6ce670591e9429bcf2ce5eca5d8bb3c
MD5 6b89b00f9d20a3e5cb996d87eff420f7
BLAKE2b-256 9d3373ac1d4abd88f15aa49760b2773678ccd9e4b847eec567a361642cdaf0d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b57775a09668f12233ed1afd88e2001b1b3325234bcf0bed5c06ca31cfa8c875
MD5 b59b571530e7946ab4c4a4dbfe973204
BLAKE2b-256 24ff7b272ed45cdc28ff5298ffee1b0fd721f095c7314e8b107d2cb854cefeda

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b902f84650beaaef50877135956d407e724e3332e15f6063f5471846c81e1357
MD5 c48135e50151dc0510c30844872577d3
BLAKE2b-256 3c842f3ef48623f0040762e07e52418ec73cecdb9a60774d2c3456ff3c4085f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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.36.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turboloader-2.36.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d943ea75483da52b00540d11125d4dc513f83f6c30969b777544b5b7d7f4a3e2
MD5 d8ba2c09173a7ecdbe68a3119db8bd7b
BLAKE2b-256 aa8891cda03b35b38177873f116bca6c1ad0b57b203be85912b186a271aa5c34

See more details on using hashes here.

Provenance

The following attestation bundles were made for turboloader-2.36.0-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