Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Cloud Storage
_ is a Python +3.5 package which creates a unified API for the
cloud storage services: Amazon Simple Storage Service (S3),
Microsoft Azure Storage, Minio Cloud Storage, Rackspace Cloud Files,
Google Cloud Storage, and the Local File System.
Cloud Storage is inspired by Apache Libcloud <https://libcloud.apache.org/>
_.
Advantages to Apache Libcloud Storage are:
.. code-block:: python
>>> from cloudstorage.drivers.amazon import S3Driver
>>> storage = S3Driver(key='<my-aws-access-key-id>', secret='<my-aws-secret-access-key>')
>>> container = storage.create_container('avatars')
>>> container.cdn_url
'https://avatars.s3.amazonaws.com/'
>>> avatar_blob = container.upload_blob('/path/my-avatar.png')
>>> avatar_blob.cdn_url
'https://s3.amazonaws.com/avatars/my-avatar.png'
>>> avatar_blob.generate_download_url(expires=3600)
'https://avatars.s3.amazonaws.com/my-avatar.png?'
'AWSAccessKeyId=<my-aws-access-key-id>'
'&Signature=<generated-signature>'
'&Expires=1491849102'
>>> container.generate_upload_url('user-1-avatar.png', expires=3600)
{
'url': 'https://avatars.s3.amazonaws.com/',
'fields': {
'key': 'user-1-avatar.png',
'AWSAccessKeyId': '<my-aws-access-key-id>',
'policy': '<generated-policy>',
'signature': '<generated-signature>'
}
}
Amazon S3
_Google Cloud Storage
_Microsoft Azure Storage
_Minio Cloud Storage
_Rackspace CloudFiles
_To install Cloud Storage:
.. code-block:: bash
pip install cloudstorage
Also install the storage driver(s) you will be using:
.. code-block:: bash
pip install cloudstorage[amazon]
pip install cloudstorage[google]
pip install cloudstorage[local]
pip install cloudstorage[microsoft]
pip install cloudstorage[minio]
pip install cloudstorage[rackspace]
.. _Amazon S3
: https://aws.amazon.com/s3/
.. _Blackblaze B2 Cloud Storage
: https://www.backblaze.com/b2/Cloud-Storage.html
.. _Google Cloud Storage
: https://cloud.google.com/storage/
.. _Microsoft Azure Storage
: https://azure.microsoft.com/services/storage/
.. _Minio Cloud Storage
: https://www.minio.io/
.. _Rackspace CloudFiles
: https://www.rackspace.com/cloud/files
.. _Cloud Storage
: https://github.com/scottwernervt/cloudstorage/
.. :changelog:
1.0.0 (Unreleased) +++++++++++++++++++
Features
Semantic Versioning <https://semver.org/>
_).0.11.0 (2021-01-15) +++++++++++++++++++
Features
#68 <https://github.com/scottwernervt/cloudstorage/pull/68>
_). Thanks @habibutsu.#67 <https://github.com/scottwernervt/cloudstorage/pull/67>
_). Thanks @RangelReale.Bugs
bytes
to str
before saving the json file for Windows Xattr simulator (#66 <https://github.com/scottwernervt/cloudstorage/pull/66>
_). Thanks @RangelReale!pathlib.Path
properly for Blob.download
download and Container.upload_blob
(#65 <https://github.com/scottwernervt/cloudstorage/pull/65>
_). Thanks @sibowsb!NotFoundError
message for AWS driver (#64 <https://github.com/scottwernervt/cloudstorage/pull/64>
_). Thanks @sibowsb!0.10.1 (2020-04-20) +++++++++++++++++++
Features
xattr
in Windows by storing data in .<filename>.xattr
(#56 <https://github.com/scottwernervt/cloudstorage/pull/56>
_). Thanks @RangelReale.python 3.8
.Bugs
azure
to version 4.0.0
(#58 <https://github.com/scottwernervt/cloudstorage/issues/58>
_).python 3.4
due to PyYAML
requirement !=3.4.*
.0.10.0 (2019-08-10) +++++++++++++++++++
Bugs
get_blob
raises TypeError
when Content MD5 missing in remote (#47 <https://github.com/scottwernervt/cloudstorage/issues/47>
_). Thanks @matt-carr.AzureStorageDriver
reads stream twice without rewinding (#44 <https://github.com/scottwernervt/cloudstorage/issues/44>
_). Thanks @matt-carr.#43 <https://github.com/scottwernervt/cloudstorage/issues/43>
_).Changes from 0.9.0:
0.9.0 (2018-11-29) ++++++++++++++++++
Features
DriverName.validate_credentials()
(#34 <https://github.com/scottwernervt/cloudstorage/issues/34>
_).Changes from 0.8.0:
GoogleStorageDriver
with an invalid credentials file will
raise CredentialsError
exception instead of CloudStorageError
.0.8.0 (2018-11-06) ++++++++++++++++++
Features
Blob
and Container
's meta_data
is now a case insensitive dictionary.#25 <https://github.com/scottwernervt/cloudstorage/issues/25>
_).
Install driver requirements with: pip install cloudstorage[minio]
.Other
src
folder structure for package.0.7.0 (2018-10-03) ++++++++++++++++++
Features
Cache-Control
supported for Amazon, Google, Local, and Microsoft (#11 <https://github.com/scottwernervt/cloudstorage/issues/11>
_).#4 <https://github.com/scottwernervt/cloudstorage/issues/4>
_).Other
rfc6266_parser
.flake8
linting and sphinx
doc building to tox and travis.0.6 (2018-07-24) ++++++++++++++++
setup.py
to setup.cfg
UnicodeDecodeError
when decoding local file attribute values.requirements.txt
and dev-requirements.txt
.0.5 (2018-02-26) ++++++++++++++++
#14 <https://github.com/scottwernervt/cloudstorage/issues/14>
_).0.4 (2017-08-29) ++++++++++++++++
#1 <https://github.com/scottwernervt/cloudstorage/issues/1>
_).#7 <https://github.com/scottwernervt/cloudstorage/issues/7>
_ and #8 <https://github.com/scottwernervt/cloudstorage/issues/8>
_).0.3 (2017-05-24) ++++++++++++++++
#6 <https://github.com/scottwernervt/cloudstorage/issues/6>
_: Add kwargs to each driver's init method.0.2 (2017-04-21) ++++++++++++++++
0.1 (2017-04-20) ++++++++++++++++
FAQs
Unified cloud storage API for storage services.
We found that cloudstorage demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.