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 — 586k img/s raw serve on CPU, and with serve-time RandomResizedCrop + flip (fused SIMD kernel, torchvision-parity sampler) 87k img/s = 2.7× the on-the-fly train_aug path for the full-augmentation recipe; bit-identical batches on the identity path, float16 and channels_last output, DDP sharding, 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, decoding only the crop window), state_dict() mid-epoch resume, pinned-memory rings, DDP sharding, a JAX/XLA handoff for TPUs and Trainium (loader.to_jax())
  • 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 on the<br/>same dataset?"}
    Q0 -- "no / one pass" --> 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', train_aug=True)<br/>mmap + serve-time crop/flip"]
    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, any hardware (full aug or fixed recipe) preprocess_to_tbl(..., image_size=192) once → DataLoader('data.tbl', image_size=160, train_aug=True) mmap serve, zero decode, ~zero owned RAM; serve-time RandomResizedCrop + flip via a fused SIMD kernel (2.7× the TAR train_aug path); identity path bit-identical to the TAR pipeline; dtype='float16', channels_last=True, world_rank/world_size.
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) 586k img/s raw serve (99k np.sum-consumed w/ prefetch) float32 RAM cache 137k (101k) at 3.3× the peak RSS + a decode-all startup M4 Max
Full-aug training recipe (RandomResizedCrop + flip) 87k img/s TBL-RAW serve-time aug (78k consumed) on-the-fly TAR train_aug 32k (2.7×) 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

Metadata

Release files for turboloader 2.39.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for turboloader 2.39.0
File Size Uploaded
turboloader-2.39.0.tar.gz 955.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for turboloader 2.39.0
File
turboloader-2.39.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
turboloader-2.39.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
turboloader-2.39.0-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
turboloader-2.39.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
turboloader-2.39.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
turboloader-2.39.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
turboloader-2.39.0-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
turboloader-2.39.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
turboloader-2.39.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
turboloader-2.39.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
turboloader-2.39.0-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
turboloader-2.39.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
turboloader-2.39.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
turboloader-2.39.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
turboloader-2.39.0-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
turboloader-2.39.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
turboloader-2.39.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
turboloader-2.39.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
turboloader-2.39.0-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
turboloader-2.39.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 117.8 MB

Release files / turboloader-2.39.0.tar.gz

Download URL turboloader-2.39.0.tar.gz
Size 955.0 kB
Tags Source
SHA-256 checksum
How to use checksums
91299942667dad7d859573a17ec7bb5abede78e2ff2478504d3a2edc7c8cd071
BLAKE2b-256 checksum
How to use checksums
5d06b94a74ef08f8b03fc43a6721f7575de1a85b1bedee6d1db9a5c59e57b2f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL turboloader-2.39.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 11.0 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d173d3599a82be9c6d89ac28a58d990d34889a527841d68bc1faca8c52cbd1f6
BLAKE2b-256 checksum
How to use checksums
968c40f9a3ca439f536c848bc81ea857328d7cce4de3090d384fcce633afebf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL turboloader-2.39.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.6 MB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2404c61e640ae170fa2ff1ac7c3da24861bcb3721396d70ad4c4b9801c0aa75e
BLAKE2b-256 checksum
How to use checksums
68b5b3e13b6320b5739de989866948e63da38c8c7723b2e306748d8d9eaadf99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp314-cp314-macosx_11_0_x86_64.whl

Download URL turboloader-2.39.0-cp314-cp314-macosx_11_0_x86_64.whl
Size 931.4 kB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
1dda71265d5cbf2b72305aef629b82251887d0ef0951b2cde43e8b3bb6abea79
BLAKE2b-256 checksum
How to use checksums
4f9bdf9ea37102ddf1101c829ec3e6351f3d14342e8bb0fb2396d0f99e6be2b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL turboloader-2.39.0-cp314-cp314-macosx_11_0_arm64.whl
Size 918.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f7b7b4840306510e922a369af22412d8486e4268cac959854fd61c3e6fe39f4b
BLAKE2b-256 checksum
How to use checksums
b5e5ce071767a0e0644fc44d1ed543ce29bdece4a3c778d80e85ee2633b0fdac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL turboloader-2.39.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 11.0 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5f4631537f6522bff418e237e08ab251d26beaff3bbc79c084df36030cbb249c
BLAKE2b-256 checksum
How to use checksums
05c9875265752693be51caaf6cc95eca41bb4eefa62972245558ac65a46bde19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL turboloader-2.39.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.6 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a38676a135c01cce600d65cbcb9aaccc4ccfe59b3db97fc6998be0171e6a1364
BLAKE2b-256 checksum
How to use checksums
98959213165f3f0336bff04d031d96e1f580f9f068f6e120e8adb73f3fbfbec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp313-cp313-macosx_11_0_x86_64.whl

Download URL turboloader-2.39.0-cp313-cp313-macosx_11_0_x86_64.whl
Size 931.5 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
ea01194279271f6c3d5538c1cc6e26a48f550fad290b3283f8495417ae91f834
BLAKE2b-256 checksum
How to use checksums
49a299cd3879850b5d0224d7f32c86fb14efdaebc90bf4511be6e1f2526e562f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL turboloader-2.39.0-cp313-cp313-macosx_11_0_arm64.whl
Size 917.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d279b373916c54c08a6ac98540373ece19ed8bafb7c65c13b70baeef51a2f688
BLAKE2b-256 checksum
How to use checksums
5c79823ffe7f10ff03320c8ad79cd09364107a357a1e63df6cae829064b86bb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL turboloader-2.39.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 11.0 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
98a4b49abe9d6f9bb157833d02a39f19d2a2a050dba8ee23e79aad19d2a9bd2b
BLAKE2b-256 checksum
How to use checksums
e2ba7b3569f8ece1067611bf586790f35daa65c5700b891f6a67e34cf3033d28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL turboloader-2.39.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.6 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c1fa4a6421dd591161e982067f87a5718430219a30ffb0c5bf3e023cd47bd2ba
BLAKE2b-256 checksum
How to use checksums
1b169278feb5fcd9b364a1ecc89f54821b30c72c6560c26fbfca28a2ef856a15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp312-cp312-macosx_11_0_x86_64.whl

Download URL turboloader-2.39.0-cp312-cp312-macosx_11_0_x86_64.whl
Size 931.4 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
e83dccbe4887e558d9ca812d16d46ef7797fbedb6b146e717287405d3b3a1990
BLAKE2b-256 checksum
How to use checksums
887716e901c839832a4cd65b9a6d362ca3c6ab33dbf9124067d4a21e06786c38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL turboloader-2.39.0-cp312-cp312-macosx_11_0_arm64.whl
Size 917.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
93ca2130c8b944dcea6ea1de53d62fca947f95afe516eb7f06ee3b20477db542
BLAKE2b-256 checksum
How to use checksums
50dffa3f1f7546042ba6b1d81e476089c45d0da8d6c743d8722eb9376e0602b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL turboloader-2.39.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.9 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7eccd54005da4ad0e6d615c06dff258f0b502d328b417ccb51764d740e537ab7
BLAKE2b-256 checksum
How to use checksums
7775f9ea6fb945664f26924475a2d4699eb5789ea2ffd24ca1c162d5dc9c449d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL turboloader-2.39.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.5 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9ce914313fd6bc6620356adba6ff3b8e02490bd75cb698abc975b6917017e37c
BLAKE2b-256 checksum
How to use checksums
ed6507fe02da21243da8acc16425846997b4b0de4ea7dd2ed9e96b923aa54df1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp311-cp311-macosx_11_0_x86_64.whl

Download URL turboloader-2.39.0-cp311-cp311-macosx_11_0_x86_64.whl
Size 922.4 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
6cc202cd85f050c92a2d0d5d00d99ace9fb0ac9318484ce1c15a2de22da376b8
BLAKE2b-256 checksum
How to use checksums
c615b6135c1420b5009748fda3c5d3a07186cbcbb831ea5bb130af30b1d03f07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL turboloader-2.39.0-cp311-cp311-macosx_11_0_arm64.whl
Size 910.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
93776cda17efd6b582158fe74ccea1adae7e4e5d355ef07eb52faa58c60bef4d
BLAKE2b-256 checksum
How to use checksums
a5f5cfa3547ded2543e02c04e68ae79677864af7595e23f7803821174315de1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL turboloader-2.39.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.9 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a2411e65dfc52241abf87d06ab1009b2b0649254525f862cb0df8b01a8c4fdc1
BLAKE2b-256 checksum
How to use checksums
9c25d77b41428390527e696081428f5c5646c928546b3946467bcdf956bd808e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL turboloader-2.39.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.5 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5b5f61171d5d03878957022eb592a3071a2af0d7a48427d0f0871a9ca38043aa
BLAKE2b-256 checksum
How to use checksums
1b7b287bed07d0c6aaa42c83da7641a378b18682f5d705aed960396fb1abe79b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp310-cp310-macosx_11_0_x86_64.whl

Download URL turboloader-2.39.0-cp310-cp310-macosx_11_0_x86_64.whl
Size 921.1 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
0ca83bcdb0187bf340723c3a61e51260cdf6b78295d982547209bf44f7c60fa4
BLAKE2b-256 checksum
How to use checksums
dddac952ec36883ce85f48e131689eba6d011dfe4d6399aef4512e9a3295220f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / turboloader-2.39.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL turboloader-2.39.0-cp310-cp310-macosx_11_0_arm64.whl
Size 909.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cd999de214d796380f269a7aa1ab40e01b0aec771733cbec6242c024228129c1
BLAKE2b-256 checksum
How to use checksums
8870118cb1fdf78655eb5a33b3511a1615f732bcae426dab52f95b362e7f4716
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.39.0 This release

21 release files

2.26.1

9 release files

2.26.0

9 release files

2.25.0

2 release files

2.23.0

2 release files

2.22.0

2 release files

2.21.0

2 release files

2.20.0

2 release files

2.19.0

2 release files

2.18.0

2 release files

2.17.0

2 release files

2.16.0

2 release files

2.15.0

2 release files

2.14.0

2 release files

2.13.0

2 release files

2.12.0

2 release files

2.11.0

2 release files

2.10.0

2 release files

2.9.0

2 release files

2.8.0

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.23

1 release file

2.3.22

1 release file

2.3.21

1 release file

2.3.20

1 release file

2.3.19

1 release file

2.3.18

1 release file

2.3.6

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

1 release file

2.0.0

2 release files

1.9.0

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.9

2 release files

1.7.8

2 release files

1.7.7

2 release files

1.7.6

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page