Skip to main content

WIMF - Worst IMage Format

PyPI Python CI License

Worst Image Format

WIMF is an experimental, versioned image codec with a Python frontend and a portable C++17 backend. New still images use the WIM2 hybrid container: every 128×128 tile independently chooses Raw, Predictive, Palette, or CDF Wavelet coding and records its mode, entropy backend, bounds, size, offset, and checksum.

Highlights

  • Per-tile hybrid selection with Fast, Balanced, and Extreme search presets.
  • Exact lossless coding and quality-controlled CDF 9/7 lossy wavelets.
  • Palette coding for local regions with at most 256 colors.
  • Spatial prediction with row-level predictor selection.
  • Independently decodable tiles for bounded ROI reads.
  • RGB, RGBA, grayscale, and 8/10/16-bit pixel pipelines.
  • Zstandard-compressed structured symbols and per-tile CRC32 checksums.
  • Optional WIM2 anti-rot data capable of repairing up to two damaged shards.
  • Indexed WIM2 chrono states with random state decoding.
  • Portable C++17 kernels with NEON and AVX2 SIMD acceleration and a Python reference fallback.

Known limitations

Compression ratios are actively improving. WIMF 2.2 introduced content-adaptive wavelet quantization, improved Zstandard compression levels, and quadratic rate-distortion scoring. The encoder now produces significantly smaller output for most workloads, but further tuning is expected in future releases without breaking decode compatibility.

Benchmarks and comparative metrics against PNG, WebP, AVIF, JPEG, and JPEG XL will be published separately once the codec reaches a stable performance baseline.

Installation

Install the published package with Python 3.10 or newer:

python -m pip install wimf

Precompiled wheels are published for Linux x86-64, Windows x86-64, macOS Intel, and macOS Apple Silicon across CPython 3.10–3.14. A matching wheel does not require a local compiler.

For development:

git clone https://github.com/benchware/WorstImageFormat.git
cd WorstImageFormat
python -m pip install -e .

Source installations require a C++17 compiler and pybind11; the Python fallback remains usable when the native extension is unavailable.

Choose a configuration

Goal Recommended settings Notes
General photographs quality=7, preset="Balanced", codec="auto" Default; lets every tile choose its best family.
Maximum compression search preset="Extreme", codec="auto" Evaluates every eligible tile mode and encodes more slowly.
Fast preview or batch work preset="Fast", codec="auto" Evaluates one classified mode plus Raw fallback.
Exact archival pixels lossless=True, codec="auto" Chooses the smallest exact candidate per tile.
Force photographic coding codec="wavelet" CDF 9/7 lossy or reversible CDF 5/3 lossless.
Flat graphics and icons codec="palette" Uses a local palette where eligible and Raw fallback otherwise.
Text and sharp edges codec="predictive" Reversible spatial prediction in lossless mode.
Diagnostic baseline codec="raw" Minimal codec logic; usually the largest output.

Quality ranges from 1 through 10. Every quality is continuously tested under Fast, Balanced, and Extreme; the preset changes search effort, while quality controls lossy quantization.

Python API

from PIL import Image
import wimf

image = Image.open("photo.png")

# Balanced per-tile selection is the default.
output = wimf.save("photo.wimf", image, quality=7)

# Exact reconstruction and explicit legacy output.
wimf.save("exact.wimf", image, lossless=True)
wimf.save("legacy.wimf", image, lossless=True, format_version=1)

decoded = wimf.open("photo.wimf")
decoded.pil.save("decoded.png")

# Memory-only applications can use bytes directly.
payload = wimf.encode(image, lossless=True, metadata={"author": "Arrow"})
decoded = wimf.decode(payload)
details = wimf.inspect(payload)

codec accepts auto, wavelet, predictive, palette, or raw. preset accepts Fast, Balanced, or Extreme.

Complete save options

