Skip to main content

Fast Python bindings for libjxl and libjpeg-turbo with GIL-free encoding/decoding and native async support.

Project description

pylibjxl

CI PyPI version Python versions License: BSD 3-Clause

Fast Python bindings for libjxl and libjpeg-turbo. Built with pybind11, with GIL-free encoding/decoding and native async support.

Features

  • 🚀 High performance — C++ core with GIL release during encode/decode
  • 📦 Metadata support — Read/write EXIF, XMP, and JUMBF metadata
  • Async-first — Native asyncio support for concurrent I/O
  • 🎯 Simple API — Free functions for quick use, context managers for control
  • 🖼️ NumPy native — Direct ndarray input/output (RGB/RGBA, uint8)
  • 🔄 JPEG support — Encode/decode JPEG via libjpeg-turbo + lossless JPEG↔JXL transcoding

Installation

Prerequisites

  • Python ≥ 3.11
  • CMake ≥ 3.15
  • C++17 compiler (GCC, Clang, MSVC)

Note: libjxl and libjpeg-turbo are bundled as Git submodules in third_party/ and statically linked — no system-level installation required.

Install

Using uv (recommended):

uv pip install git+https://github.com/user/pylibjxl.git --recursive

Or via pip:

git clone --recurse-submodules https://github.com/user/pylibjxl.git
cd pylibjxl
pip install .

Quick Start

import numpy as np
import pylibjxl

# Create a test image (H, W, C)
image = np.random.randint(0, 256, (512, 512, 3), dtype=np.uint8)

# Encode → Decode
data = pylibjxl.encode(image, effort=7, distance=1.0)
decoded = pylibjxl.decode(data)

Usage

Encode / Decode (In-Memory)

import pylibjxl

# Lossy encoding (default)
data = pylibjxl.encode(image, effort=7, distance=1.0)

# Lossless encoding
data = pylibjxl.encode(image, lossless=True)

# Decode
image = pylibjxl.decode(data)

File I/O

# Write to file (creates parent directories automatically)
pylibjxl.write("output.jxl", image, effort=7, distance=1.0)

# Read from file
image = pylibjxl.read("output.jxl")

Metadata (EXIF / XMP / JUMBF)

# Encode with metadata
data = pylibjxl.encode(image, exif=exif_bytes, xmp=xmp_bytes)

# Decode with metadata extraction
image, meta = pylibjxl.decode(data, metadata=True)
print(meta.keys())  # dict_keys(['exif', 'xmp'])

# File I/O with metadata
pylibjxl.write("photo.jxl", image, exif=exif_bytes, xmp=xmp_bytes, jumbf=jumbf_bytes)
image, meta = pylibjxl.read("photo.jxl", metadata=True)

Context Manager

with pylibjxl.JXL(effort=7, distance=1.0) as jxl:
    # Encode/decode with shared defaults
    data = jxl.encode(image)
    result = jxl.decode(data)

    # Per-call overrides
    data_hq = jxl.encode(image, distance=0.5)

    # File I/O
    jxl.write("output.jxl", image, exif=exif_bytes)
    result, meta = jxl.read("output.jxl", metadata=True)

Async

import asyncio
import pylibjxl

async def main():
    # In-memory async
    data = await pylibjxl.encode_async(image, exif=exif_bytes)
    image, meta = await pylibjxl.decode_async(data, metadata=True)

    # File async
    await pylibjxl.write_async("output.jxl", image, xmp=xmp_bytes)
    image = await pylibjxl.read_async("output.jxl")

    # Async context manager
    async with pylibjxl.AsyncJXL(effort=5) as jxl:
        data = await jxl.encode_async(image)
        result = await jxl.decode_async(data)

asyncio.run(main())

JPEG Encode / Decode

import pylibjxl

# Encode to JPEG (via libjpeg-turbo)
jpeg_data = pylibjxl.encode_jpeg(image, quality=95)

# Decode JPEG to numpy array
image = pylibjxl.decode_jpeg(jpeg_data)

JPEG ↔ JXL Transcoding

# Losslessly recompress JPEG → JXL (preserves JPEG reconstruction data)
jxl_data = pylibjxl.jpeg_to_jxl(jpeg_data, effort=7)

# Reconstruct original JPEG from JXL (lossless roundtrip)
jpeg_restored = pylibjxl.jxl_to_jpeg(jxl_data)

# Async variants
jxl_data = await pylibjxl.jpeg_to_jxl_async(jpeg_data)
jpeg_data = await pylibjxl.jxl_to_jpeg_async(jxl_data)

JPEG File I/O

# Write JPEG file
pylibjxl.write_jpeg("photo.jpg", image, quality=95)

# Read JPEG file
image = pylibjxl.read_jpeg("photo.jpg")

