Skip to main content

Easy to work with Google Cloud Platform Storage Bucket wrapper

Project description

wemake-python-styleguide

Google Cloud Platform Storage Bucket

This package just aims to make life a little bit easier for people who have to work with google cloud storage bucket.

Quickstart:

  1. get the package
  • pip install storage-bucket
  1. Download your keyfile and save it as key.json and point to it with env var:
  • gcloud iam service-accounts keys create key.json --iam-account your_service_account@your_project.iam.gserviceaccount.com
  • export GOOGLE_APPLICATION_CREDENTIALS='key.json'
  1. Run some code:
from storage_bucket.download_file import DownloadFile, download_file


def use_data_for_something(data):
    print(data)


# Normal way, this might throw exception...
my_data = download_file(
    'my_bucket',
    'my_file.txt',
)
use_data_for_something(my_data)


# Returns Modal way
# this will _only_ call use_data_for_something when data is successfully downloaded.
DownloadFile()(
    'my_bucket',
    'my_file.txt',
).map(
    use_data_for_something,  # send data to this function,
).alt(
    print,  # print error or send a mail or w/e
)

Supported functions

Downloading

from storage_bucket.download_file import DownloadFile, download_file

DownloadFile()('bucket', 'filename')
download_file('bucket', 'filename')

Uploading

from storage_bucket.upload_file import UploadFile, upload_file

UploadFile()(b'data', 'bucket_name', 'filename')
upload_file(b'data', 'bucket_name', 'filename')

Listing

from storage_bucket.list_files import ListFiles, list_files

ListFiles()('bucket')
list_files('bucket')

ListFiles()('bucket', 'foldername/')
list_files('bucket', 'foldername/')

Deleting

from storage_bucket.delete_file import DeleteFile, delete_file

DeleteFile()('bucketname', 'filename')
delete_file('bucketname', 'filename')

The use of Returns library.

  • Just lets us get rid of all exceptions.
  • Lets us chain stuff so everything looks good.
  • Lets you use DownloadFile()(args...).map(dostuff).alt(dostuffonfailure)
  • Don't like it? use the matching normal function provided for your convenience.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

storage-bucket-0.3.1.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

storage_bucket-0.3.1-py3-none-any.whl (8.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page