Skip to main content

ouestcharlie-imageproc

Image processing coprocessor for OuEstCharlie — a Rust CLI (image-proc) bundled with a Python subprocess wrapper.

Handles all pixel-level operations: decoding, EXIF orientation, resize, fit, and encoding to AVIF or JPEG. Used by ouestcharlie-py-toolkit for thumbnail grid assembly and on-demand preview generation.

What's in this package

  • image-proc — Rust CLI that reads JSON requests from stdin and writes JSON responses to stdout (newline-delimited, persistent coprocessor model).
  • ouestcharlie_imageproc.image_proc — Python subprocess wrappers: OneTimeImageProc (fresh process per request) and PersistentImageProc (long-lived process with asyncio lock).

Supported formats

Format Notes
JPEG, PNG, WebP, TIFF Default, pure Rust, all platforms
RAW (CR2, NEF, ARW, DNG, RAF, ORF, RW2, PEF) Enable with IMAGE_PROC_FEATURE_RAW=1
HEIC/HEIF Enable with IMAGE_PROC_FEATURE_HEIC=1 — bundled into published wheels by default; requires libheif at build time only, none at runtime (its shared library is vendored into the wheel)

Building

Requires Rust stable, nasm, and (for HEIC) libheif:

# macOS
brew install nasm inih libheif

# Linux
sudo apt-get install nasm libheif-dev

# Windows
choco install nasm
# libheif via vcpkg — see .github/workflows/_build.yml for the bootstrap steps
# Install as editable (development)
pip install -e . --no-build-isolation

# Build release wheel
IMAGE_PROC_FEATURE_RAW=1 IMAGE_PROC_FEATURE_HEIC=1 hatch build --target wheel

Published wheels set both IMAGE_PROC_FEATURE_RAW and IMAGE_PROC_FEATURE_HEIC via CI — a bare pip install -e . or hatch build without the env vars excludes both, same as cargo build without --features.

Running tests

# Unit tests (no binary required)
.venv/bin/python -m pytest tests/ -v

# Integration tests (require compiled binary)
.venv/bin/python -m pytest tests_integration/ -v

# Rust tests
cd image-proc && cargo test

Design

See imageproc_LLD.md for the protocol specification, command reference, and build details.

Metadata

Release files for ouestcharlie-imageproc 3.0.1

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

Source distribution (sdist)

Source distribution for ouestcharlie-imageproc 3.0.1
File Size Uploaded Provenance Actions
ouestcharlie_imageproc-3.0.1.tar.gz 2.3 MB With provenance Details for ouestcharlie_imageproc-3.0.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for ouestcharlie-imageproc 3.0.1
File Interpreter ABI Platform Actions
ouestcharlie_imageproc-3.0.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for ouestcharlie_imageproc-3.0.1-py3-none-win_amd64.whl
ouestcharlie_imageproc-3.0.1-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details for ouestcharlie_imageproc-3.0.1-py3-none-manylinux_2_34_x86_64.whl
ouestcharlie_imageproc-3.0.1-py3-none-macosx_15_0_arm64.whl Python 3 none macOS 15.0+ ARM64 Details for ouestcharlie_imageproc-3.0.1-py3-none-macosx_15_0_arm64.whl

Total release size: 27.8 MB

Release files / ouestcharlie_imageproc-3.0.1.tar.gz

Download URL ouestcharlie_imageproc-3.0.1.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
9939ba8c962dfbdd5439ea7516cc0b73f44505c9038172b7c687fca85a3ff083
BLAKE2b-256 checksum
How to use checksums
830946cff7696df45d0e2cf768d006a50b9f2e2e05682cefcf3d3a6f9687e47c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / ouestcharlie_imageproc-3.0.1-py3-none-win_amd64.whl

Download URL ouestcharlie_imageproc-3.0.1-py3-none-win_amd64.whl
Size 6.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
b1c3ad130c8ec124dd194bd4166b3acafc637c8d8dc587233b43ac9e113c763c
BLAKE2b-256 checksum
How to use checksums
7665538258d0ba560d76f2856207ac475a908a2ae5d6373936d472d3bf7ad5d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / ouestcharlie_imageproc-3.0.1-py3-none-manylinux_2_34_x86_64.whl

Download URL ouestcharlie_imageproc-3.0.1-py3-none-manylinux_2_34_x86_64.whl
Size 9.7 MB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6dedc247946f9df69945b26a02586b9017668930c9008147c0f2cc7b67670f97
BLAKE2b-256 checksum
How to use checksums
ff9c77e96f865fb3ea6021b0478a8c6ece0adb01c8524962dd6102692b6b84d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / ouestcharlie_imageproc-3.0.1-py3-none-macosx_15_0_arm64.whl

Download URL ouestcharlie_imageproc-3.0.1-py3-none-macosx_15_0_arm64.whl
Size 9.1 MB
Tags Python 3 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
1c8da4e258080cbd0af0eba8d3c94f882e0289de1f64e65abae141c1e0494152
BLAKE2b-256 checksum
How to use checksums
56e24c52d7090584ef78939fc0d33ed335e960d98ad8e87a6efbd979025e3868
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Security for ouestcharlie-imageproc 3.0.1

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.

Full provenance

All 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for ouestcharlie_imageproc-3.0.1.tar.gz

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 Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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