Classes and methods to handle pictures for the web
Project description
Gallerist
Classes and methods to handle pictures for the web, using Pillow.
$ pip install gallerist
Features
- Code api to handle the generation of pictures in various sizes (e.g. medium size picture, small size, thumbnail)
- Both asynchronous api and synchronous api
- Supports user defined stores for binaries, for example to read and write files in Azure Blob Storage, or AWS S3
- Supports scaling animated GIF files
- Maintain PNG transparencies
- Handles by default JPG, PNG, GIF, MPO; and provides a code api to support adding more supported formats
Examples
Basic example using the synchronous api, and reading files from file system:
from gallerist import Gallerist
from gallerist.fs import FileSystemSyncFileStore
gallerist = Gallerist(FileSystemSyncFileStore('tests'))
metadata = gallerist.process_image('files/blacksheep.png')
Configuring sizes
from gallerist import Gallerist, ImageSize
from gallerist.fs import FileSystemSyncFileStore
store = FileSystemSyncFileStore('tests')
# configuring sizes by mime (use '*' to match any mime):
gallerist = Gallerist(store, sizes={
'image/jpeg': [
ImageSize('a', 500),
ImageSize('b', 400),
ImageSize('c', 300)
],
'image/png': [
ImageSize('a', 350),
ImageSize('b', 250),
ImageSize('c', 150)
]
})
Implementing a custom file store
from gallerist.abc import FileStore, SyncFileStore
class MyAsyncFileStore(FileStore):
"""Implement your async file store, then use gallerist.process_image_async method"""
async def read_file(self, file_path: str) -> bytes:
pass
async def write_file(self, file_path: str, data: bytes):
pass
async def delete_file(self, file_path: str):
pass
class MySyncFileStore(SyncFileStore):
"""Implement your sync file store, then use gallerist.process_image method"""
def read_file(self, file_path: str) -> bytes:
pass
def write_file(self, file_path: str, data: bytes):
pass
def delete_file(self, file_path: str):
pass
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
gallerist-0.0.4.tar.gz
(7.1 kB
view hashes)
Built Distribution
Close
Hashes for gallerist-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfe1e69ea505f20638a30d49b23377a690fc54ba7e4f80df93290866e13d4923 |
|
MD5 | ccbd1ade323a600ae2417d82a187e7af |
|
BLAKE2b-256 | e80ce1a1b0dcfce107ea22d2a68078a35b9ab5345a37a1e82a1b5830aa1546fe |