epaper-dithering
Dithering algorithms optimized for e-ink/e-paper displays with limited color palettes.
Installation
# With uv
uv add epaper-dithering
# With pip
pip install epaper-dithering
Features
- Rust Core: All dithering runs in a compiled Rust extension — fast enough for 800×480 images in ~30ms
- Perceptually Correct: Weighted Cartesian OKLab color matching — preserves hue without the achromatic-attractor bug that plagues LCH-weighted approaches
- 10 Dithering Algorithms: From simple ordered dithering to high-quality Jarvis-Judice-Ninke
- 10 Color Schemes: Support for mono, 3-color, 4-color, 6-color, 7-color, and grayscale e-paper displays
- Pre-dither Adjustments: Per-image exposure, saturation, shadows, highlights, dynamic-range compression, and gamut compression — all orthogonal knobs you can mix freely
- Serpentine Scanning: Reduces directional artifacts in error diffusion (enabled by default)
- DBS Refinement: Optional Direct Binary Search pass that optimizes the dithered pixels against a model of the eye (slower: ~0.3 s per 800×480 panel on a multi-core machine)
- RGBA Support: Automatic compositing on white background for transparent images
Quick Start
from PIL import Image
from epaper_dithering import dither_image, ColorScheme, DitherMode
# Load your image
image = Image.open("photo.jpg")
# Apply dithering for a black/white/red display
dithered = dither_image(image, ColorScheme.BWR, mode=DitherMode.FLOYD_STEINBERG)
# Save result
dithered.save("output.png")
All arguments after color_scheme are keyword-only:
dither_image(
image, palette,
*,
mode=DitherMode.BURKES, # algorithm
serpentine=True, # alternate row scan direction
exposure=1.0, # linear-RGB multiplier (1.0 = no change)
saturation=1.0, # OKLab saturation (1.0 = no change, 0.0 = grayscale)
shadows=0.0, # shadow lift, S-curve lower half
highlights=0.0, # highlight compression, S-curve upper half
tone="auto", # dynamic-range compression: "auto" | 0.0–1.0
gamut="auto", # gamut compression: "auto" | 0.0–1.0
dbs=None, # DBS refinement: None | True | DbsParams(...)
)
Supported Color Schemes
- MONO - Black and white (1-bit)
- BWR - Black, white, red (3-color)
- BWY - Black, white, yellow (3-color)
- BWRY - Black, white, yellow, red (4-color)
- BWGBRY - Black, white, yellow, red, blue, green (6-color Spectra)
- GRAYSCALE_4 - 4-level grayscale (2-bit)
- SEVEN_COLOR - 7-color Spectra/ACeP (BWGBRY + orange)
- BWGBRY_SPLIT - Spectra 6, split left/right plane packing (dual-CS panels)
- GRAYSCALE_16 - 16-level grayscale (4-bit, e.g. Waveshare 6" HD)
- GRAYSCALE_8 - 8-level grayscale (3-bit, e.g. Inkplate 10). Library-local value 9 — NOT a firmware wire value; never send it to a device as
color_scheme.
Dithering Algorithms
| Algorithm | Quality | Speed | Best For |
|---|---|---|---|
| NONE | Lowest | Fastest | Testing, simple graphics |
| ORDERED | Low | Very Fast | Patterns, textures |
| SIERRA_LITE | Medium | Fast | Quick results |
| BURKES | Good | Medium | General purpose (default) |
| FLOYD_STEINBERG | Good | Medium | Popular standard |
| SIERRA | High | Medium | Balanced quality |
| ATKINSON | Good | Medium | High contrast, artistic |
| STUCKI | Very High | Slow | Maximum quality |
| JARVIS_JUDICE_NINKE | Highest | Slowest | Smooth gradients |
| DIZZY | Good | Medium | Error diffusion with pseudo-random traversal — no directional structure. Ignores serpentine. Algorithm by Liam Appelbe |
Usage Examples
Basic Usage
from PIL import Image
from epaper_dithering import dither_image, ColorScheme, DitherMode
img = Image.open("photo.jpg")
result = dither_image(img, ColorScheme.BWR, mode=DitherMode.FLOYD_STEINBERG)
result.save("dithered.png")
All Color Schemes
# Black and white only
dithered = dither_image(img, ColorScheme.MONO)
# Black, white, and red (common for e-paper tags)
dithered = dither_image(img, ColorScheme.BWR)
# Grayscale (4 levels)
dithered = dither_image(img, ColorScheme.GRAYSCALE_4)
# 6-color display (Spectra)
dithered = dither_image(img, ColorScheme.BWGBRY)
Advanced Options
Serpentine Scanning
By default, error diffusion algorithms use serpentine scanning (alternating scan direction per row) to reduce directional artifacts and "worm" patterns. You can disable this for raster scanning:
# Default: serpentine scanning (recommended for best quality)
result = dither_image(img, ColorScheme.BWR, mode=DitherMode.FLOYD_STEINBERG, serpentine=True)
# Disable serpentine for raster scanning (left-to-right only)
result = dither_image(img, ColorScheme.BWR, mode=DitherMode.FLOYD_STEINBERG, serpentine=False)
Note: The serpentine parameter only affects error diffusion algorithms (Floyd-Steinberg, Burkes, Atkinson, Sierra, Sierra Lite, Stucki, Jarvis-Judice-Ninke). It has no effect on NONE and ORDERED modes.
Tone Compression (Dynamic Range)
E-paper displays can't reproduce the full luminance range of digital images. Pure white on a display is much darker than (255, 255, 255), and pure black is lighter than (0, 0, 0). Without tone compression, dithering tries to represent unreachable brightness levels, causing large accumulated errors and noisy output.
Tone compression remaps image luminance to the display's actual range before dithering. Based on fast_compress_dynamic_range() from esp32-photoframe by aitjcize. It is off by default (tone=0.0) and only applies when using measured ColorPalette instances:
0.0/"off"(default): Disable tone compression."auto": Analyze the image histogram and remap its actual luminance range to the display range. Maximizes contrast by stretching only the used range.0.0-1.0: Fixed linear compression strength.1.0maps the full [0,1] range to the display range.
from epaper_dithering import dither_image, SPECTRA_7_3_6COLOR, DitherMode
# Default: tone compression off
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.FLOYD_STEINBERG)
# Auto tone compression
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.FLOYD_STEINBERG, tone="auto")
# Fixed linear compression
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.FLOYD_STEINBERG, tone=1.0)
# Disable tone compression explicitly
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.FLOYD_STEINBERG, tone="off")
Note: tone has no effect when using theoretical ColorScheme palettes (e.g., ColorScheme.BWR), since their black/white values already span the full range.
Gamut Compression
Some images contain highly saturated colors that a limited palette simply cannot reproduce (e.g. vivid purple on a BWGBRY display). Without gamut compression, the ditherer tries to mix palette colors to approximate the hue — often producing muddy results. Gamut compression pre-blends out-of-gamut pixels toward the nearest palette color before dithering, giving error diffusion a better starting point.
# Default: gamut compression off
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.BURKES)
# Auto gamut compression
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.BURKES, gamut="auto")
# Fixed strength (0.7–0.9 recommended for very saturated images)
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.BURKES, gamut=0.8)
# Disable
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.BURKES, gamut="off")
Note: gamut also has no effect for theoretical ColorScheme palettes.
DBS Refinement
Direct Binary Search (DBS) runs after dithering and improves the result directly: it repeatedly changes pixels to other inks, or swaps them with neighbours, whenever that lowers the error as perceived through a model of the eye — sharp for brightness, blurrier for colour, scaled to your viewing distance and panel resolution. It typically cuts visible tone and colour error noticeably, at the cost of runtime (about 0.3 s per 800×480 panel on a multi-core machine, versus ~30 ms for plain dithering). The dither call releases the GIL, so other threads keep running meanwhile.
from epaper_dithering import DbsParams
# Default viewing geometry: 40 cm from a ~127 ppi panel (7.3" 800×480)
result = dither_image(img, SPECTRA_7_3_6COLOR, dbs=True)
# Match your setup: a wall-mounted 13.3" panel viewed from 1.5 m
result = dither_image(img, SPECTRA_7_3_6COLOR, dbs=DbsParams(viewing_distance_cm=150, ppi=150))
max_passes (default 10) caps the number of refinement passes; most of the improvement happens in the first few. Pixels pinned to exact display colors (see below) are never changed by DBS.
DitherMode.NONE performs direct nearest-color mapping without error diffusion or ordered dithering. It is intended for already-quantized graphics, not continuous-tone photos: because there is no error diffusion, on limited palettes (especially BWR) a continuous-tone image or a large flat mid-tone area can map to an unexpected ink — for example, a solid mid-gray region can render as solid red. Use an error-diffusion mode (e.g. FLOYD_STEINBERG, BURKES) for photographic input. For built-in measured palettes, pure canonical display colors such as (255, 0, 0) map directly to the corresponding firmware palette index even though matching uses measured display RGB values.
For built-in measured palettes, exact canonical display colors are also protected in ordered and error-diffusion modes when pre-processing is off: an image made entirely of display colors is returned as a direct palette-index map, and exact display-color pixels inside a mixed image keep their canonical index instead of being rematched to the measured RGB palette. Pre-processing runs before that exact-pixel check, so explicit tone="auto"/gamut="auto" or other adjustments may intentionally alter those pixels first.
Per-Image Tonal Adjustments
exposure, saturation, shadows, and highlights let you tweak the image before tone/gamut compression. Each is independent — set just the ones you want. All default to identity (no effect).
# Brighten and boost saturation for vivid output
result = dither_image(img, SPECTRA_7_3_6COLOR, exposure=1.3, saturation=1.4)
# Lift shadows on a dark image
result = dither_image(img, SPECTRA_7_3_6COLOR, shadows=0.5)
# Compress highlights on an overexposed image
result = dither_image(img, SPECTRA_7_3_6COLOR, highlights=0.7)
# Combine for a "vivid photo" look
result = dither_image(img, SPECTRA_7_3_6COLOR, exposure=1.1, saturation=1.3, shadows=0.3, highlights=0.5)
Pipeline order: exposure → saturation → shadows/highlights → tone → gamut → dither.
RGBA Images
Images with transparency (RGBA mode) are automatically composited on a white background, matching the typical appearance of e-paper displays:
# RGBA images are handled automatically
rgba_img = Image.open("transparent.png") # Has alpha channel
result = dither_image(rgba_img, ColorScheme.BWR)
# Transparent areas become white
Measured Display Colors
For the most accurate dithering, use measured RGB values from your specific e-paper display instead of theoretical pure RGB colors.
Why Measure?
E-paper displays use reflective technology, making colors 30-87% darker than pure RGB:
- Pure RGB White: (255, 255, 255) → Real display: ~(180-200, 180-200, 180-200)
- Pure RGB Red: (255, 0, 0) → Real display: ~(115-125, 10-20, 0-10)
Using measured values ensures dithered images match your display's actual appearance.
Using Pre-defined Measured Palettes
The library includes measured palettes for common displays:
from epaper_dithering import dither_image, SPECTRA_7_3_6COLOR, DitherMode
# Use measured palette for Spectra 7.3" 6-color display
result = dither_image(img, SPECTRA_7_3_6COLOR, mode=DitherMode.FLOYD_STEINBERG)
Available measured palettes:
SPECTRA_7_3_6COLOR- 7.3" Spectra™ 6-color (BWGBRY), v1 measurementSPECTRA_7_3_6COLOR_V2- 7.3" Spectra™ 6-color (BWGBRY), v2 measurement (recommended)MONO_4_26- 4.26" MonochromeBWRY_4_2- 4.2" BWRYBWRY_3_97- 3.97" BWRYSOLUM_BWR- Solum BWRHANSHOW_BWR- Hanshow BWRHANSHOW_BWY- Hanshow BWY
See CALIBRATION.md for measuring your specific display.
Creating Custom Measured Palettes
Measure your display and create a custom palette:
from epaper_dithering import dither_image, ColorPalette, DitherMode
# Your measured RGB values
my_display = ColorPalette(
colors={
"black": (5, 5, 5), # Measured from your display
"white": (185, 190, 180), # Much darker than (255,255,255)
"red": (120, 15, 5), # Much darker than (255,0,0)
},
accent="red",
)
# Use it directly
result = dither_image(img, my_display, mode=DitherMode.FLOYD_STEINBERG)
Built-in measured palettes store the canonical firmware ColorScheme they are based on. Custom measured palettes may omit it; in that case direct mapping and exact-color bypass use the custom measured RGB values.
Measurement Quick Start
- Display full-screen color patches on your e-paper
- Photograph in consistent lighting (avoid shadows/reflections)
- Sample RGB values from center using photo editor
- Average 5+ samples per color
- Create ColorPalette with measured values
See docs/CALIBRATION.md for detailed measurement procedures, including camera calibration, colorimeter usage, and validation techniques.
Development
# Install dependencies (requires Rust toolchain: https://rustup.rs)
uv sync --all-extras
# Build and install the Rust extension (required before running tests)
uv run maturin develop --release
# Run tests
uv run pytest tests/ -v
# Run tests with coverage
uv run pytest tests/ --cov=src/epaper_dithering
# Lint
uv run ruff check src/ tests/
# Type check
uv run mypy src/epaper_dithering
Credits
Measured color calibration techniques and reference measurements inspired by:
- esp32-photoframe by aitjcize - Measured palette methodology, dynamic range compression algorithm, and reference values for Waveshare 7.3" displays
Metadata
Release files for epaper-dithering 6.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| epaper_dithering-6.1.1.tar.gz | 99.8 kB | Details |
Built distributions (wheels)
Total release size: 19.9 MB
Release files / epaper_dithering-6.1.1.tar.gz
| Download URL | epaper_dithering-6.1.1.tar.gz |
|---|---|
| Size | 99.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcf6bd3bb235dcd5d5b7d0c3fb200e07ff613449ee66f6a8f4b8ab1e7102838a
|
|
BLAKE2b-256 checksum How to use checksums |
34a862d2daabca49f9f5be9a51e301f44bb5d5351f449e5096d68bf3862d8636
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
| Download URL | epaper_dithering-6.1.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 633.1 kB |
| Tags | Linux musl 1.2+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
cc2ecf8d803c89a5d3d43ddc60b5cfeb157532309a9f734314f6e63beead3915
|
|
BLAKE2b-256 checksum How to use checksums |
708eb63eb0c794fe52030140450f187ca027b90ace042af4d3d6c34f17f229e1
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
| Download URL | epaper_dithering-6.1.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 600.5 kB |
| Tags | Linux musl 1.2+ ARM64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
a366ee195aeea84201c7a7b06327b2a2319eb5783809ed3c69f4ec40079bade9
|
|
BLAKE2b-256 checksum How to use checksums |
8c6cb18ab5f944ab113eecd6624cf1b2191508172b985109873eaaa17c311c60
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 429.6 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
03c2ccb296b7b3274676d3d98b0da14a977744a6ebf379bb4ab32e37d3917343
|
|
BLAKE2b-256 checksum How to use checksums |
c647a10d3dcb9faadd29bdb2cd332d26c449967caca07dfc5a0b30b581ffffb4
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | epaper_dithering-6.1.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 422.4 kB |
| Tags | Linux glibc 2.17+ ARMv7l PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
a7d5f32912d88cca222facd0bd34a147acc478a7a4d8d616315d702d5735a7aa
|
|
BLAKE2b-256 checksum How to use checksums |
60c43199302530be0a591d8abe9cb6620797c970e0bf00b348767fb55edbab97
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | epaper_dithering-6.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 422.3 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
92e5a7814cbf320dbeea4b7a4617fa1c23fc79cff3e1c627ac624ffdcbb55b62
|
|
BLAKE2b-256 checksum How to use checksums |
1d4c52cd5d4bb3c4aa182ae3ecbddc67c69d004de8bd5272f134958cf1c3fed5
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 426.8 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4293413a01ca426f071c01f47b9937a78077f436fcd082ba5928df41dc5a531c
|
|
BLAKE2b-256 checksum How to use checksums |
81ee797d2778489c2ce4cd7c46be41206b240244ed08f3103f2ea3f3862b3b9d
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 426.7 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
b77565519166094e0b6624c68b762a3bf70cc1c4468e2fd9f9aa9c9be5300692
|
|
BLAKE2b-256 checksum How to use checksums |
0c17a2bff2cbfd911447285294c0278f1e49c84d23f25eb759490d2a9e7b265a
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 628.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
062dbc1fe2fd13b2a397e94b9f104ebd68f115aae0bcb2f5e3da22349c81e980
|
|
BLAKE2b-256 checksum How to use checksums |
aabf39ae17c60fc7d015acbf61a1d3b4192ed51fdfcde8715d76970d42161af2
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 595.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
75255cec3b556503fc21f018c362471afea4acb4435637309fca5d184043491e
|
|
BLAKE2b-256 checksum How to use checksums |
26bef471a3804e2c8812761a4683f1f98e5bbf46f9860eb1607875a6bec319c8
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 426.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ed94650f6dc3b519f4da66fa274b74557d26de51c4026992290c10363f4c359d
|
|
BLAKE2b-256 checksum How to use checksums |
5fa546de5294071395f2f4e950a4c3e619b2fc739957fc9d89c0565c28e07dac
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 419.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
4f8691ffb877fda69d2ec53b51bd125be5e5014815ad274e76609ec4c6ada23f
|
|
BLAKE2b-256 checksum How to use checksums |
4a3edff9c891a2f56cb30f08bb4c86d00a31ab516f6325d0be59320636db7903
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 419.1 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
ecb02c5f52091c36ee695d19a5f2eeb4070e651096613a12ab77ca55e29883ac
|
|
BLAKE2b-256 checksum How to use checksums |
159e44df2da347e52ab5f65ab4530a5da00f34083339660e2f07321c77fbd12d
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314-win_amd64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 258.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f3da3a7f09346789c22946da3e16a328dd7d45e217888b943ccdb1572b9d6108
|
|
BLAKE2b-256 checksum How to use checksums |
4be3d5497c54a8992a9d715f93205596250778477b331fd8069148e48df9a93f
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 629.9 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
3a11a1603181fd5ce38207bd992745cab57c70d62b675b25d95c99a619689572
|
|
BLAKE2b-256 checksum How to use checksums |
9e3f5f3fcc0885bb23d1bd275c70e7f27e6dc03082eda30ac144baac1f3926e2
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 596.2 kB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
158d2754462aa6c01e2e2bd75285a903818584bde53bf9ba983032fe04c79ef2
|
|
BLAKE2b-256 checksum How to use checksums |
99e7abbb17d6542af12e8803425fd87a163075d053dd5567159215a58281b5e1
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 426.3 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
18a88ad5298ff019aead278e5083f9b6deaa1ae940e73d2cb39c0cd11dde6fcc
|
|
BLAKE2b-256 checksum How to use checksums |
8e10273750c974ac6c9b3f4052480c6f0e571e0c23d63f8ad09b9497fadfce87
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 420.3 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
37379272e9478fae936250f3507defd5798586eb57412631eafa1dd71ad783ba
|
|
BLAKE2b-256 checksum How to use checksums |
f4c1b1f1a06907ea5f7bf11768b858eb9959fea6023aea898149aee4e0c733a4
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 419.1 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
4b95e47cb127c2624dded54fec71667ad0b2decd0d093814fe4d8ed4685bb8e0
|
|
BLAKE2b-256 checksum How to use checksums |
6688918c76105875bea370cb78e0a8bf2d13fe773760727923691b3cfd3784c7
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | epaper_dithering-6.1.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 730.1 kB |
| Tags | CPython 3.14 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4229485954e51f1388f4ddc1a2be24bb3206fddf3104f4b522331ec7b5532fe9
|
|
BLAKE2b-256 checksum How to use checksums |
bcb43a69839ff2cd3ac16320422f7ed44e2cafee8319cf3aaf3e8345e682c443
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp313-cp313-win_amd64.whl
| Download URL | epaper_dithering-6.1.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 258.1 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9f718ef7b1a53880b34de62ce31d1b0628caf14c5c369895e04916cc0cfc488e
|
|
BLAKE2b-256 checksum How to use checksums |
8bdf32379807d8a740ff47baf5b0a1fd432804d816974e577440432eda215743
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 628.9 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
9ac578cf41e1f74832bad07e86c42140adaac4cf4d0e6b8f923d57e27cdeca67
|
|
BLAKE2b-256 checksum How to use checksums |
e31ffb67ca7e130f0cd9902069046fa760104774b1e78515789f459d1377a44e
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 595.2 kB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
fb4f89d66ef0020694df26cf9acc5a4448550950c7beb71fb88b8494a8e3405b
|
|
BLAKE2b-256 checksum How to use checksums |
c20407c3939150605c9d026a7047f9510889d24c84c8f95df14c3b39b0a73fbf
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 425.8 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ebc3b3dbff75236512e7129b9aca8c1ff7e9f81170c281f8616e014cd6634891
|
|
BLAKE2b-256 checksum How to use checksums |
4e853adc7dd5ca660f5dfab2701cd8e578c97ffd1f005ace67a58a2ebfb595d5
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | epaper_dithering-6.1.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 419.0 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
ce26662b09b294405a97ace63bf9b3e55c3987213466f2c9fdd21abd2be42f94
|
|
BLAKE2b-256 checksum How to use checksums |
4bc3946c63c5b19d7a6540b699df59b518a9c5c842078b4a2875550d00ef0f4c
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 418.5 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
8415fffb2d9cbe4d4584d0db8898a293a799d6a9f86a987d1bebbdee5b8342e6
|
|
BLAKE2b-256 checksum How to use checksums |
19689f12476a3a0aa3ce05bd58aee4f1e9d47fb20614e1e0c8a9f3461307465e
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | epaper_dithering-6.1.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 727.6 kB |
| Tags | CPython 3.13 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cef0b1a9f36ba6592d29de12b4b40babdfec854aa818d04f8c913821b258c3ec
|
|
BLAKE2b-256 checksum How to use checksums |
3a9d2a86fbb60ac593a9c877729873e28cfce90447c734ff2fbc6451399c77fa
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp312-cp312-win_amd64.whl
| Download URL | epaper_dithering-6.1.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 258.7 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7c7c95aa9d4b28d646f8a8ad251f469c228dc957179c277f97d92a6c7a7570e4
|
|
BLAKE2b-256 checksum How to use checksums |
1663e029f67c74f34b6c8cd5b7eea8af2272dea2659a5bffa437bd421789a4ee
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 629.3 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
0a75a1de4f218d156817f72c3f86799e6e9481a2c292952e38641f8d54729d92
|
|
BLAKE2b-256 checksum How to use checksums |
69c1617f05462fdd9c6c1dcc15490d36dff25cdfd4c24385f1ef111f6abd92bc
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 595.9 kB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
7ae2dd44d4f38927f4b61b0b67ce9d34c8044fc796d3cd3090a2af6ff56c3067
|
|
BLAKE2b-256 checksum How to use checksums |
84b740a9499856915941e91214bd115114e335b8d62c16c342ac5d7b2a5b9a6d
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 425.9 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c7f7dc8f74c685d19de4e242b8cf233bf7e3f691e9e927b1831db51ea89dd9f5
|
|
BLAKE2b-256 checksum How to use checksums |
fb8716a1de0c6c46a2a896710f98c75bd2992d7a37a35f638973acc8074b8e70
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | epaper_dithering-6.1.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 419.0 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
d37f9f0c072e9eb23ea6c44c1f7329b90c1b325725397c8da75c84e94953efab
|
|
BLAKE2b-256 checksum How to use checksums |
79ca7e6aac40cf05da4a585b1fcabfd751c8afa9b04526b017dd05252b8a4929
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 419.2 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
e996ff2ad9dc26bd8ca4884f2c32ff3a648533a845e8e97c3b44628047b30534
|
|
BLAKE2b-256 checksum How to use checksums |
a525b991ff62d8445feb04b717d9ea2afee31779593922acc0ebcd76e2d1f24e
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | epaper_dithering-6.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 728.3 kB |
| Tags | CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
db5bd545ade935085edcef21b56fb163ce5ae2ea9381b3418437cbab753ab362
|
|
BLAKE2b-256 checksum How to use checksums |
3ab825c05d15fe2c316df0812360afcb9b524f1a2c9c90844be79fdd8be83e9f
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp311-cp311-win_amd64.whl
| Download URL | epaper_dithering-6.1.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 261.5 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0ef4c99b2d57865b8515233a748e822215dd9c78ab9cebb104b7009706ecac1d
|
|
BLAKE2b-256 checksum How to use checksums |
5d76afbe41b227bfa6bc6548d8a58d1d7d20ab916f4d90a9bf3c011c437af68c
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 631.6 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
607f6311bb1cb2e0abc109d85c6cb5061bbcbbd7c04e0023f90609be477a5c28
|
|
BLAKE2b-256 checksum How to use checksums |
827a8c277561f7856adea622de34151db008b5662d8837abfa3a1a2a203b67e3
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 599.6 kB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
5bbb3306aba148e85e89a1ca82df993390582695a1492a36c84588ad6e10fedf
|
|
BLAKE2b-256 checksum How to use checksums |
3bd7d76e131bc76876eba3efa8eff42f4eb7b36184b26464abcd02c5cdd17360
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | epaper_dithering-6.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 428.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4f90324704d414238ade39e83dc76022c72798b1b6927f5b344d9b5226c68c87
|
|
BLAKE2b-256 checksum How to use checksums |
798ce2e163502ed93de483f2aaf691def65e753277df36912e080c9565bf6abc
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | epaper_dithering-6.1.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 422.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
86d1c0bfe1594a42a9cdaab95521987fb30ed83dfc7090bacf06d4d1e35e7b33
|
|
BLAKE2b-256 checksum How to use checksums |
24861f57749021dbd7a7bb4c5b3ab579bca888ab4348ab40ef19f0a29469a7a2
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | epaper_dithering-6.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 422.4 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
729cebbf1d97b99f4da680d896af3f1e1d0602019aedc23582709624f66b3c32
|
|
BLAKE2b-256 checksum How to use checksums |
b718717c76cef7c28b36f18be07d31875c577d955d776cd46f6719231b0d6786
|
| 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 Oct 7, 2026.
Transparency logRelease files / epaper_dithering-6.1.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | epaper_dithering-6.1.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 734.8 kB |
| Tags | CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
62d163deb9fa0b50ce18c23c5e1c4590f3726071fed391aff878be3f7025d285
|
|
BLAKE2b-256 checksum How to use checksums |
ed1b3d66e1d2718a8dc280921658b6bfb716883e9dc4927965817b2fd23db78b
|
| 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 Oct 7, 2026.
Transparency log