Skip to main content

Image processing coprocessor for OuEstCharlie (Rust binary + Python wrapper)

Project description

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 (requires system libheif)

Building

Requires Rust stable and nasm:

# macOS
brew install nasm inih

# Linux
sudo apt-get install nasm

# Windows
choco install nasm
# Install as editable (development)
pip install -e . --no-build-isolation

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

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.

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

ouestcharlie_imageproc-2.2.0.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

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

ouestcharlie_imageproc-2.2.0-cp313-cp313-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.13Windows x86-64

ouestcharlie_imageproc-2.2.0-cp313-cp313-manylinux_2_34_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

ouestcharlie_imageproc-2.2.0-cp313-cp313-macosx_15_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

File details

Details for the file ouestcharlie_imageproc-2.2.0.tar.gz.

File metadata

  • Download URL: ouestcharlie_imageproc-2.2.0.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ouestcharlie_imageproc-2.2.0.tar.gz
Algorithm Hash digest
SHA256 690d8b4c6380a4a7da62946b97607d6a8e7b6ad794881737b3de536c18fd4597
MD5 8f1d9d7cd27d7c0a77cd640c5a2ab545
BLAKE2b-256 8804323f52e3dec3c8832b0926870cd28c72be3330a0333057316c2c281d13d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.2.0.tar.gz:

Publisher: publish.yml on ouestcharlie/ouestcharlie-imageproc

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

File details

Details for the file ouestcharlie_imageproc-2.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c7994a50323b482efb500faee4c7dcc99225220878688cbf9ddac8dcd6d82065
MD5 121a446183e62e359cefe355b876756d
BLAKE2b-256 415bd4fdcc5abca713d58289ebc743c2743832eb80e21db8ef854360f63e4b95

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.2.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on ouestcharlie/ouestcharlie-imageproc

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

File details

Details for the file ouestcharlie_imageproc-2.2.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c0c4ecb86b60f784c9ac255627211c1d1aae0208418c28e41e45fa6cd5ec2826
MD5 cd743dfbbb568387f8a761b1e1c4e6c4
BLAKE2b-256 afc35a7718666d91fc0bcd3539d721d060c0936ada9a2a35f479a74fec509f31

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.2.0-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on ouestcharlie/ouestcharlie-imageproc

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

File details

Details for the file ouestcharlie_imageproc-2.2.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.2.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 fadd6a6eaece7e5dbaf730dbab6f7b3330f6f8bdce8327013d54a13204d8ad2a
MD5 caeba086ecf9838fd1ebe17e3512632e
BLAKE2b-256 dbad3dc5489c6385e59f18141b72817b4e5f1e4a85c6c2f1b33082e35b5fb9e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.2.0-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: publish.yml on ouestcharlie/ouestcharlie-imageproc

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