Skip to main content

Imgora

Imgora

Chainable Python client for Imagor and Thumbor image processing servers

Documentation | PyPI


Imgora provides a clean, chainable interface for generating image URLs for Imagor, Thumbor and Wsrv.nl image processing servers. It supports all standard operations and filters with full type hints and documentation.

Features

  • Imagor, Thumbor & Wsrv.nl Support: Compatible with Imagor, Thumbor and Wsrv.nl servers
  • URL Signing: Built-in support for secure URL signing
  • Chainable API: Fluent interface for building complex image processing pipelines
  • Comprehensive Filter Support: Implements all standard filters and operations
  • Fully Typed: Built with Python's type hints for better IDE support and code quality

Installation

Using uv (recommended):

uv pip install imgora

Or with pip:

pip install imgora

Quick Start

from imgora import WsrvNl

image_url = "https://wsrv.nl/puppy.jpg"

img = (
    # Imagor(base_url="http://localhost:8018", signer=Signer(key="my_key", type="sha256"))
    WsrvNl()
    .with_image(image_url)
    .crop(0.1, 0.2, 0.6, -100)
    .resize(200, 150)
    .blur(3)
    .grayscale()
    .quality(50)
)

# print(img.path()) # path without url
print(img.url())

Which returns:

https://wsrv.nl/?url=https%3A%2F%2Fwsrv.nl%2Fpuppy.jpg&cx=166&cy=221&cw=831&ch=787&precrop&w=200&h=150&blur=2.50&filt=greyscale&quality=50

Processed image


Original image (width reduced to 400px)


NOTE:

In order to test the url with Imagor or Thumbor you need to start a server. You can do this with the following command:

docker compose up imagor -d
docker compose up thumbor -d

More Examples

docker compose up -d # start imagor and thumbor server
uv run examples/compare_backends.py

Documentation

For complete documentation, including API reference and advanced usage, please visit the documentation site.

Development

To set up the development environment:

# Clone the repository
git clone https://github.com/burgdev/imgora.git
cd imgora

# Install development dependencies
make
uv run invoke install # install 'dev' and 'test' dependencies per default, use --all to install all dependencies

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for details.

License

MIT - See LICENSE for details.

Metadata

Release files for imgora 0.0.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 imgora 0.0.1
File Size Uploaded
imgora-0.0.1.tar.gz 75.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for imgora 0.0.1
File Interpreter ABI Platform
imgora-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 99.1 kB

Release files / imgora-0.0.1.tar.gz

Download URL imgora-0.0.1.tar.gz
Size 75.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ae44cc42eebe2c0a08e570a2ce1dd15ba2a051ad6a2e7efb4ee9ec60fea521f7
BLAKE2b-256 checksum
How to use checksums
d1439657a58188b219c14c2a7569ccb3016346163cf6b4656205c599ba8f0502
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2025.

Transparency log

Release files / imgora-0.0.1-py3-none-any.whl

Download URL imgora-0.0.1-py3-none-any.whl
Size 23.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0dfe17baaed28344bfa8d2f070c1cf43bc1f04d8c83ded03c59abbb864988302
BLAKE2b-256 checksum
How to use checksums
4d4e0f8ab545af4052876c3c2d07d4e7e8bced2ead7bb2d0a5f46adce766eced
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

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