Cloudpathlib

Latest version: v0.21.0

Safety actively analyzes 715033 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 6

0.6.0

- Added `no_sign_request` parameter to `S3Client` instantiation for anonymous requests for public resources on S3. See [documentation](https://cloudpathlib.drivendata.org/stable/api-reference/s3client/#cloudpathlib.s3.s3client.S3Client.__init__) for more details. ([164](https://github.com/drivendataorg/cloudpathlib/pull/164))

0.5.0

- 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](https://cloudpathlib.drivendata.org/stable/api-reference/s3client/#cloudpathlib.s3.s3client.S3Client.__init__) for more details. ([150](https://github.com/drivendataorg/cloudpathlib/pull/150))

0.4.1

- 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](https://cloudpathlib.drivendata.org/stable/authentication/#accessing-custom-s3-compatible-object-stores) for more details. ([138](https://github.com/drivendataorg/cloudpathlib/pull/138) thanks to [YevheniiSemendiak](https://github.com/YevheniiSemendiak))
- Added `CloudPath.upload_from` which uploads the passed path to this CloudPath (issuse [58](https://github.com/drivendataorg/cloudpathlib/issues/58))
- Added support for common file transfer functions based on `shutil`. Issue [108](https://github.com/drivendataorg/cloudpathlib/issues/108). PR [#142](https://github.com/drivendataorg/cloudpathlib/pull/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.

0.4.0

- Added rich comparison operator support to cloud paths, which means you can now use them with `sorted`. ([129](https://github.com/drivendataorg/cloudpathlib/pull/129))
- Added polymorphic class `AnyPath` which creates a cloud path or `pathlib.Path` instance appropriately for an input filepath. See new [documentation](https://cloudpathlib.drivendata.org/stable/anypath-polymorphism/) for details and example usage. ([#130](https://github.com/drivendataorg/cloudpathlib/pull/130))
- Added integration with [Pydantic](https://pydantic-docs.helpmanual.io/). See new [documentation](https://cloudpathlib.drivendata.org/stable/integrations/#pydantic) for details and example usage. ([130](https://github.com/drivendataorg/cloudpathlib/pull/130))
- Exceptions: ([131](https://github.com/drivendataorg/cloudpathlib/pull/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](https://www.python.org/dev/peps/pep-0008/#exception-names).
- 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](https://github.com/drivendataorg/cloudpathlib/pull/121) thanks to [genziano](https://github.com/genziano))
- Fixed bug where `hash(...)` of a cloud path was not consistent with the equality operator. ([129](https://github.com/drivendataorg/cloudpathlib/pull/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](https://github.com/drivendataorg/cloudpathlib/pull/131))
- Fixed `GSClient` to instantiate as anonymous with public access only when instantiated with no credentials, instead of erroring. ([131](https://github.com/drivendataorg/cloudpathlib/pull/131))

0.3.0

- 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"](https://cloudpathlib.drivendata.org/stable/testing_mocked_cloudpathlib/) to learn more about how to use them. ([#107](https://github.com/drivendataorg/cloudpathlib/pull/107))

0.2.1

- Fixed bug where a `NameError` was raised if the Google Cloud Storage dependencies were not installed (even if using a different storage provider).

Page 5 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.