SQLAlchemy extension for attaching images to entities.

dahlia dahlia Last update: Nov 09, 2023

SQLAlchemy-ImageAttach

PyPI Read the Docs Build Status Coverage Status

SQLAlchemy-ImageAttach is a SQLAlchemy extension for attaching images to entity objects. It provides the following features:

Storage backend interface
You can use file system backend on your local development box, and switch it to AWS S3 when it's deployed to the production box. Or you can add a new backend implementation by yourself.
Maintaining multiple image sizes
Any size of thumbnails can be generated from the original size without assuming the fixed set of sizes. You can generate a thumbnail of a particular size if it doesn't exist yet when the size is requested. Use RRS (Reduced Redundancy Storage) for reproducible thumbnails on S3.
Every image has its URL
Attached images can be exposed as a URL.
SQLAlchemy transaction aware
Saved file are removed when the ongoing transaction has been rolled back.
Tested on various environments
  • Python versions: Python 2.7, 3.3 or higher, PyPy
  • DBMS: PostgreSQL, MySQL, SQLite
  • SQLAlchemy: 0.9 or higher (tested on 0.9 to 1.1; see CI as well)

Installation

It's available on PyPI:

$ pip install SQLAlchemy-ImageAttach

Subscribe to our newsletter