pypicloud.storage.s3 module

Store packages in S3

class pypicloud.storage.s3.CloudFrontS3Storage(request=None, domain=None, crypto_pk=None, key_id=None, **kwargs)[source]

Bases: S3Storage

Storage backend that uses S3 and CloudFront

classmethod configure(settings)[source]

Configure the storage method with app settings

class pypicloud.storage.s3.S3Storage(request=None, bucket=None, **kwargs)[source]

Bases: ObjectStoreStorage

Storage backend that uses S3

check_health()[source]

Check the health of the storage backend

Returns
(healthy, status)(bool, str)

Tuple that describes the health status and provides an optional status message

delete(package)[source]

Delete a package file

Parameters
packagePackage

The package metadata

classmethod get_bucket(bucket_name: str, settings: EnvironSettings) boto3.s3.Bucket[source]
get_uri(package)[source]
list(factory=<class 'pypicloud.models.Package'>)[source]

Return a list or generator of all packages

open(package)[source]

Overwrite open method to re-use client instead of using signed url.

classmethod package_from_object(obj, factory)[source]

Create a package from a S3 object

test = False[source]
upload(package, datastream)[source]

Upload a package file to the storage backend

Parameters
packagePackage

The package metadata

datastreamfile

A file-like object that contains the package data