Skip to main content

Variopinta

Variopinta is a CPU image-augmentation compiler: define a pipeline in Python, then compile it for optimized native execution in Rust, with reproducible randomness and an inspectable execution plan.

Variopinta is pre-alpha. The public API may change between 0.y.0 releases; patch releases preserve documented signatures and data contracts unless a correctness or security fix requires otherwise.

Why Variopinta?

  • One pipeline, from input to output. Decode, augment, and deliver arrays, tensors, or encoded images in one native call. Compilation plans buffer reuse, copy avoidance, and output layout; each target is transformed once for all its outputs. See pipelines and outputs.
  • Reproduce results regardless of worker order. Use a pipeline seed and a per-call key to replay an augmentation independently of call order or worker assignment, within the same release and execution environment. See control randomness.
  • See what the compiler actually does. explain() exposes the execution plan, including pixel passes, buffers, copies, and layout changes, so you can inspect which optimizations your pipeline uses. See execution-plan inspection.

Install

Variopinta supports CPython 3.10–3.13 on 64-bit x86 Linux with glibc 2.34 or newer and on macOS 11 or newer running natively on Apple Silicon.

python -m pip install variopinta

PyTorch is optional and needed only for ReturnTensor outputs. Platform details and source-build instructions are in Getting started.

Quick start

import numpy as np
import variopinta as vp

pipeline = vp.Pipeline(
    [
        vp.RandomCrop(256, 256),
        vp.Resize(224, 224),
        vp.HorizontalFlip(p=0.5),
        vp.Normalize(),
    ],
    seed=42,
).compile()

image = np.random.default_rng(0).integers(0, 256, (320, 320, 3), dtype=np.uint8)
output = pipeline(image, key=0)
replayed = pipeline(image, key=0)

assert np.array_equal(output, replayed)
print(output.shape, output.dtype)  # (224, 224, 3) float32
print(pipeline.explain())

Pipeline is the semantic reference executor. .compile() selects the optimized execution plan while keeping the same call signature and keyed result.

Keep the pipeline, input, seed, and key fixed to replay a result. Exact replay is not guaranteed across releases, builds, or platforms.

Documentation

Current scope includes images and semantic masks with NumPy, encoded-buffer, and local-path inputs. It does not include boxes, keypoints, GPU execution, native batches, or Python callbacks inside a pipeline.

Project information

Performance depends on the pipeline, image sizes, output formats, and hardware. The benchmark harness and recorded evidence support comparisons for specific tested configurations.

Variopinta is licensed under the Apache License 2.0. Native-wheel attributions are in THIRD_PARTY_NOTICES.

Variopinta is the feminine form of the Spanish variopinto: “varied in color or appearance,” from Italian variopinto, “varied” and “painted.” — RAE

Metadata

Release files for variopinta 0.6.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 variopinta 0.6.0
File Size Uploaded
variopinta-0.6.0.tar.gz 126.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for variopinta 0.6.0
File Interpreter ABI Platform
variopinta-0.6.0-cp310-abi3-manylinux_2_34_x86_64.whl CPython 3.10 abi3 Linux glibc 2.34+ x86-64 Details
variopinta-0.6.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 3.1 MB

Release files / variopinta-0.6.0.tar.gz

Download URL variopinta-0.6.0.tar.gz
Size 126.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d1d0690f21b26b8d4bbc1b4708a3b9b20ef8500ddb2ae2bfe8a9cb6ca6e09691
BLAKE2b-256 checksum
How to use checksums
903c3d0b897a92d6ca7703738c5c8cc175fbd8732ee3b3a18b702163495e679f
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 7, 2026.

Transparency log

Release files / variopinta-0.6.0-cp310-abi3-manylinux_2_34_x86_64.whl

Download URL variopinta-0.6.0-cp310-abi3-manylinux_2_34_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
f20c2afcc0c496fbb4f537ada91be63230c52a7b500cc242d30a438c72c32069
BLAKE2b-256 checksum
How to use checksums
6e2578fddf27a672e6766b99c91e15b41b3e04689af0aa6a367897963ec548f1
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 7, 2026.

Transparency log

Release files / variopinta-0.6.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL variopinta-0.6.0-cp310-abi3-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6846105599031ea9fa4049f965171d1b7e27e2c5d57234444955c0718e2c2751
BLAKE2b-256 checksum
How to use checksums
ab0ad097e23090379cff217e4c92161bc4ca4f6c2dab1020738505d5b23e48e9
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 7, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.0

3 release files

This release

0.6.0 This release

3 release files

0.5.0

3 release files

0.4.4

3 release files

0.4.3

3 release files

0.4.2

3 release files

0.4.1

3 release files

0.4.0

3 release files

0.3.1

3 release files

0.3.0

3 release files

0.2.0

3 release files

0.1.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