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

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.2
File Size Uploaded
wimf-2.2.2.tar.gz 702.7 kB Details

Built distributions (wheels)

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

Download URL wimf-2.2.2.tar.gz
Size 702.7 kB
Tags Source
SHA-256 checksum
How to use checksums
46af1589f8cbea8a129d0f74287584a6381bc3810d7795972b92bd09a6fe5a71
BLAKE2b-256 checksum
How to use checksums
ea0994a552661becbb1c3a1b7c5d16a8db6e81bcfb2c96cc37765d5e15d6f881
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.2-cp314-cp314-win_amd64.whl

Download URL wimf-2.2.2-cp314-cp314-win_amd64.whl
Size 722.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
071f563a0ea449f8d4226099bf46e18b72566d9c95197adab282fa266479fe58
BLAKE2b-256 checksum
How to use checksums
5edf85c2bea79e352a28cf8e4b789c76fe319e93228d4e53bf4b70f41da77534
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.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.2-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
4d7c2c94769fb6cf2a42488f0cdf77badb6c90faf95b11320e7c92b61d946767
BLAKE2b-256 checksum
How to use checksums
b65f9e1d9817c03f16f39b8ac4cb05d23c479843a1bb3dcde07fb35bb1db9700
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.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL wimf-2.2.2-cp314-cp314-macosx_11_0_arm64.whl
Size 667.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
82c6efc7240921888e3b88c4fc6d304004ece446f371aefe175e238b9579666b
BLAKE2b-256 checksum
How to use checksums
9838e8151fd29129a3ff3e4ffa4b3f3ec07a27c60c8553fe84a50fc9e9fa66a3
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.2-cp314-cp314-macosx_10_15_x86_64.whl

Download URL wimf-2.2.2-cp314-cp314-macosx_10_15_x86_64.whl
Size 751.6 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
616964f15cf8dd5fa7eb145560528767c834aefd4b7006dd24537752afa0679a
BLAKE2b-256 checksum
How to use checksums
f9cd7ef018368e1f3b38f2fa83bb242b0cfe759a50b79fea7a104980d57dfb11
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.2-cp313-cp313-win_amd64.whl

Download URL wimf-2.2.2-cp313-cp313-win_amd64.whl
Size 703.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5e5eb5b94b9f1157e888ab0d1f60c0a9dc42a359b1f01712a0395b2e8bbc7d6d
BLAKE2b-256 checksum
How to use checksums
9bfd17be7b1090877709987873b5276d24bd38a0272a94ab199ee2efca53d1fe
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.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.2-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
7ee689e8d29b5fb0f2af8d2c90f17a13d3da529b07562b610600b540637edc75
BLAKE2b-256 checksum
How to use checksums
1a4a428736054cbfdb1822294a0240489386220927862a9134957096694c28b8
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.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL wimf-2.2.2-cp313-cp313-macosx_11_0_arm64.whl
Size 667.1 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
47e9e0e1654270bcf9393c35111cdb2cf58dc2b10107ca5b1f035d7062d21e0b
BLAKE2b-256 checksum
How to use checksums
96574911c39209372af20d30ca9d7d156334c4794fb881824b8f500010e095c2
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.2-cp313-cp313-macosx_10_13_x86_64.whl

Download URL wimf-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl
Size 751.2 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
53dd4909692d8e7e3c6b2fd0e3853dc0ca783fdc2b86dffaf450051cccdfbfe3
BLAKE2b-256 checksum
How to use checksums
8a80cdc50a4e5df58877ef8e77f8798fc455835269448233146b03c9263d4665
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.2-cp312-cp312-win_amd64.whl