# Async
await pylibjxl.write_jpeg_async("photo.jpg", image)
image = await pylibjxl.read_jpeg_async("photo.jpg")

Cross-Format File Conversion

# JPEG → JXL (lossless transcoding, preserves JPEG reconstruction data)
pylibjxl.convert_jpeg_to_jxl("photo.jpg", "photo.jxl")

# JXL → JPEG (lossless reconstruction from transcoded JXL)
pylibjxl.convert_jxl_to_jpeg("photo.jxl", "restored.jpg")

# Async
await pylibjxl.convert_jpeg_to_jxl_async("photo.jpg", "photo.jxl")
await pylibjxl.convert_jxl_to_jpeg_async("photo.jxl", "restored.jpg")

API Reference

Free Functions

encode(input, effort=7, distance=1.0, lossless=False, *, exif=None, xmp=None, jumbf=None) → bytes

Encode a NumPy array to JXL bytes.

Parameter Type Default Description
input ndarray required uint8 array of shape (H, W, 3) or (H, W, 4)
effort int 7 Encoding effort [1-10], higher = slower + smaller
distance float 1.0 Perceptual distance [0.0-25.0], 0 = lossless
lossless bool False If True, encode losslessly (overrides distance)
exif bytes | None None Raw EXIF metadata to embed
xmp bytes | None None Raw XMP (XML) metadata to embed
jumbf bytes | None None Raw JUMBF metadata to embed

Note on EXIF: pylibjxl automatically handles the 4-byte TIFF header offset required by the JXL box format. You should provide raw EXIF bytes starting with the TIFF header (e.g., II* or MM*).


decode(data, *, metadata=False) → ndarray | tuple[ndarray, dict]

Decode JXL bytes to a NumPy array.

Parameter Type Default Description
data bytes required JXL-encoded data
metadata bool False If True, also return metadata dict

Returns:

  • metadata=Falsendarray of shape (H, W, C), dtype uint8
  • metadata=Truetuple(ndarray, dict) where dict may contain keys: "exif", "xmp", "jumbf" (as bytes)

read(path, *, metadata=False)

Read a .jxl file from disk. Returns same types as decode().

write(path, image, effort=7, distance=1.0, lossless=False, *, exif=None, xmp=None, jumbf=None)

Encode and write to a .jxl file. Creates parent directories automatically.


encode_async(...) / decode_async(...) / read_async(...) / write_async(...)

Async versions of the above functions — same parameters, returns Awaitable.


Context Managers

JXL(effort=7, distance=1.0, lossless=False)

Synchronous codec context manager with shared defaults. It maintains a persistent thread pool for better performance across multiple operations.

Method Description
encode(input, ...) Encode JXL in-memory (supports per-call overrides)
decode(data, *, metadata=False) Decode JXL in-memory
read(path, *, metadata=False) Read JXL from file
write(path, image, ...) Write JXL to file
encode_jpeg(input, quality=95) Encode JPEG in-memory
decode_jpeg(data) Decode JPEG in-memory
read_jpeg(path) Read JPEG from file
write_jpeg(path, image, quality=95) Write JPEG to file
jpeg_to_jxl(data, effort=None) Lossless JPEG → JXL transcoding
jxl_to_jpeg(data) JXL → JPEG reconstruction
convert_jpeg_to_jxl(in_path, out_path) File-to-file JPEG → JXL
convert_jxl_to_jpeg(in_path, out_path) File-to-file JXL → JPEG
close() Explicitly close and release thread pool

Properties:

  • closed (bool): Whether the codec context has been closed.

AsyncJXL(effort=7, distance=1.0, lossless=False)

Async codec context manager. Methods are async versions of the above: encode_async, decode_async, read_async, write_async, encode_jpeg_async, decode_jpeg_async, read_jpeg_async, write_jpeg_async, jpeg_to_jxl_async, jxl_to_jpeg_async, convert_jpeg_to_jxl_async, convert_jxl_to_jpeg_async.


JPEG & Transcoding Functions

encode_jpeg(input, quality=95) → bytes

Encode a NumPy array to JPEG bytes using libjpeg-turbo.

Parameter Type Default Description
input ndarray required uint8 array of shape (H, W, 3) or (H, W, 4)
quality int 95 JPEG quality [1-100]

decode_jpeg(data) → ndarray

Decode JPEG bytes to a NumPy array (H, W, 3) using libjpeg-turbo.

read_jpeg(path) → ndarray

Read a .jpg/.jpeg file from disk. Returns ndarray of shape (H, W, 3).

write_jpeg(path, image, quality=95)

Encode and write to a JPEG file. Creates parent directories automatically.

jpeg_to_jxl(data, effort=7) → bytes

Losslessly recompress JPEG bytes to JXL. This process preserves the original JPEG codestream and metadata (EXIF, XMP, etc.), allowing for bit-perfect restoration of the original JPEG file.

