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.
- 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
pip install puhuPre-built wheels are available for:
- Linux (x86_64, ARM64)
- macOS (Intel, Apple Silicon)
- Windows (x64)
- Python 3.8+
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")Full documentation is available at puhu.readthedocs.io
Full benchmarks are available at BENCHMARKS.md
# 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
Contributions are welcome! See our Contributing Guide for details.
MIT License - see LICENSE file for details.
- Documentation: https://puhu.readthedocs.io
- PyPI: https://pypi.org/project/puhu/
- Source Code: https://github.com/bgunebakan/puhu
- Issue Tracker: https://github.com/bgunebakan/puhu/issues