Option Values Default Meaning
quality 110 7 Lossy quality and rate-distortion target.
lossless Boolean False Require exact pixel reconstruction.
preset Fast, Balanced, Extreme Balanced Number of candidate modes evaluated per tile.
codec auto, wavelet, predictive, palette, raw auto Automatic hybrid selection or forced family.
format_version 1, 2 2 WIM2 output or explicit legacy WIMF output.
threads positive integer or None None Conservative automatic count or explicit tile workers.
anti_rot Boolean False Append WIM2 protection capable of bounded recovery.
metadata dictionary {} Application metadata stored in the container.

ROI decoding

decoder = wimf.WIMFDecoder("large.wimf")
region = decoder.decode(roi=(1024, 768, 640, 480))

Only intersecting WIM2 tile payloads are decompressed.

Anti-rot and chrono history

encoder = wimf.WIMFEncoder(image).set_anti_rot()
encoder.add_chrono_state(edited_image)
payload = encoder.encode(lossless=True)

decoder = wimf.WIMFDecoder(payload)
original = decoder.decode_chrono_state(0)
edited = decoder.decode_chrono_state(1)
print(decoder.was_protected, decoder.was_repaired)

WIM2 extensions are appended after the base tile payload. Existing WIM2 files remain valid and older readers can still decode the primary image.

Metadata without recompression

updated = wimf.rewrite_metadata(payload, {"author": "Arrow", "license": "CC0"})

WIM2 tile payloads remain byte-for-byte identical. Tile offsets and checksums are recalculated, history is retained, and anti-rot protection is regenerated when present.

Text transports

text = wimf.to_base64(payload, wrap=76)
assert wimf.from_base64(text) == payload

assert wimf.from_base16(wimf.to_base16(payload)) == payload
assert wimf.from_base32(wimf.to_base32(payload)) == payload

url = wimf.to_data_url(payload)
assert wimf.from_data_url(url) == payload

These helpers use strict RFC 4648 parsing, bounded input sizes, and whitespace-tolerant decoding. Data URLs use Base64 and the image/x-wimf MIME type. Base16, Base32, and Base64 are transport encodings-not compression-and expand data by roughly 100%, 60%, and 33%, respectively.

Runtime diagnostics

print(wimf.runtime_info())

The result reports whether native kernels are active, architecture, SIMD path, hardware and effective thread counts, codec version, and Zstandard version.

Mandelbrot example

The included generator renders a Mandelbrot set with NumPy and writes WIMF directly:

python examples/mandelbrot_wimf.py mandelbrot.wimf --width 1920 --height 1080 --quality 7

Use --lossless, force a tile mode with --codec, or zoom using --center-x, --center-y, and --span.

Command-line tools

The unified command covers the normal workflow:

wimf encode photo.png photo.wimf --quality 7
wimf encode artwork.png artwork.wimf --lossless
wimf decode photo.wimf photo.png
wimf decode huge.wimf crop.png --roi 100 200 640 480
wimf info photo.wimf
wimf runtime
wimf view photo.wimf
wimf base16 encode photo.wimf photo.hex
wimf base32 encode photo.wimf photo.b32
wimf base64 encode photo.wimf photo.txt --data-url
wimf corrupt photo.wimf damaged.wimf --seed 42 --area payload
wimf diagnose damaged.wimf --unsafe-preview damaged-preview.png

Run wimf <command> --help for focused options. Metadata uses repeatable --metadata KEY=VALUE arguments. The original specialized commands remain available:

  • wimf-convert and wimf-meta are deprecated compatibility tools in 2.2. Use the unified wimf CLI or WIMF Studio.
  • AWIF authoring is deprecated. Existing animations remain readable, including historical timing metadata.
  • wimf-studio opens the encoder, comparison viewer, tile inspector, protection/history tools, and codec lab.
  • wimf-view is a compatibility alias that opens WIMF Studio.
  • wimf-cat renders supported images in compatible terminals.
  • wimf-meta inspects and edits legacy metadata.

Native C/C++ builds also provide wimf-native, a dependency-free process bridge for lossless PGM/PPM ↔ WIMF conversion.

