Skip to main content

Imagecast is like ImageMagick but for Pythonistas. Optionally provides its features via HTTP API.

Project description


ci-tests Test suite code coverage license pypi-downloads python-versions status pypi-version

About

Imagecast is like ImageMagick but for Pythonistas. Optionally provides its features via HTTP API.

Currently, this is based on Pillow. However, it might be based on Wand in the future.

There might still be dragons.

Install

Prerequisites

pip install imagecast

With service API:

pip install imagecast[service]

Features

  • Colorspace conversion: monochrome, grayscale

  • Cropping with negative right/bottom offsets

  • Resizing while keeping aspect ratio

  • Output format: Any image formats from Pillow or raw bytes

  • HTTP API

Synopsis

# Display on screen
imagecast --uri="$IMGURL" --display

# Colorspace reduction to bi-level with threshold, output as bytes
imagecast --uri="$IMGURL" --monochrome=200 --format=bytes

# Colorspace reduction, cropping, resizing and format conversion
imagecast --uri="$IMGURL" --grayscale --crop=40,50,-50,-40 --width=200 --save=test.png

Example:

imagecast --uri="https://unsplash.com/photos/WvdKljW55rM/download?force=true" --monochrome=80 --crop=850,1925,-950,-900 --width=640 --display

HTML Capturing

Imagecast can also capture screenshots of webpages, or elements thereof. It uses Playwright and Firefox to convert full pages or specific DOM elements to bitmaps.

After installing Imagecast, run:

playwright install firefox

Then, invoke Imagecast like:

imagecast --uri="${URL}" --display

In order to select specific elements for capturing, use the --element option to express a DOM selector to apply:

imagecast --uri="${URL}" --element="#panel-1" --display

HTTP API

Start the Imagecast service as daemon:

imagecast service

Example:

http "localhost:9999/?uri=https%3A%2F%2Funsplash.com%2Fphotos%2FWvdKljW55rM%2Fdownload%3Fforce%3Dtrue&monochrome=80&crop=850,1925,-950,-900&width=640"

Other projects

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imagecast-0.7.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

imagecast-0.7.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file imagecast-0.7.0.tar.gz.

File metadata

  • Download URL: imagecast-0.7.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for imagecast-0.7.0.tar.gz
Algorithm Hash digest
SHA256 ec48b5e01166338cdb838db9f0cbf8408117e4521209f72b82beafb6ba618a6f
MD5 b35aa405d42003ceb262df4a0832725b
BLAKE2b-256 5b3c8093c5de29b27807ff8051cffd33b11fed5f5b88f286ba8be2c6d656320d

See more details on using hashes here.

File details

Details for the file imagecast-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: imagecast-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for imagecast-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a8ee60a6c868262fc56866fdf4f0ef8744e9c222866e8a592cb24b38775984d
MD5 e3059f43492ae7367e47aa418dea31a3
BLAKE2b-256 c81f8e43235439dd836019f01c742e2bcf9378dc45e373b6c77684466704643a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page