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, ~100k under a full read pass at 1/3 the RSS of the float32 RAM cache (which we also just made 2.6x leaner and 2x faster), 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) 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
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

Release files for turboloader 2.37.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.37.0
File Size Uploaded
turboloader-2.37.0.tar.gz 950.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for turboloader 2.37.0
File
turboloader-2.37.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.37.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.37.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
turboloader-2.37.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.37.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
turboloader-2.37.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
turboloader-2.37.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
turboloader-2.37.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.37.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
turboloader-2.37.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
turboloader-2.37.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.37.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
turboloader-2.37.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
turboloader-2.37.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.37.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 111.3 MB

Release files / turboloader-2.37.0.tar.gz

Download URL turboloader-2.37.0.tar.gz
Size 950.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9610cd30317215d18ca74fc7ae00de2fe6607570880f444aac90291cb9cfd817
BLAKE2b-256 checksum
How to use checksums
e4087d6cf5dae0e1e7b2d5ecbe5f63e81ec47cbf4ad26c52281f237320290601
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.8 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
721cdbe30beb7f1279ace2432caa8944c3d2fc60a3e9a6414dd087d800c7ba11
BLAKE2b-256 checksum
How to use checksums
ff7b848a86073a89840e0ea40274bb69f02b279c9f11aaa919af44db06a623fc
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.4 MB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
19c8e12c92e23730238b4ec69e4c46890a1be82c365fd501793efc87c59009bb
BLAKE2b-256 checksum
How to use checksums
bafdb7261a5774cc2fa4110df439d125cc3e20b4a554a9b2511377bb67473731
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp314-cp314-macosx_11_0_arm64.whl
Size 890.0 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
41a7394a022ef27139e0b8b8322e2f66b8419756b567ea73efb5061664fd0bb2
BLAKE2b-256 checksum
How to use checksums
b8abcf30751925de6326d7bdc319efdc443d0f406bd7f482238cff0413f989c9
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.9 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
504193064bc7d79dc6feb98d263c540e491df9a0b1a5d9263bb24fcbda8ead19
BLAKE2b-256 checksum
How to use checksums
47dcf07ff96fe9c611c08875146faee229858193248f672a71169c46028ec85d
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.4 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e1f8ecd95d9eb17f7778b35bde2f961b2c5eb2bf226965cd566b6bc4d4cba309
BLAKE2b-256 checksum
How to use checksums
a463aa53420c7f83af4cdfb0f39442d531746b10f291ef6d6dc822dbcb19fb0d
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp313-cp313-macosx_11_0_arm64.whl
Size 889.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d87b5b08596548c26c1bf2a84f8fe3b616b3236dd63f291289274db0d831a0f8
BLAKE2b-256 checksum
How to use checksums
c09f377693c1020dd44940f60fff39b92b84a829305f5e58aff12f43b26db280
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.9 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
63821c8a1d62a8804d8c7df0168db8b1a967c7dc4fabf94029a69d544218034f
BLAKE2b-256 checksum
How to use checksums
d218faabd77873b11dee4ac37b649726b12bc712065bc9c001e99680a7f919df
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.4 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
33b83f96470c3de03b42205072f98d973ee9af720712ea7fcf9a2a1516fc0572
BLAKE2b-256 checksum
How to use checksums
341d7de2ccd04a8cc5ac9a63b9df6db6cc89d1edc760f582c34631bc711f2192
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp312-cp312-macosx_11_0_arm64.whl
Size 889.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
42bb2f5a1716fdc6092f0eb7853b3552591df5c9f87c25b11ca7fd586593daae
BLAKE2b-256 checksum
How to use checksums
8b602c2d43cb76e2d4792a6b8f1086793f9d504bfeecd0d3a112692287357292
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.7 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bf8c47b55ceab1230490b6ee36af3eb0c37fc33e014f7cb9e46ad6ee11c21df1
BLAKE2b-256 checksum
How to use checksums
dce1d0d11c11481d91e2d1c31f326bdebb606eb80c7e3f2371cef4d21be988cb
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.3 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
62a315166f6f1ff60a02081fb0e2cb23aa8f78e49574ddb7b96f2111c13225d7
BLAKE2b-256 checksum
How to use checksums
f084ef869d47ba12d90402472f6e737d78f82d9916104f92d6da44a5d52a25f0
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp311-cp311-macosx_11_0_arm64.whl
Size 882.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8f7def4e1232fed6182fc8b36f36c21c2df3a4174420d320ae92c63ec9e96625
BLAKE2b-256 checksum
How to use checksums
24f226c49fd6d96f1b17360f934c80043927f89e24bee59723ad3ed1ce5aae91
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.7 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3d4436ee624e5630dad315c322f2180d1b5f9b8c5d78aa9a9d3bf47428d70a82
BLAKE2b-256 checksum
How to use checksums
98370dcf83112dd5fc6d481647e98f40cc5b773ca0d349473ff9e3c583cfb2c9
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 10.3 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
065983267e796d722850eede499dc351431559d37b3456c8004ddc110c0f66c3
BLAKE2b-256 checksum
How to use checksums
87adf470e6afe4b8ebc005f1640d487b8d413b403831f70994a97fdb846ee364
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 Sep 25, 2026.

Transparency log

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

Download URL turboloader-2.37.0-cp310-cp310-macosx_11_0_arm64.whl
Size 881.1 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c2129e800dc6b28c8cc94e03771eecc7d610cd32d29f261160d061338bcd831c
BLAKE2b-256 checksum
How to use checksums
9bb4625f1e1565efc139d449385175d2909f059b986cd3d62e2791debfae8dcb
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 Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.37.0 This release

16 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