Tested feature matrix

Feature Status Continuous verification
WIM2 Raw, Predictive, Palette, and Wavelet Implemented Forced modes, automatic mixed modes, exact/lossy reconstruction
Qualities and presets Implemented All qualities 1–10 × Fast/Balanced/Extreme
RGB, RGBA, grayscale, LA, depth channel Implemented Odd dimensions, edge tiles, alpha, five-channel depth access
8-, 10-, and 16-bit pixels Implemented Exact high-bit-depth lossless round trips and native/reference parity
ROI and independent tiles Implemented Cross-tile crops and checksum-isolated corruption
Threading and cancellation Implemented Deterministic 1/2/4-thread output, progress contract, bounded cancellation
Metadata rewrite Implemented Tile payload identity, history retention, anti-rot regeneration
Anti-rot Experimental Two-shard repair, three-shard rejection, damaged parity, protected history
Chrono history Experimental Unchanged/changed states, ordering, random state access, protected history
Base16, Base32, Base64, and data URLs Implemented Strict alphabets, MIME validation, whitespace and safety bounds
Corruption laboratory Experimental Header, metadata, index, payload, extension, and parity targeting
AWIF animation Legacy decode compatibility Committed fixtures and malformed-input safety
WIMF v1, .wif, and ROT! Deprecated authoring; legacy decoding Warning coverage, migration, and protected decode
WIMF Studio and headless CLI Implemented Headless state tests, command help, installed-wheel smoke tests

The visual report separately exercises synthetic mixed content, a credited nature photograph, and a credited animal photograph. It publishes decoded outputs, amplified differences, exact configurations, tile-mode counts, timings, WIMF payloads, and JSON metrics as CI artifacts.

Compatibility and status

Capability WIM2 Legacy decode
Hybrid still images Implemented WIMF v1 supported
Lossless and lossy coding Implemented Supported
ROI and independent tiles Implemented Format-dependent
Anti-rot Two-shard WIM2 extension ROT! supported
Chrono history Indexed WIM2 extension AWIF states supported
Animation creation Legacy-only AWIF encode/decode with preserved timing
Wavelet watermark creation Planned v1 only

See the WIM2 format overview, legacy migration guide, native embedding guide, desktop/application integrations, adoption roadmap, and release checklist.

Verification and roadmap

CI separates Python quality, cross-platform API/feature tests, legacy decode compatibility, standalone C++, sanitizers, packaging, visual evidence, and non-blocking performance measurements. Python-versus-C++ benchmarks cover current WIM2 still images on Windows, Linux, and macOS. The active roadmap is:

  • Measure AVX2 and NEON SIMD acceleration across reference hardware (CRC-32 and predictive filter paths are implemented; wavelet lifting is scalar). Run tools/wimf_simd_bench.cpp locally or read CI job summaries - see docs/simd-benchmarks.md.
  • Verify Linux ARM64 and Windows ARM64 wheels on dedicated native runners.
  • Validate the memory-only synchronous core with Emscripten on the future web branch without changing the WIM2 bitstream.
  • Publish signed standalone C/C++ development archives for the versioned ABI and conformance pack.
  • Build on the Pillow plugin and native PGM/PPM bridge with ImageMagick, FFmpeg, and desktop thumbnailer integrations.
  • Preserve legacy animation and watermark decoding without reviving their deprecated authoring paths.

Target performance is at least 10 MP/s Balanced encoding and 50 MP/s decoding on reference hardware; benchmark results are hardware-dependent and are not claimed until measured.

License

WIMF is licensed under GPL-3.0-or-later.

Reporting bugs

WIMF is experimental. If something breaks, please open a GitHub issue with your operating system, Python version, wimf runtime --json output, and a minimal sample file when possible. WIMF Studio's Help → Report a Bug command copies the relevant runtime diagnostics and opens the issue page.

Release files for wimf 2.2.1

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

Source distribution (sdist)

