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
keyto 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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file variopinta-0.4.3.tar.gz.
File metadata
- Download URL: variopinta-0.4.3.tar.gz
- Upload date:
- Size: 115.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27f9ac0139c2d3e50b45de5220fe4597515da7c6cb2044c7a871ca90b8b2b4a0
|
|
| MD5 |
f4d2bb25800d25fe8f0ca943667baa87
|
|
| BLAKE2b-256 |
77778e85515ce71e4660696e76ef0daf9d5de344e174c10d72c1bb2d9df83fbf
|
Provenance
The following attestation bundles were made for variopinta-0.4.3.tar.gz:
Publisher:
release.yml on claverru/variopinta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
variopinta-0.4.3.tar.gz -
Subject digest:
27f9ac0139c2d3e50b45de5220fe4597515da7c6cb2044c7a871ca90b8b2b4a0 - Sigstore transparency entry: 2724640216
- Sigstore integration time:
-
Permalink:
claverru/variopinta@9b2be0f2b4ddf469cb8720ac6393b1fd5917b7b9 -
Branch / Tag:
refs/tags/v0.4.3 - Owner: https://github.com/claverru
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9b2be0f2b4ddf469cb8720ac6393b1fd5917b7b9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file variopinta-0.4.3-cp310-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: variopinta-0.4.3-cp310-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.10+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e45f45e1251b689cd7d04b241b47028c7d8de6fdc839e497e5793209a818c98
|
|
| MD5 |
e6a93b7f41c95cca332b8f2122f0c7cb
|
|
| BLAKE2b-256 |
f5e06c59fea0e6ac5958080251aefe33feb3809bd643116633fec8529dbc68df
|
Provenance
The following attestation bundles were made for variopinta-0.4.3-cp310-abi3-manylinux_2_34_x86_64.whl:
Publisher:
release.yml on claverru/variopinta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
variopinta-0.4.3-cp310-abi3-manylinux_2_34_x86_64.whl -
Subject digest:
5e45f45e1251b689cd7d04b241b47028c7d8de6fdc839e497e5793209a818c98 - Sigstore transparency entry: 2724640562
- Sigstore integration time:
-
Permalink:
claverru/variopinta@9b2be0f2b4ddf469cb8720ac6393b1fd5917b7b9 -
Branch / Tag:
refs/tags/v0.4.3 - Owner: https://github.com/claverru
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9b2be0f2b4ddf469cb8720ac6393b1fd5917b7b9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file variopinta-0.4.3-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: variopinta-0.4.3-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
685c01758295db8d45a46aae1ee82e063681a7d20f3809188a92be7e50b1f25a
|
|
| MD5 |
fdf94bf91d15533a1049cfb1582c39a5
|
|
| BLAKE2b-256 |
bc16bbd33eccf9b55b3a2426c0627de97a4023a84853414252dd2e271abb17c6
|
Provenance
The following attestation bundles were made for variopinta-0.4.3-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on claverru/variopinta
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
variopinta-0.4.3-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
685c01758295db8d45a46aae1ee82e063681a7d20f3809188a92be7e50b1f25a - Sigstore transparency entry: 2724640378
- Sigstore integration time:
-
Permalink:
claverru/variopinta@9b2be0f2b4ddf469cb8720ac6393b1fd5917b7b9 -
Branch / Tag:
refs/tags/v0.4.3 - Owner: https://github.com/claverru
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9b2be0f2b4ddf469cb8720ac6393b1fd5917b7b9 -
Trigger Event:
push
-
Statement type: