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
File details
Details for the file flask_fs2-0.7.27-py2.py3-none-any.whl
.
File metadata
- Download URL: flask_fs2-0.7.27-py2.py3-none-any.whl
- Upload date:
- Size: 38.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53c7d07009da489c7383cf68021dbda76dee66ccf8cc2494d99609e53442673e |
|
MD5 | 5a01afaefc55063a2714f32cd7421c51 |
|
BLAKE2b-256 | 36f17b7f43db9b54d4a74901b40fcbf10f5e52241c8183742e601ef28ab2b5ad |