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

Download files

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

Source Distribution

variopinta-0.4.4.tar.gz (116.8 kB view details)

Uploaded Source

Built Distributions

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

variopinta-0.4.4-cp310-abi3-manylinux_2_34_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ x86-64

variopinta-0.4.4-cp310-abi3-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file variopinta-0.4.4.tar.gz.

File metadata

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

File hashes

Hashes for variopinta-0.4.4.tar.gz
Algorithm Hash digest
SHA256 f90a1217be3405b81fcc2c7cc1d68a0e50a5b54f68ee2bf08798c938f295a14c
MD5 ea80cd41e2d664e9dca8dbc91dbe43fd
BLAKE2b-256 cdcba39f3ce7b69d59a55e04aa403760e03fb24dff81408d161b88d355c81d88

See more details on using hashes here.

Provenance

The following attestation bundles were made for variopinta-0.4.4.tar.gz:

Publisher: release.yml on claverru/variopinta

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

File details

Details for the file variopinta-0.4.4-cp310-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for variopinta-0.4.4-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f5ba8b69d7bbc810e284ac81e66f395819e5f2c9215b4194bc6e0667e2d8bfc8
MD5 5de4186ace1eaaf188e1b870e35b7c2c
BLAKE2b-256 98f914c6355368f06e299f13dd13ff4252af394f323f73792dfe06c36f8a3928

See more details on using hashes here.

Provenance

The following attestation bundles were made for variopinta-0.4.4-cp310-abi3-manylinux_2_34_x86_64.whl:

Publisher: release.yml on claverru/variopinta

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

File details

Details for the file variopinta-0.4.4-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for variopinta-0.4.4-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 242ad74d87b4d843c598c395e5c85e0979e66de0b17296dac935f11d63fbfcd0
MD5 191a2cf1f5a3541afe2cde8376ce3215
BLAKE2b-256 cb3b8fcb7263f36ab376d9f5d7dd3cd151b83dabd3e26f0a13ff22fe0c1f30b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for variopinta-0.4.4-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on claverru/variopinta

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

Release history Release notifications | RSS feed

0.5.0

3 files

This release

0.4.4 This release

3 files

0.4.3

3 files

0.4.2

3 files

0.4.1

3 files

0.4.0

3 files

0.3.1

3 files

0.3.0

3 files

0.2.0

3 files

0.1.0

2 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