Source distribution for wimf 2.2.1
File Size Uploaded
wimf-2.2.1.tar.gz 699.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for wimf 2.2.1
File
wimf-2.2.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
wimf-2.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
wimf-2.2.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
wimf-2.2.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
wimf-2.2.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
wimf-2.2.1-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
wimf-2.2.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
wimf-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
wimf-2.2.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
wimf-2.2.1-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
wimf-2.2.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
wimf-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
wimf-2.2.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
wimf-2.2.1-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
wimf-2.2.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
wimf-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
wimf-2.2.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
wimf-2.2.1-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
wimf-2.2.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
wimf-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size:45.1 MB

Release files / wimf-2.2.1.tar.gz

Download URL wimf-2.2.1.tar.gz
Size 699.7 kB
Tags Source
SHA-256 checksum
How to use checksums
11e9a6430d8316b94d28e27904c018ef98acbf8a9dd2ef4bfce7b320337c57da
BLAKE2b-256 checksum
How to use checksums
0b60d86097b4748be050ad9dfa6719376387da8d740422954f782f84096d8499
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp314-cp314-win_amd64.whl

Download URL wimf-2.2.1-cp314-cp314-win_amd64.whl
Size 720.8 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f3e731259704213e427f49eaccc4f14a9734d7e9a4937a5f3fbfe7afef23f572
BLAKE2b-256 checksum
How to use checksums
cd3da4d154ac957685d81317731c71635558745e7882e86593a49d1e6d22c2e3
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.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
7eab2125c9cb857285a574c6d50d584cbca08d648c3f8c0800ebedb1f18f005e
BLAKE2b-256 checksum
How to use checksums
44b69fe6af25b0fcafca3bedb5a03bd0d5c3dfdf6e77069ee42a5ba6fd2702fc
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL wimf-2.2.1-cp314-cp314-macosx_11_0_arm64.whl
Size 667.4 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7c33828d6305be43d08f6157986d360aa85162a876cfb5cd6d0e6c961272f4af
BLAKE2b-256 checksum
How to use checksums
5126d01e68b7138c1a7a020de471eede574afda3cd6bba5a4ebee8bc88c19fcf
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL wimf-2.2.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 749.7 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
3e9fc784fcec9bbe1496ebe67f4e4a58d88ae27a918990029ca3351c21dae6c8
BLAKE2b-256 checksum
How to use checksums
702a48872a98e068aab025ff11392c1055dc6662dc3c6394907818d9189a828a
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp313-cp313-win_amd64.whl

Download URL wimf-2.2.1-cp313-cp313-win_amd64.whl
Size 702.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ceb4686faad7b1bcb69de08ea8751a012526f4868701f3a512b5db8b83cd8cd1
BLAKE2b-256 checksum
How to use checksums
58202bc127dcfda8d7617698a985410933b290c934ec74017aceaa94e897b6ab
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fdb20bb04dd4636c57db98026fbb889ac32a630c828e6c45a18b12a693f79b36
BLAKE2b-256 checksum
How to use checksums
c6cd33f1372ec817fbcc12e11020d01434aa6c7d71a45608f46d4602403c80df
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL wimf-2.2.1-cp313-cp313-macosx_11_0_arm64.whl
Size 666.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ee31e4c318ccc64d02bea04c1f9b49d4ecd738df1b3d1328f56e647a104982bf
BLAKE2b-256 checksum
How to use checksums
d56c3d3b1f601fcc28e9259e903ae1fc1c1c15672ea45e1010151dfb211c779a
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL wimf-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 749.2 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
5a04c0dbb6b90d5c269a76493a1d6861b6bf3e9bce1d073dca2ced8972a738a4
BLAKE2b-256 checksum
How to use checksums
ef4b25cbc2705e1332ae286e77df962008f49bba6eac53a88cab6407241fc489
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp312-cp312-win_amd64.whl

