Storedoc
A python module to upload files on cloud. Supported services - AWS S3, DigitalOcean Spaces, LocalStorage.
Installation
To install, simply use pip or easy_install:
$ pip install --upgrade storedoc
or
$ easy_install --upgrade storedoc
Get Started
Upload to AWS S3 Buckets
Initialize the service
from storedoc import Service
client = Service('aws')
Get information of the service
client.describe()
Instantiate AWS S3 Client
client.connect(
region_name='//s3.your-region.amazonaws.com',
endpoint_url='https://s3.amazonaws.com',
aws_access_key_id='your-access-key',
aws_secret_access_key='your-secret'
)
Upload the file to S3 bucket (Note: File type supported <werkzeug.datastructures.FileStorage>)
# Default ACL (Access Control List) is set to 'private'.
# Default MIME Type results to 'binary/octet-stream' if no MIME type is provided.
client.upload_file(file, bucket='your-bucket-name')
# To add your custom ACL ('private'|'public-read'|'public-read-write'|'authenticated-read'|'aws-exe').
client.upload_file(file, bucket='your-bucket-name', acl='public-read')
# To add explicit MIME Type. Example for JPEG image upload, you can user
client.upload_file(file, bucket='your-bucket-name', mime='image/jpeg')
# You can let storedoc guess the MIME Type for you (Default is set to False)
client.upload_file(file, bucket='your-bucket-name', guess_mime=True)
Upload to DigitalOcean Spaces Buckets
Initialize the service
from storedoc import Service
client = Service('do')
Get information of the service
client.describe()
Instantiate DO Spaces Client
client.connect(
region_name='//s3.your-region.amazonaws.com',
endpoint_url='https://your-region.digitaloceanspaces.com',
aws_access_key_id='your-access-key',
aws_secret_access_key='your-secret'
)
Upload the file to S3 bucket (Note: File type supported <werkzeug.datastructures.FileStorage>)
# Default ACL (Access Control List) is set to 'private'.
# Default MIME Type results to 'binary/octet-stream' if no MIME type is provided.
client.upload_file(file, bucket='your-bucket-name')
# To add your custom ACL ('private'|'public-read'|'public-read-write'|'authenticated-read'|'aws-exe').
client.upload_file(file, bucket='your-bucket-name', acl='public-read')
# To add explicit MIME Type. Example for JPEG image upload, you can user
client.upload_file(file, bucket='your-bucket-name', mime='image/jpeg')
# You can let storedoc guess the MIME Type for you (Default is set to False)
client.upload_file(file, bucket='your-bucket-name', guess_mime=True)
Save File to Local Storage
Initialize the service
from storedoc import Service
client = LocalStorage()
Save file to working directory (Note: File type supported <werkzeug.datastructures.FileStorage>)
client.save_file(file)
Save file to specific directory (Note: File type supported <werkzeug.datastructures.FileStorage>)
client.save_file(file, folder='some-directory-name')
Features
- Upload Any file to AWS s3, DigitalOcean Spaces
- Set ACL Support
- Content Type Support
Third Party Libraries and Dependencies
The following libraries will be installed when you install the client library:
- boto3 (Amazon Web Services SDK for Python)
To-Dos
- Test cases.
Contribute
- Look for an open issue or create new issue to get a dialog going about the new feature or bug that you've discovered.
- Fork the repository on Github to start making your changes to the master branch (or branch off of it).
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Make a pull request.
Metadata
Release files for storedoc 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| storedoc-0.1.8.tar.gz | 4.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| storedoc-0.1.8-py3.7.egg | Legacy Egg format | - | - | Details |
Total release size: 17.0 kB
Release files / storedoc-0.1.8.tar.gz
| Download URL | storedoc-0.1.8.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
907e2055450a9fab171d1530073bd17b48874f3ec38a595e7b754bb8208046a0
|
|
BLAKE2b-256 checksum How to use checksums |
b0c17a69dd0879e639230d2e55d147e3af4c74eeed0f4cc1983721969d2cb0f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4
|
Release files / storedoc-0.1.8-py3.7.egg
| Download URL | storedoc-0.1.8-py3.7.egg |
|---|---|
| Size | 12.5 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
5115604e72e5e9d635bcf0e5c94e810c4cea9a15922a656bd54bc950852232ab
|
|
BLAKE2b-256 checksum How to use checksums |
6ce01903d5d9c744b56f49270755028cb1a04fe22b4c0f67bd637e7f8e508cbf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4
|