{"id":13586022,"url":"https://github.com/scottwernervt/cloudstorage","last_synced_at":"2025-04-06T03:08:47.866Z","repository":{"id":20145969,"uuid":"88772503","full_name":"scottwernervt/cloudstorage","owner":"scottwernervt","description":"Unified cloud storage API for storage services.","archived":false,"fork":false,"pushed_at":"2024-03-24T23:40:03.000Z","size":477,"stargazers_count":93,"open_issues_count":29,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-17T14:47:58.958Z","etag":null,"topics":["amazon-web-services","aws","aws-s3","cloudfiles","digitalocean-spaces","gcs","google-cloud","google-cloud-storage","minio","python","rackspace","rackspace-cloud-files","s3"],"latest_commit_sha":null,"homepage":"http://cloudstorage.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scottwernervt.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/supported.rst","governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-19T17:33:02.000Z","updated_at":"2024-06-30T20:33:18.000Z","dependencies_parsed_at":"2024-06-18T20:31:55.375Z","dependency_job_id":"cc118bca-487d-4937-8885-bcba770c39ac","html_url":"https://github.com/scottwernervt/cloudstorage","commit_stats":{"total_commits":244,"total_committers":6,"mean_commits":"40.666666666666664","dds":0.07786885245901642,"last_synced_commit":"a5ec0d79283adde367aea2dfeeb8d01c5039fe23"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottwernervt%2Fcloudstorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottwernervt%2Fcloudstorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottwernervt%2Fcloudstorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottwernervt%2Fcloudstorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scottwernervt","download_url":"https://codeload.github.com/scottwernervt/cloudstorage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247427006,"owners_count":20937201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-web-services","aws","aws-s3","cloudfiles","digitalocean-spaces","gcs","google-cloud","google-cloud-storage","minio","python","rackspace","rackspace-cloud-files","s3"],"created_at":"2024-08-01T15:05:16.742Z","updated_at":"2025-04-06T03:08:47.849Z","avatar_url":"https://github.com/scottwernervt.png","language":"Python","readme":"=============\nCloud Storage\n=============\n\n.. start-badges\n\n.. image:: https://img.shields.io/pypi/v/cloudstorage.svg\n    :target: https://pypi.org/project/cloudstorage/\n\n.. image:: https://img.shields.io/pypi/l/cloudstorage.svg\n    :target: https://pypi.org/project/cloudstorage/\n\n.. image:: https://img.shields.io/pypi/wheel/cloudstorage.svg\n    :target: https://pypi.org/project/cloudstorage/\n\n.. image:: https://img.shields.io/pypi/pyversions/cloudstorage.svg\n    :target: https://pypi.org/project/cloudstorage/\n\n.. image:: https://travis-ci.org/scottwernervt/cloudstorage.svg?branch=master\n    :target: https://travis-ci.org/scottwernervt/cloudstorage/\n\n.. image:: https://codeclimate.com/github/scottwernervt/cloudstorage/badges/gpa.svg\n    :target: https://codeclimate.com/github/scottwernervt/cloudstorage/\n\n.. end-badges\n\n`Cloud Storage`_ is a Python +3.5 package which creates a unified API for the\ncloud storage services: Amazon Simple Storage Service (S3),\nMicrosoft Azure Storage, Minio Cloud Storage, Rackspace Cloud Files,\nGoogle Cloud Storage, and the Local File System.\n\nCloud Storage is inspired by `Apache Libcloud \u003chttps://libcloud.apache.org/\u003e`_.\nAdvantages to Apache Libcloud Storage are:\n\n* Full Python 3 support.\n* Generate temporary signed URLs for downloading and uploading files.\n* Support for request and response headers like Content-Disposition.\n* Pythonic! Iterate through all blobs in containers and all containers in\n  storage using respective objects.\n\nUsage\n=====\n\n.. code-block:: python\n\n    \u003e\u003e\u003e from cloudstorage.drivers.amazon import S3Driver\n    \u003e\u003e\u003e storage = S3Driver(key='\u003cmy-aws-access-key-id\u003e', secret='\u003cmy-aws-secret-access-key\u003e')\n\n    \u003e\u003e\u003e container = storage.create_container('avatars')\n    \u003e\u003e\u003e container.cdn_url\n    'https://avatars.s3.amazonaws.com/'\n\n    \u003e\u003e\u003e avatar_blob = container.upload_blob('/path/my-avatar.png')\n    \u003e\u003e\u003e avatar_blob.cdn_url\n    'https://s3.amazonaws.com/avatars/my-avatar.png'\n\n    \u003e\u003e\u003e avatar_blob.generate_download_url(expires=3600)\n    'https://avatars.s3.amazonaws.com/my-avatar.png?'\n    'AWSAccessKeyId=\u003cmy-aws-access-key-id\u003e'\n    '\u0026Signature=\u003cgenerated-signature\u003e'\n    '\u0026Expires=1491849102'\n\n    \u003e\u003e\u003e container.generate_upload_url('user-1-avatar.png', expires=3600)\n    {\n        'url': 'https://avatars.s3.amazonaws.com/',\n        'fields': {\n            'key': 'user-1-avatar.png',\n            'AWSAccessKeyId': '\u003cmy-aws-access-key-id\u003e',\n            'policy': '\u003cgenerated-policy\u003e',\n            'signature': '\u003cgenerated-signature\u003e'\n        }\n    }\n\nSupported Services\n==================\n\n* `Amazon S3`_\n* `Google Cloud Storage`_\n* `Microsoft Azure Storage`_\n* `Minio Cloud Storage`_\n* `Rackspace CloudFiles`_\n* Local File System\n\n\nInstallation\n============\n\nTo install Cloud Storage:\n\n.. code-block:: bash\n\n    pip install cloudstorage\n\nAlso install the storage driver(s) you will be using:\n\n.. code-block:: bash\n\n    pip install cloudstorage[amazon]\n    pip install cloudstorage[google]\n    pip install cloudstorage[local]\n    pip install cloudstorage[microsoft]\n    pip install cloudstorage[minio]\n    pip install cloudstorage[rackspace]\n\n.. _`Amazon S3`: https://aws.amazon.com/s3/\n.. _`Blackblaze B2 Cloud Storage`: https://www.backblaze.com/b2/Cloud-Storage.html\n.. _`Google Cloud Storage`: https://cloud.google.com/storage/\n.. _`Microsoft Azure Storage`: https://azure.microsoft.com/services/storage/\n.. _`Minio Cloud Storage`: https://www.minio.io/\n.. _`Rackspace CloudFiles`: https://www.rackspace.com/cloud/files\n.. _`Cloud Storage`: https://github.com/scottwernervt/cloudstorage/\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottwernervt%2Fcloudstorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottwernervt%2Fcloudstorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottwernervt%2Fcloudstorage/lists"}