Cloudpathlib Versions Save

Python pathlib-style classes for cloud storage services such as Amazon S3, Azure Blob Storage, and Google Cloud Storage.

v0.18.1

2 months ago
  • Fixed import error due to incompatible google-cloud-storage by not using transfer_manager if it is not available. (Issue #408, PR #410)

Includes all changes from v0.18.0.

Note: This is the last planned Python 3.7 compatible release version.

v0.18.0

2 months ago
  • Implement sliced downloads in GSClient. (Issue #387, PR #389)
  • Implement as_url with presigned parameter for all backends. (Issue #235, PR #236)
  • Stream to and from Azure Blob Storage. (PR #403)
  • Implement file: URI scheme support for AnyPath. (Issue #401, PR #404)

Note: This version was yanked due to incompatibility with google-cloud-storage <2.7.0 that causes an import error.

v0.17.0

4 months ago
  • Fix S3Client cleanup via Client.__del__ when S3Client encounters an exception during initialization. (Issue #372, PR #373, thanks to @bryanwweber)
  • Skip mtime checks during upload when force_overwrite_to_cloud is set to improve upload performance. (Issue #379, PR #380, thanks to @Gilthans)

v0.16.0

6 months ago
  • Add "CloudPath" as return type on __init__ for mypy issues. (Issue #179, PR #342)
  • Add with_stem to all path types when python version supports it (>=3.9). (Issue #287, PR #290, thanks to @Gilthans)
  • Add newline parameter to the write_text method to align to pathlib functionality as of Python 3.10. PR #362, thanks to @pricemg.
  • Add support for Python 3.12 (PR #364)
  • Add CLOUDPATHLIB_LOCAL_CACHE_DIR env var for setting local_cache_dir default for clients (Issue #352, PR #357)
  • Add CONTRIBUTING.md instructions for contributors (Issue #213, PR #367)

v0.15.1

9 months ago
  • Compatibility with pydantic >= 2.0.0. (PR #349)

v0.15.0

10 months ago
  • Changed return type for CloudPathMeta.__call__ to fix problems with pyright/pylance (PR #330)
  • Make CloudPath.is_valid_cloudpath a TypeGuard so that type checkers can know the subclass if is_valid_cloudpath is called (PR #337)
  • Added follow_symlinks to stat for 3.11.4 compatibility (see bpo 39906)
  • Add follow_symlinks to is_dir implementation for CPython glob compatibility (see CPython PR #104512)

v0.14.0

11 months ago
  • Changed to pyproject.toml-based build.
  • Changed type hints from custom type variable DerivedCloudPath to typing.Self (PEP 673). This adds a dependency on the typing-extensions backport package from Python versions lower than 3.11.
  • Fixed a runtime key error when an S3 object does not have the Content-Type metadata set. (Issue #331, PR #332)

v0.13.0

1 year ago
  • Implement file_cache_modes to give users finer-grained control over when and how the cache is cleared. (Issue #10, PR #314)
  • Speed up listing directories for Google Cloud Storage. (PR #318)
  • Add compatibility for Python 3.11 (PR #317)

v0.12.1

1 year ago
  • Fix glob logic for buckets; add regression test; add error on globbing all buckets (Issue #311, PR #312)

v0.12.0

1 year ago
  • API Change: S3Client supports an extra_args kwarg now to pass extra args down to boto3 functions; this enables Requester Pays bucket access and bucket encryption. (Issues #254, #180; PR #307)
  • Speed up glob! (Issue #274, PR #304)
  • Ability to list buckets/containers a user has access to. (Issue #48, PR #307)
  • Remove overly specific status check and assert in production code on remove. (Issue #212, PR #307)
  • Update docs, including accessing public buckets. (Issue #271, PR #307)