Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

bgunebakan/puhu

Repository files navigation

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

About

A modern, high-performance image processing library for Python, powered by Rust.

Resources

License

Stars

Watchers

Forks

Packages

No packages published