DEPOT is a framework for easily storing and serving files in web applications on Python2.6+ and Python3.2+.
Installing DEPOT can be done from PyPi itself by installing the filedepot
distribution:
$ pip install filedepot
To start using Depot refer to Documentation
DEPOT was presented at PyConUK and PyConFR in 2014
Here is a simple example of using depot standalone to store files on MongoDB:
from depot.manager import DepotManager
# Configure a *default* depot to store files on MongoDB GridFS
DepotManager.configure('default', {
'depot.backend': 'depot.io.gridfs.GridFSStorage',
'depot.mongouri': 'mongodb://localhost/db'
})
depot = DepotManager.get()
# Save the file and get the fileid
fileid = depot.create(open('/tmp/file.png'))
# Get the file back
stored_file = depot.get(fileid)
print stored_file.filename
print stored_file.content_type
- Added host option to S3Storage to allow using providers different from AWS.
- Added FileIntent to explicitly provide content_type and filename to uploaded content.
- Added Content-Disposition header with original filename in WSGI middleware
- Work-Around for issue with wsgi.file_wrapper provided by Waitress WSGI Server
- Official Support for AWS S3 on Python3