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.1.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.1.0-cp313-cp313-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.13Windows x86-64

ouestcharlie_imageproc-2.1.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.1.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.1.0.tar.gz.

File metadata

  • Download URL: ouestcharlie_imageproc-2.1.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.1.0.tar.gz
Algorithm Hash digest
SHA256 38587da6d70d413de30d9b351da23dcc6fc26c3a5d35ff82f4c2e0d6580c8f8a
MD5 1a43bdeefa717f7f3517959fe15fac67
BLAKE2b-256 47b793352866510d83b9afc853a301d405f85983ecf79c8f94476ab6b7214dec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.1.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.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d8830958c66002cb59c84f2d30c0e133000eae7a2fafe9bc9c6fda38ddc2a46c
MD5 91c707f6b06fdc53408207ace5d96030
BLAKE2b-256 6e0d45fb6179daf64a5ad9b5235aa76cf94fa61cfb27a5f479202fdc05232f6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.1.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.1.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.1.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ce2ce6d0cca72c5c5692c57973d2196138f1092d694f00c1691f13e9cec6b730
MD5 fd8856b29477ba95de5cc8f9e89c83a8
BLAKE2b-256 dc39b582cea549758c6201a5ddcdec9c6390f291223c04c653103d6c3a69a29c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.1.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.1.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.1.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 37be3ec23ef317b1f4ce3d3a50a5baf0518c90bb898af9748d60499ee14eed5c
MD5 664d958092499b49ab21e6fc4775ef87
BLAKE2b-256 3f5e5fef725a7013961f9bcc173e328233e9fdd7ae81bf4b5676433bcd85b4bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.1.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