Metadata-Version: 2.1
Name: da-vinci
Version: 0.5.0
Summary: A simple image manipulation library aiming to make common image tasks easy.
Home-page: https://github.com/ui/da-vinci
Author: Selwin Ong
Author-email: selwin.ong@gmail.com
License: MIT
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Multimedia :: Graphics
Description-Content-Type: text/markdown

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:

```python
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:

```python
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:

```console
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
