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

Uploaded CPython 3.12Windows x86-64

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

File metadata

  • Download URL: ouestcharlie_imageproc-1.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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ce5dccc6483a34c30ff058a4eb2de6483dfee573f16e57f48d19943e5a4abffe
MD5 be0023b3a384268640584fb249107122
BLAKE2b-256 13e87ece28b8063efdf141707a23e6759d6d7e046b4f7106ff30998d05ac0969

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ouestcharlie_imageproc-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fdfa76c9fc53c79b8246f976921753d902cad11e4ef8bb950782f42a07009782
MD5 f1d0015f2cf8b7ad620b49bb0fd976f4
BLAKE2b-256 5da6d53505b53c384c05f81f3cf3b8764b99d6477c5374aaec972f6522994559

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ouestcharlie_imageproc-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2d47f6baae0a73d2b807b362f70e7c56c1ab38c7e079f95ffd8d27159aaed9e3
MD5 6b17f155336a8b846d6789b4bb9c49b8
BLAKE2b-256 24ecca3a0fda21e96334de2a0cf96f7256e086cde6dae569ea35c1281dd0ef0e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ouestcharlie_imageproc-1.0.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 8942225ad4713bdbdb5779d0559f9c06c6d9eecdcb71c77d4560a4d8136d7ad6
MD5 da8ba968f0a10de7eb22abdff040271e
BLAKE2b-256 e8c768354632a69773c4af34b5bf49bb1322bffc55a29561a9b214bd8bddeb1f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ouestcharlie_imageproc-1.0.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b39ae55bb07a04a5ed2f3098e718c9644d175df308326e18598af0a99d7b7486
MD5 b5b4e68f73d3f2f96780c706a0965497
BLAKE2b-256 4b3eeb882f79d02ede3305dfed4376d30a680943c00ef5d3b764900847e0beba

See more details on using hashes here.

Provenance

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