Imgora
Chainable Python client for Imagor and Thumbor image processing servers
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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| imgora-0.0.1.tar.gz | 75.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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