Simple and easy file storages for Flask
Project description
Simple and easy file storages for Flask.
Compatibility
Flask-FS requires Python 3.7+ and Flask/Werkzeug 2.0.0+.
Amazon S3 support requires Boto3.
GridFS support requires PyMongo 3+.
OpenStack Swift support requires python-swift-client.
Installation
You can install Flask-FS with pip:
$ pip install flask-fs
# or
$ pip install flask-fs[s3] # For Amazon S3 backend support
$ pip install flask-fs[swift] # For OpenStack swift backend support
$ pip install flask-fs[gridfs] # For GridFS backend support
$ pip install flask-fs[all] # To include all dependencies for all backends
Quick start
from flask import Flask
import flask_fs as fs
app = Flask(__name__)
fs.init_app(app)
images = fs.Storage('images')
if __name__ == '__main__':
app.run(debug=True)
Contributions
All contributions are welcome as long as they respect the C4 contract.
Code must follow the pep8 convention.
Changelog
Current
0.7.4 (2022-01-24)
CGWire will maintain this fork
Flask-FS2 requires Python 3.7+ and Flask/Werkzeug 2.0.0+
Remove all code related to Python 2
Added read_chunks() operations
Add region configuration for Swift and S3
0.6.1 (2018-04-19)
Fix a race condition on local backend directory creation
Proper content type handling on GridFS (thanks to @rclement)
0.6.0 (2018-03-27)
Added copy() and move() operations
delete() now supports directories (or prefixes for key/value stores)
Improve metadata() mime handling
Added explicit ImageField.full(external=False)
0.5.1 (2018-03-12)
Fix local backend list_files() nested directories handling
0.5.0 (2018-03-12)
Added metadata method to Storage to retrieve file metadata
Force boto3 >= 1.4.5 because of API change (lifecycle)
Drop Python 3.3 support
Create parent directories when opening a local file in write mode
0.4.1 (2017-06-24)
Fix broken packaging for Python 2.7
0.4.0 (2017-06-24)
Added backend level configuration FS_{BACKEND_NAME}_{KEY}
Improved backend documentation
Use setuptools entry points to register backends.
Added NONE extensions specification
Added list_files to Storage to list the current bucket files
Image optimization preserve file type as much as possible
Ensure images are not overwritted before rerendering
0.3.0 (2017-03-05)
Switch to pytest
ImageField optimization/compression. Resized images are now compressed. Default image can also be optimized on upload with FS_IMAGES_OPTIMIZE = True or by specifying optimize=True as field parameter.
ImageField has now the ability to rerender images with the rerender() method.
0.2.1 (2017-01-17)
Expose Python 3 compatibility
0.2.0 (2016-10-11)
Proper github publication
Initial S3, GridFS and Swift backend implementations
Python 3 fixes
0.1 (2015-04-07)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for flask_fs2-0.7.25-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a99a83f74d99bbdae97a958ee333092d64304209e490e99803ceb75fc395b5e3 |
|
MD5 | fdad16bc4d087ab7afaac20cb6b2e5f2 |
|
BLAKE2b-256 | 94a2ddaa21db31c05ec3aa9e50c5dcec9f3449fdc9c426ba7c2a73e6a9b0de8c |