Download URL wimf-2.2.2-cp312-cp312-win_amd64.whl
Size 703.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
24b8f10d4ec35235eec70e9f6dc064d8bac2e103251f1b261fb35ee77e866f96
BLAKE2b-256 checksum
How to use checksums
f6ce6475b37df35933938103632cf6a067b2e102491dfe97bf43721baccd51fb
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.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.2-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
1d47d2ce25f9593eef755306ceea3a7ae4ca2c9041123b2e9a3647169874c0bd
BLAKE2b-256 checksum
How to use checksums
c68e5bf097135f9e86bfa71b6cef1ff219f520bc37e32f1ca80c21e796a1f2c8
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.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL wimf-2.2.2-cp312-cp312-macosx_11_0_arm64.whl
Size 666.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b6eed8e8210cab5a13742238cbbd12392afc60435321151fada462f056ce3e02
BLAKE2b-256 checksum
How to use checksums
dd4d0b2cacf0f3298d299e6f84e107e34284cb4cb83f762d1e8b729a72e0fda8
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.2-cp312-cp312-macosx_10_13_x86_64.whl

Download URL wimf-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl
Size 751.0 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
3326a8d0fbf50d5d3570304ffe7c646fc2c7caab8aa3a0621ac5399be82887ed
BLAKE2b-256 checksum
How to use checksums
4eb701c2343585ae6918479b08add011f77ce9c5dc6db014c583c9421c1e19f8
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.2-cp311-cp311-win_amd64.whl

Download URL wimf-2.2.2-cp311-cp311-win_amd64.whl
Size 697.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a6d09dc267cf75b964ba2a184876cf669afae0a292aba66c375952104c47ac17
BLAKE2b-256 checksum
How to use checksums
f7ca6f8a3c38f5157abb66eeaf509d7e89e9c537b1575ef02ad685ca72a2fb28
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.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.2-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
2d9fc34fe91a34d35f0212828686578fc25261b1836a0cd6131edf75d7ad1b92
BLAKE2b-256 checksum
How to use checksums
d7a260ee67be2c346c7d88bb7d941f5d141c3a8db0ecf6502fecf5bfc9261136
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.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL wimf-2.2.2-cp311-cp311-macosx_11_0_arm64.whl
Size 663.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
70e6ff6b02b479c1747c34d9bd3cff89c4842fab6fb8ce70dea5b4a2ad08102b
BLAKE2b-256 checksum
How to use checksums
1249fba3d482451796e3c53d6961b28d0d954c45ef051872446bffd9b598775b
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.2-cp311-cp311-macosx_10_9_x86_64.whl

Download URL wimf-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl
Size 746.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
7b46f81c4e2f49283c0bb5889f584e212e6ef8b4c0234e4c0776c18d624de394
BLAKE2b-256 checksum
How to use checksums
e35e4660e2a9226d340f64e4fdbedcc91da03e3566f5b981c0df90d39615e777
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.2-cp310-cp310-win_amd64.whl

Download URL wimf-2.2.2-cp310-cp310-win_amd64.whl
Size 696.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1dd44f4bcf42986a44139aa1184411215f0018d40225ad4f7e778d24a0b20467
BLAKE2b-256 checksum
How to use checksums
353fb69363d15dd97d128b0a667166be2cd47a905756b2accb7a9004ef649089
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.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL wimf-2.2.2-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
f14cf9f87016b8dd4f7f961aa7f0b60324c8d8466f6ac09dd069e28cd13c3134
BLAKE2b-256 checksum
How to use checksums
66cfac021704a395b42966a72c6400dcae5ced5b23a240b5aad4f32630adc020
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.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL wimf-2.2.2-cp310-cp310-macosx_11_0_arm64.whl
Size 661.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5d18547002b8e48722dff3cceccc0f5b2ac3dda8cc89af854fb9a2712117974a
BLAKE2b-256 checksum
How to use checksums
373bd9d26acd4b7dd66b7d069c428223187ed062a393d859899d2db2615e997f
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.2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL wimf-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl
Size 744.1 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9c0dfc67344235653a7a18791fc8e6b4c8c393cfbcc6f3a076c02175b44553d9
BLAKE2b-256 checksum
How to use checksums
cd05da0993eb700ef13f7aadbd40bf6262f0d0bbdfb28abd783e930c54bca32c
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

This release

2.2.2 This release

21 release files

2.2.1

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