jxl_to_jpeg(data) → bytes

Reconstruct the original JPEG bytes from a JXL file (only works if the JXL was created via jpeg_to_jxl).

convert_jpeg_to_jxl(jpeg_path, jxl_path, effort=7)

Convert a JPEG file to JXL file via lossless transcoding. Creates parent directories automatically.

convert_jxl_to_jpeg(jxl_path, jpeg_path)

Reconstruct the original JPEG file from a JXL file. Only works for JPEG-transcoded JXL files.

Async variants

encode_jpeg_async, decode_jpeg_async, read_jpeg_async, write_jpeg_async, jpeg_to_jxl_async, jxl_to_jpeg_async, convert_jpeg_to_jxl_async, convert_jxl_to_jpeg_async — same parameters, returns Awaitable.


Utility Functions

Function Returns Description
version() dict libjxl version {"major", "minor", "patch"}
decoder_version() int Decoder version number
encoder_version() int Encoder version number

License

BSD 3-Clause

Project details


Download files

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

Source Distribution

pylibjxl-0.1.9.tar.gz (58.6 MB view details)

Uploaded Source

Built Distributions

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

pylibjxl-0.1.9-cp314-cp314-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.14Windows x86-64

pylibjxl-0.1.9-cp314-cp314-win32.whl (1.5 MB view details)

Uploaded CPython 3.14Windows x86

pylibjxl-0.1.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pylibjxl-0.1.9-cp314-cp314-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pylibjxl-0.1.9-cp314-cp314-macosx_10_15_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

pylibjxl-0.1.9-cp313-cp313-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pylibjxl-0.1.9-cp313-cp313-win32.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86

pylibjxl-0.1.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pylibjxl-0.1.9-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pylibjxl-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pylibjxl-0.1.9-cp312-cp312-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pylibjxl-0.1.9-cp312-cp312-win32.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86

pylibjxl-0.1.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pylibjxl-0.1.9-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pylibjxl-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pylibjxl-0.1.9-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pylibjxl-0.1.9-cp311-cp311-win32.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86

pylibjxl-0.1.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pylibjxl-0.1.9-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pylibjxl-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file pylibjxl-0.1.9.tar.gz.

File metadata

  • Download URL: pylibjxl-0.1.9.tar.gz
  • Upload date:
  • Size: 58.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9.tar.gz
