Skip to content

Releases: drivendataorg/cloudpathlib

v0.6.3

29 Dec 19:09
d08f18c
Compare
Choose a tag to compare
  • Fixed error when using rmtree on nested directories for Google Cloud Storage and Azure Blob Storage. (Issue #184, PR #185)
  • Fixed broken builds due mypy errors in azure dependency (PR #177)
  • Fixed dev tools for building and serving documentation locally (PR #178)

v0.6.2

20 Sep 20:07
8e4dcaf
Compare
Choose a tag to compare
  • Fixed error when importing cloudpathlib for missing botocore dependency when not installed with S3 dependencies. (PR #168)

v0.6.1

17 Sep 21:09
5f97f08
Compare
Choose a tag to compare
  • Fixed absolute documentation URLs to point to the new versioned documentation pages.
  • Fixed bug for S3 where no_sign_request couldn't be used to download files since our code required list permissions to the bucket to do so. (Issue #169, PR #168).

v0.6.0

08 Sep 01:32
cf76d62
Compare
Choose a tag to compare
  • Added no_sign_request parameter to S3Client instantiation for anonymous requests for public resources on S3. See documentation for more details. (#164)

v0.5.0

31 Aug 22:10
e8d4370
Compare
Choose a tag to compare
  • Added boto3_transfer_config parameter to S3Client instantiation, which allows passing a boto3.s3.transfer.TransferConfig object and is useful for controlling multipart and thread use in uploads and downloads. See documentation for more details. (#150)

v0.4.1

29 May 21:07
25ff783
Compare
Choose a tag to compare
  • Added support for custom S3-compatible object stores. This functionality is available via the endpoint_url keyword argument when instantiating an S3Client instance. See documentation for more details. (#138 thanks to @YevheniiSemendiak)
  • Added CloudPath.upload_from which uploads the passed path to this CloudPath (issuse #58)
  • Added support for common file transfer functions based on shutil. Issue #108. PR #142.
    • CloudPath.copy copy a file from one location to another. Can be cloud -> local or cloud -> cloud. If client is not the same, the file transits through the local machine.
    • CloudPath.copytree reucrsively copy a directory from one location to another. Can be cloud -> local or cloud -> cloud. Uses CloudPath.copy so if client is not the same, the file transits through the local machine.

v0.4.0

13 Mar 19:14
Compare
Choose a tag to compare
  • Added rich comparison operator support to cloud paths, which means you can now use them with sorted. (#129)
  • Added polymorphic class AnyPath which creates a cloud path or pathlib.Path instance appropriately for an input filepath. See new documentation for details and example usage. (#130)
  • Added integration with Pydantic. See new documentation for details and example usage. (#130)
  • Exceptions: (#131)
    • Changed all custom cloudpathlib exceptions to be located in new cloudpathlib.exceptions module.
    • Changed all custom cloudpathlib exceptions to subclass from new base CloudPathException. This allows for easy catching of any custom exception from cloudpathlib.
    • Changed all custom exceptions names to end with Error as recommended by PEP 8.
    • Changed various functions to throw new CloudPathFileExistsError, CloudPathIsADirectoryError or CloudPathNotADirectoryError exceptions instead of a generic ValueError.
    • Removed exception exports from the root cloudpathlib package namespace. Import from cloudpathlib.exceptions instead if needed.
  • Fixed download_to method to handle case when source is a file and destination is a directory. (#121 thanks to @genziano)
  • Fixed bug where hash(...) of a cloud path was not consistent with the equality operator. (#129)
  • Fixed AzureBlobClient instantiation to throw new error MissingCredentialsError when no credentials are provided, instead of AttributeError. LocalAzureBlobClient has also been changed to accordingly error under those conditions. (#131)
  • Fixed GSClient to instantiate as anonymous with public access only when instantiated with no credentials, instead of erroring. (#131)

v0.3.0

30 Jan 07:40
Compare
Choose a tag to compare
  • Added a new module cloudpathlib.local with utilities for mocking cloud paths in tests. The module has "Local" substitute classes that use the local filesystem in place of cloud storage. See the new documentation article "Testing code that uses cloudpathlib" to learn more about how to use them. (#107)

v0.2.1

26 Jan 07:12
da72bb3
Compare
Choose a tag to compare
  • Fixed bug where a NameError was raised if the Google Storage dependencies were not installed (even if using a different storage provider). (#115)

v0.2.0

24 Jan 01:10
Compare
Choose a tag to compare
  • Added support for Google Cloud Storage. Instantiate with URIs prefixed by gs:// or explicitly using the GSPath class. (#113 thanks to @wolfgangwazzlestrauss)
  • Changed backend logic to reduce number of network calls to cloud. This should result in faster cloud path operations, especially when dealing with many small files. (#110, #111)