Download URL wimf-2.2.1-cp312-cp312-win_amd64.whl
Size 702.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
65649629a73bcd8804f97fa877a16b935fa38f764435220f651a40047c4a1e43
BLAKE2b-256 checksum
How to use checksums
b3b474577975b74aec3fefc523e0426fef38f9ebaa64b78ba2b716346c670cea
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8001c25ff2a29b5bdfc213f49085359628ffaa5b63fbe09e0725f6620614c0a4
BLAKE2b-256 checksum
How to use checksums
ff2ab15db25ed93b2784d62704c6a66d0f006368088b0b0ad1a1284e2afcb12f
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL wimf-2.2.1-cp312-cp312-macosx_11_0_arm64.whl
Size 666.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
313e619c073f0a355ee99e24ae09bac96091884fbc35d6cf8423a66e203a7fc3
BLAKE2b-256 checksum
How to use checksums
6d4334bba03ad18fa139b18cd0a45c223f52e51ef319aff0712d28b8a24f3448
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL wimf-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 749.2 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
c58351ea4137547bc33136f00a75158a045ea3f5652a805780c5ffa7a32b694f
BLAKE2b-256 checksum
How to use checksums
c5826d303697cbe2b4ddf349708d4b09bc2e51449cb9ee71ae2f55a521bbfc9b
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp311-cp311-win_amd64.whl

Download URL wimf-2.2.1-cp311-cp311-win_amd64.whl
Size 696.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
285b7246515f79503d2c98c64e96913063cef7a68474ed5a250118fb82cf1b4c
BLAKE2b-256 checksum
How to use checksums
7152b2a8c2a3514f23c68f80d621a9a83824c7053b3070ab78743e8b00a758e6
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.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
8421a07ae59dbf0faebcf67b9ff6d457147c088977ce8281510cc1afb6a62684
BLAKE2b-256 checksum
How to use checksums
af0d2521490065186626585d29567aaf0c1d9f61377104951b3a202b553994ef
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL wimf-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
Size 663.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
22a3e4b5e2457527a9997e1f5adba46212f29b52c4f3f9efd5dc68bb06810f40
BLAKE2b-256 checksum
How to use checksums
25d861a13e71294514392c1b7b3476ae1910ad798e96a7c8395c866c733b2f6e
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL wimf-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 745.1 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9b10e0ac311672fe5a46013f39ec3f9089571f75602dc9ac56d63243f1de16d6
BLAKE2b-256 checksum
How to use checksums
4480af3647cda7653a37e342434f09f3c00c6b6136d035531b05d178566d6f75
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp310-cp310-win_amd64.whl

Download URL wimf-2.2.1-cp310-cp310-win_amd64.whl
Size 694.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8d9b9f8d59399086150573d2aa7b4e3a2106d313421096e828e4bb20f11fd77e
BLAKE2b-256 checksum
How to use checksums
430665637ff0a28fdcc559e91cd8cd7a95d89dcac6d1939ef4d62c1c4e2d3765
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.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
2b9721077d640aefa02cee41b2febfef0fd654b2f1fdf50ca8eaf3d22304e650
BLAKE2b-256 checksum
How to use checksums
00912d32d5b1fd65e507476126f4b37e5862dab13c5033c107a7859111677402
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL wimf-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
Size 661.6 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b7ffecf364845c7adf5c66bf11283006745359faf2b47a8651c21750b51365cc
BLAKE2b-256 checksum
How to use checksums
4feea4dc52383bacc6c5542597db320e4a75765352723dfe59116d662c1c8213
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 Aug 25, 2026.

Transparency log

Release files / wimf-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl

Download URL wimf-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl
Size 742.2 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
88127769ab0d844fc1290ed64437e9dbbc3ef88135912305c6e0a7dc42d11c2d
BLAKE2b-256 checksum
How to use checksums
8184bdfcca3eff5b4fe6ebaafc1a5ad69a7630f97ee7b5c273804dc71162f022
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 Aug 25, 2026.

Transparency log

Release history Release notifications | RSS feed

2.2.3

21 release files

2.2.2

21 release files

This release

2.2.1 This release

21 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