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.0.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.0.0-cp312-cp312-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.12Windows x86-64

ouestcharlie_imageproc-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

ouestcharlie_imageproc-2.0.0-cp312-cp312-macosx_15_0_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

ouestcharlie_imageproc-2.0.0-cp312-cp312-macosx_15_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

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

File metadata

  • Download URL: ouestcharlie_imageproc-2.0.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.0.0.tar.gz
Algorithm Hash digest
SHA256 3d99766ba2d3f1b8145fb08616a3c1c1ee8439237e8fef1cf343df9a3cb45b54
MD5 431176c9b0bdf6fbf87390562e4078f8
BLAKE2b-256 da7439fffccdd53eae6d61265856aefb098884d41d1b19ed0fbdc018dbebc2c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.0.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.0.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0f5fc7c810535f4371ba95e2904164114ee7f0cf35c709f7e347fa1d10d58e48
MD5 e5b1e8bcfb9556752f9aa5b6861c06cb
BLAKE2b-256 b52be61bace38d2b65cc7c4d8f777c3d92265f367fbb88aad3c84ff5b9584e98

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.0.0-cp312-cp312-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.0.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 08d70c7f19af1c06d3249ce5d248faee2ad68e4cd79b8d6ee4574c9c7b668cd5
MD5 145f1c105af71a0207c3bc9178da2d2b
BLAKE2b-256 f8c6e809e9b7a6d677e02d220e2edc1ac3d7150cc0d64a3bc4d092aaea350fff

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.0.0-cp312-cp312-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.0.0-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.0.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 954dd05a29270493bfb89b049ed613453c2caf745337ebefc955af60afa8beaa
MD5 2f9028a4ee0e7e156bae124c8802a816
BLAKE2b-256 69feb6ab5d4b433808c425bad8b14f6639a7f30af9808e6fd2c44552286ab757

See more details on using hashes here.

Provenance

The following attestation bundles were made for ouestcharlie_imageproc-2.0.0-cp312-cp312-macosx_15_0_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.0.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for ouestcharlie_imageproc-2.0.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4670a146f9ce92777070593cd37132bab3ae9f60b019b0aece23f001004ffbb2
MD5 fe243b446caa7de1712071ad351722d1
BLAKE2b-256 49d05d95123c75975ecb0a0b837aa13bf586e96f610e39e1c2439159fecb4a15

See more details on using hashes here.

Provenance

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