Skip to main content

A simple image manipulation library aiming to make common image tasks easy.

Project description

A simple image manipulation library aiming to make common image/photo manipulation tasks easy. This library is still under development, API may also change at any time.

Requires PIL/Pillow.

Example usage:

from da_vinci import Image

image = Image('lena.jpg')
image.flip('horizontal')
image.resize(width=10, height=10)
image.save()

# Opening an image from URL, rotating and change it's format
image = Image('http://stamps.co.id/static/merchants/img/logo.png')
image.rotate(degrees=90)
image.set(format='jpg', quality=85)
image.save() # Creates a file logo.jpg

# Manipulating saturation, brightness, contrast and sharpness
# Accepts values range from -100 (decrease) to 100 (increase)
image.adjust(saturation=-100)
image.adjust(brightness=-75, contrast=50, sharpness=-20)

If you need more extensive manipulation, an escape hatch to PIL is also available:

image = image.from_file('a.jpg')
pil_image = image.get_pil_image()
# Do whatever you need to do with the pil image
# And if you want to convert this back to a da_vinci image
image.set_pil_image(pil_image)

Tests

To run tests:

python -m unittest tests

Changelog

Version 0.5.0

  • Added support for converting transparent images to JPEG. Thanks @marsha97!

Version 0.4.0

  • Support Pillow 10
  • Preserve EXIF data when image is rotated

Version 0.3.0

  • Added webp extension support

Version 0.2.2

  • Added bmp extension support

Project details


Download files

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

Source Distribution

da_vinci-0.5.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

da_vinci-0.5.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file da_vinci-0.5.0.tar.gz.

File metadata

  • Download URL: da_vinci-0.5.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for da_vinci-0.5.0.tar.gz
Algorithm Hash digest
SHA256 b4256566f9e4358413501330965cf5e875217fb03b518733281fb57401179563
MD5 692dd3bc22bd5cad298832f32e851d0c
BLAKE2b-256 98bf2edb7c85beae9f1ea872aafd4c64a555986929566348c93ad247b78ef680

See more details on using hashes here.

File details

Details for the file da_vinci-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: da_vinci-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for da_vinci-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7293cbf6d65000fc95d1dde3718f2d26a95e296a78a18d339aff3d38df35c328
MD5 10208c3aab9b4a4e4613777838eb0d21
BLAKE2b-256 2179d051f53dd7433b724ba26f21a42e656af4d38385c69379f0d2679b4c39e1

See more details on using hashes here.

Supported by

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