Skip to main content

Puhu 🦉

CI PyPI Documentation Python Rust License

A modern, high-performance image processing library for Python, powered by Rust. Puhu provides a Pillow-compatible API while delivering significantly better performance for common image operations.

Features

  • High Performance - Rust-powered for significantly faster operations
  • Pillow Compatible - Drop-in replacement for most Pillow operations
  • Memory Safe - Built with Rust's memory safety guarantees
  • Easy to Install - Pre-built wheels for all major platforms
  • Rich Format Support - PNG, JPEG, BMP, TIFF, GIF, WEBP

Installation

pip install puhu

Pre-built wheels are available for:

  • Linux (x86_64, ARM64)
  • macOS (Intel, Apple Silicon)
  • Windows (x64)
  • Python 3.8+

Quick Start

import puhu

# Open and process an image
img = puhu.open("photo.jpg")
img = img.resize((800, 600))
img = img.crop((100, 100, 500, 400))
img.save("output.png")

# Drop-in Pillow replacement
from puhu import Image
img = Image.open("photo.jpg")
img = img.resize((400, 300))
img.save("resized.jpg")

Documentation

Full documentation is available at puhu.readthedocs.io

Benchmarks

Full benchmarks are available at BENCHMARKS.md

Development

Building from Source

# Clone repository
git clone https://github.com/bgunebakan/puhu.git
cd puhu

# Install dependencies
pip install -r requirements.txt

# Build and install
maturin develop --release

# Run tests
pytest python/puhu/tests/

Requirements: Python 3.8+, Rust 1.70+, Maturin

Contributing

Contributions are welcome! See our Contributing Guide for details.

License

MIT License - see LICENSE file for details.

Links

Built with PyO3 and image-rs

Metadata

Release files for puhu 0.4.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 puhu 0.4.1
File Size Uploaded Provenance
puhu-0.4.1.tar.gz 51.3 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for puhu 0.4.1
File
puhu-0.4.1-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
puhu-0.4.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
puhu-0.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
puhu-0.4.1-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
puhu-0.4.1-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 4.6 MB

Release files / puhu-0.4.1.tar.gz

Download URL puhu-0.4.1.tar.gz
Size 51.3 kB
Tags Source
SHA-256 checksum
How to use checksums
353003a2fc2c9d08b13f28a7d05be5bf05404ffb88214662fc527c9de4f775bb
BLAKE2b-256 checksum
How to use checksums
c167b8efc91d522ede658e961afbd71f54510acc5e18f79ba12085208cc2e480
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.13.3

Release files / puhu-0.4.1-cp38-abi3-win_amd64.whl

Download URL puhu-0.4.1-cp38-abi3-win_amd64.whl
Size 805.2 kB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c51bb8e4683952236b823facf9419242481d0d425bbba981704bb2f92d94ebdd
BLAKE2b-256 checksum
How to use checksums
3863b81d1b217b99cdecd56dcb747586df11da5b718ea5c0009b881585c687ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.13.3

Release files / puhu-0.4.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL puhu-0.4.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 984.1 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
a484c17b4e19ced9442726aade6e2dc627a02d84a3e380b808207f49f9f052a2
BLAKE2b-256 checksum
How to use checksums
14e0fd76cc93b5a452f2f35e0da5d7225d72959271965e55a650a957dd04ddb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.13.3

Release files / puhu-0.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL puhu-0.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 958.9 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
8dad6ac0e76998dc458fc49e489425a72449cac1ed64284159476d6e1dd12c7c
BLAKE2b-256 checksum
How to use checksums
a3dfdafd821813ed0f7b92f6817e1281fc396d981979ea2e99970333da7f262c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.13.3

Release files / puhu-0.4.1-cp38-abi3-macosx_11_0_arm64.whl

Download URL puhu-0.4.1-cp38-abi3-macosx_11_0_arm64.whl
Size 880.4 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c9a1fb38e354320365dfb29bc44a0dd028b215675cbf52f31c0ed5ea592f9719
BLAKE2b-256 checksum
How to use checksums
5ecbc66d428afa4d3be942afab9bd4ebddbb64cb8ef44b31bd984dde4af66397
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.13.3

Release files / puhu-0.4.1-cp38-abi3-macosx_10_12_x86_64.whl

Download URL puhu-0.4.1-cp38-abi3-macosx_10_12_x86_64.whl
Size 940.3 kB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
83045041f747f8e285fab69cc9ac731c38b41b0d6e2050dd6efd1a5cd4243242
BLAKE2b-256 checksum
How to use checksums
ca445aa2d570aa3de9186f638298f243db43dfaf8e3708d9eb8ced40bb420f15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.13.3

Security for puhu 0.4.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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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