Algorithm Hash digest
SHA256 0104b674159cdfd857e2debaa28e9be23638a77067b531b97579e47cf0019098
MD5 cb73fb0896dbbd54be5fc4e683b0226b
BLAKE2b-256 52aec6cf55c50db303e5d4a6138cbe0002c271f8b535100bfc6488783c4bfc6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9.tar.gz:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1539e93ca9c535502141df0ccbbe39bb301f37b5d0be8c2491f0f2f38ea901d5
MD5 e32b63dc689c7bada11069a64512dc8e
BLAKE2b-256 3914346646185e69911f772723112a5ab67c153a143da3234b3adf2baf8e60f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp314-cp314-win_amd64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp314-cp314-win32.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp314-cp314-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 be048ce3948387fffa0948537063473d3e1a4eb65075a2b364571f608a8a912e
MD5 bc1da173cced1b55052c971686810584
BLAKE2b-256 0a146814f43a1460ba51b375afa5c518cea19798df2f27bda0c15dd1f06702c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp314-cp314-win32.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1135158e903a9ce1d22ac15f713b0af22a7dc51bd1b8726edea8429dc37bb27d
MD5 2c5b8fd66b9b4e4fd8330ea177fd56b6
BLAKE2b-256 6733204d6f1cd1114542e3297749bf4b6dbc1e0d63e22e6e3e49e5b184d15b44

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49434072629c1ca88243fda1d67cdc853c61b3f646b2c1b8ccf6d7f8e4507790
MD5 fe6c83a927fe589326c11f7da755d9e4
BLAKE2b-256 8c22d6a28d24eaf3d051298e5dac53b3f78c35566b5eea09ad6c1c3ca6ed59a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b3046d50a4784290ca1dc9e4673ffc0486fa31cd19229f1175ef7e5d6de1efbf
MD5 01ef28b8fbdc68f173421337aad2bfe3
BLAKE2b-256 081f22f914b6f64ba4da42c2483c4a1a0d2fadf4da8dba39a50514033147e1d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 51820d9171dbaaa4b8bb12f295ef6b89951da194cbebffbf4ce3bf283c82d9f3
MD5 cbfdefd36266a6793a878716cc9e3e46
BLAKE2b-256 23a35736826f648a204c4a3d3fadadca10980cebbc7139b26b223a547a4a9f46

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp313-cp313-win_amd64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp313-cp313-win32.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp313-cp313-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 5fac78cc5f5e4fb6f9882bb324c73b72ff7610f25a9194cf2f60c187ab34f8a5
MD5 2ce1f9e8094928d18d758ad351ac2bb9
BLAKE2b-256 987bd4834dde7c7b601d2ea2b847159c2ce1e016dfdb32d3a07f6e0f33187db2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp313-cp313-win32.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5c3e2d790f17b83e248eb9733e15373ea5d32260c431348ab3f075e2b9c2c935
MD5 44a1ef838f8aebe0652472b256f131e9
BLAKE2b-256 ed81b43078da0550b29c81f358a2972406f61510d135bcef0fc55644d918a751

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9aceb52441d68772026c650c827835b3c034495fc40d759efbdc2918c3adf99a
MD5 882ca7954e56db82a524a416e378fb80
BLAKE2b-256 66c14ea62502bdf511025ebc1bebf09ced7bef8032ac65c818d08d0dfc895ed0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 536a705b5c52b1fdc0058add03bcfd3cc50e322e7772eaff3d90f0690357ff86
MD5 495a54f86a6dc860a39624c5d8b1837c
BLAKE2b-256 e8d5ffc586e0025e52fb58e1de8ba331a8242a5171451cbc4dcf461591799236

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7506df9fdb04ce1be1ad8e042de16d58a8ddba9b3cda71938e85b5a7f3ba08c2
MD5 4d53b179fff2d8b83c3f02f6e0996eda
BLAKE2b-256 14ebb87130a7e1df892f23184456cf0df92629216da3402df8ec936339d49c45

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp312-cp312-win_amd64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp312-cp312-win32.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 a0d6d3f4471bd794fe0b67d7e8522ca80825fac8c4faf674e7a90c0dd4002adb
MD5 6cca2592a6f5f6845b88f8c083d93655
BLAKE2b-256 4713785b297aac473c0648413295a6103e7f2b798816504f6d04d8b790d708d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp312-cp312-win32.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 02270a4c844ab5084f9148949090e3870522922df108f12e52f1ca76c5d2a4a9
MD5 a66bf7811daf24a695a9c3bafb64e8e7
BLAKE2b-256 cf7c741803561a26b919d36dc63c25d64b7124cd08abdbf9c6770cf4fca030bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 264b876af8a34fda64e6c2bd3e31082a239a2027ee7d429f9a1623bbd78af860
MD5 82e9884503bc8c1ec6960095ae1bf8fe
BLAKE2b-256 1a2ff725edad8c873fe1c04cfaad25d41fbb6b3c28084dcfdc493f351f922003

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1086e591a6c9e295f9bd9601e885daf295277f0f98941aeee50af99a946b3ac5
MD5 1f5d94193a92e2c10542edb4c5891e7c
BLAKE2b-256 c97799712d70f8af0ec04ba20ae1232e60af344c1e19e09d474dd668f9c5ff57

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fcd6f9e19a15a7cf6925cf26d1dfca94bc207745ced19a168bfe99c2a01a4070
MD5 2ce2b61c07c764f446ea2bb39c91b4af
BLAKE2b-256 8f6834b7b4abeaccd50612a050b362eaf5ad43b9527b57546cd4193d8622ee13

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp311-cp311-win_amd64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp311-cp311-win32.whl.

File metadata

  • Download URL: pylibjxl-0.1.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pylibjxl-0.1.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 366f3199a2e7b5914b4036cba4b221ed66220921b743ec9e1862c8b03fc83518
MD5 6a2a2367c46a12df7eaf6719dc26306b
BLAKE2b-256 a8bb51b6b3b3fb27cafddc83a337789d61c2849385531f42a1f32b1cb53ffcd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp311-cp311-win32.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a4b42ddc0eb0be7728e4cddf4585802ec3fc9ae98b299c17b75786af71fb094
MD5 8c6434ee31f5898fd544a2fac2097fb5
BLAKE2b-256 d53650a8c5403a51253555e65f017227df6c961afc1306da5f792aaa138c0f71

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8481a6a5a8c77bea0f23aa23ce73961ede77479fe063cc5f6a278a355e5ec86d
MD5 44e0044b23744e440596136c31bb842a
BLAKE2b-256 fdda9c1f65ee69984a131dbcf6a24d4f29f1df06bb271be7b80d35e07f3c043b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build.yml on twn39/pylibjxl

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

File details

Details for the file pylibjxl-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pylibjxl-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c7e80ad18ec60217a486cb03070ecd30c1b6dd0cf426a9229c687457d889ecd7
MD5 8204c207e54687bae32e8fe738fb00d0
BLAKE2b-256 745e91a62c83373b9a24b48ea2ac606151c34a590b62e69c8ebf172b94d42b15

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylibjxl-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: build.yml on twn39/pylibjxl

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page