From d2c3cd14dbd0af2ec09aa68338cf79e60c058918 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 10 Jun 2026 21:24:47 -0700 Subject: [PATCH 01/35] Add streaming I/O support via FileCacheMode.streaming Introduces a new FileCacheMode.streaming that opens cloud files as Python-standard BufferedIOBase/TextIOWrapper objects backed by provider range-requests and multipart/resumable uploads, without requiring a local cache copy. New public API: - CloudBufferedIO: BufferedIOBase wrapper for binary streaming - CloudTextIO: TextIOWrapper for text streaming - FileCacheMode.streaming enum value Provider implementations: - S3: multipart upload with 5 MiB minimum non-final part size; _put_empty_object for zero-byte files - GCS: blob.open("wb") resumable write stream; _put_empty_object - Azure Blob: block-blob stage/commit pipeline; _put_empty_object - HTTP(S): single-PUT via self.opener (honours SSL context) - LocalClient: _LocalWriteStream + UUID-keyed multipart buffers for concurrent-write safety Correctness fixes included: - _CloudStorageRaw.close() propagates finalize errors via try/finally - seekable() returns False for write-only streams - Exclusive-create ("x") mode checked against cloud existence - Append/update modes ("a", "+") fall back to file-cache path - Client streaming methods default to NotImplementedError (not @abstractmethod) so custom Client subclasses don't require re-implementation - HTTP _put_data uses self.opener for SSL-aware PUT requests Co-Authored-By: Claude Sonnet 4.6 --- HISTORY.md | 7 + cloudpathlib/__init__.py | 3 + cloudpathlib/azure/__init__.py | 1 + cloudpathlib/azure/azblobclient.py | 88 ++ cloudpathlib/azure/azure_io.py | 69 + cloudpathlib/client.py | 97 ++ cloudpathlib/cloud_io.py | 468 +++++++ cloudpathlib/cloudpath.py | 91 +- cloudpathlib/enums.py | 3 + cloudpathlib/gs/__init__.py | 1 + cloudpathlib/gs/gs_io.py | 62 + cloudpathlib/gs/gsclient.py | 53 + cloudpathlib/http/__init__.py | 1 + cloudpathlib/http/http_io.py | 57 + cloudpathlib/http/httpclient.py | 90 ++ cloudpathlib/local/implementations/azure.py | 4 + cloudpathlib/local/implementations/gs.py | 4 + cloudpathlib/local/implementations/s3.py | 4 + cloudpathlib/local/localclient.py | 103 ++ cloudpathlib/s3/__init__.py | 1 + cloudpathlib/s3/s3_io.py | 106 ++ cloudpathlib/s3/s3client.py | 105 ++ docs/docs/caching.ipynb | 72 +- docs/docs/streaming_io.md | 747 ++++++++++ tests/conftest.py | 97 +- tests/http_fixtures.py | 54 +- tests/mock_clients/mock_azureblob.py | 52 +- tests/mock_clients/mock_gs.py | 72 + tests/mock_clients/mock_s3.py | 127 ++ tests/test_client.py | 11 +- tests/test_cloud_io.py | 1393 +++++++++++++++++++ tests/test_cloudpath_instantiation.py | 4 +- 32 files changed, 4006 insertions(+), 41 deletions(-) create mode 100644 cloudpathlib/azure/azure_io.py create mode 100644 cloudpathlib/cloud_io.py create mode 100644 cloudpathlib/gs/gs_io.py create mode 100644 cloudpathlib/http/http_io.py create mode 100644 cloudpathlib/s3/s3_io.py create mode 100644 docs/docs/streaming_io.md create mode 100644 tests/test_cloud_io.py diff --git a/HISTORY.md b/HISTORY.md index 138488be..31b473a2 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -33,6 +33,13 @@ - Added `AGENTS.md` with repository-specific guidance for coding agents covering contributor workflow, compatibility expectations, test rig and mock usage, live backend validation, and PR hygiene. (PR [#573](https://github.com/drivendataorg/cloudpathlib/pull/573)) +- Added streaming I/O support for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS via `FileCacheMode.streaming`. (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) + - Added `FileCacheMode.streaming` enum value to enable direct streaming I/O without local caching. + - Added `CloudBufferedIO` class implementing `io.BufferedIOBase` for binary streaming operations. + - Added `CloudTextIO` class implementing `io.TextIOBase` for text streaming operations. + - Added provider-specific raw I/O implementations: `_S3StorageRaw`, `_AzureBlobStorageRaw`, `_GSStorageRaw`, `_HttpStorageRaw`. + - Added `register_raw_io_class` decorator for registering streaming I/O implementations. + - Added `buffer_size` parameter to `CloudPath.open()` for controlling streaming buffer size. ## v0.24.0 (2026-04-29) diff --git a/cloudpathlib/__init__.py b/cloudpathlib/__init__.py index 9810ab92..c858a672 100644 --- a/cloudpathlib/__init__.py +++ b/cloudpathlib/__init__.py @@ -4,6 +4,7 @@ from .anypath import AnyPath from .azure.azblobclient import AzureBlobClient from .azure.azblobpath import AzureBlobPath +from .cloud_io import CloudBufferedIO, CloudTextIO from .cloudpath import CloudPath, implementation_registry from .patches import patch_open, patch_os_functions, patch_glob, patch_all_builtins from .gs.gsclient import GSClient @@ -20,7 +21,9 @@ "AnyPath", "AzureBlobClient", "AzureBlobPath", + "CloudBufferedIO", "CloudPath", + "CloudTextIO", "implementation_registry", "GSClient", "GSPath", diff --git a/cloudpathlib/azure/__init__.py b/cloudpathlib/azure/__init__.py index e29ada6a..1647fe96 100644 --- a/cloudpathlib/azure/__init__.py +++ b/cloudpathlib/azure/__init__.py @@ -1,5 +1,6 @@ from .azblobclient import AzureBlobClient from .azblobpath import AzureBlobPath +from .azure_io import _AzureBlobStorageRaw # noqa: F401 - imported for registration __all__ = [ "AzureBlobClient", diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index cb9d8307..eca65106 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -492,6 +492,94 @@ def _generate_presigned_url( url = f"{self._get_public_url(cloud_path)}?{sas_token}" return url + # ====================== STREAMING I/O METHODS ====================== + + def _range_download(self, cloud_path: AzureBlobPath, start: int, end: int) -> bytes: + """Download a byte range from Azure Blob Storage.""" + blob_client = self.service_client.get_blob_client( + container=cloud_path.container, blob=cloud_path.blob + ) + try: + length = end - start + 1 + downloader = blob_client.download_blob(offset=start, length=length) + return downloader.readall() + except ResourceNotFoundError: + raise FileNotFoundError(f"Azure blob not found: {cloud_path}") + except HttpResponseError as e: + if (e.error and e.error.code == "InvalidRange") or e.status_code == 416: + return b"" + raise + + def _get_content_length(self, cloud_path: AzureBlobPath) -> int: + """Get the size of an Azure blob.""" + blob_client = self.service_client.get_blob_client( + container=cloud_path.container, blob=cloud_path.blob + ) + try: + properties = blob_client.get_blob_properties() + return properties.size + except ResourceNotFoundError: + raise FileNotFoundError(f"Azure blob not found: {cloud_path}") + + def _initiate_multipart_upload(self, cloud_path: AzureBlobPath) -> str: + """Start an Azure block blob upload. + + Azure doesn't need explicit initialization; return empty string. + """ + return "" + + def _upload_part( + self, cloud_path: AzureBlobPath, upload_id: str, part_number: int, data: bytes + ) -> dict: + """Upload a block in an Azure block blob upload.""" + import base64 + + blob_client = self.service_client.get_blob_client( + container=cloud_path.container, blob=cloud_path.blob + ) + # Azure uses base64-encoded block IDs + block_id = base64.b64encode(f"block-{part_number:06d}".encode()).decode() + blob_client.stage_block(block_id=block_id, data=data, length=len(data)) + return {"block_id": block_id} + + def _complete_multipart_upload( + self, cloud_path: AzureBlobPath, upload_id: str, parts: list + ) -> None: + """Commit an Azure block blob upload, threading content-type.""" + blob_client = self.service_client.get_blob_client( + container=cloud_path.container, blob=cloud_path.blob + ) + block_ids = [part["block_id"] for part in parts] + content_settings = None + if self.content_type_method is not None: + content_type, content_encoding = self.content_type_method(str(cloud_path)) + if content_type or content_encoding: + content_settings = ContentSettings( + content_type=content_type, content_encoding=content_encoding + ) + blob_client.commit_block_list(block_ids, content_settings=content_settings) + + def _abort_multipart_upload(self, cloud_path: AzureBlobPath, upload_id: str) -> None: + """Abort an Azure block blob upload. + + Azure automatically expires uncommitted blocks; nothing explicit to do. + """ + pass + + def _put_empty_object(self, cloud_path: AzureBlobPath) -> None: + """Upload a zero-byte Azure blob, threading content-type.""" + blob_client = self.service_client.get_blob_client( + container=cloud_path.container, blob=cloud_path.blob + ) + content_settings = None + if self.content_type_method is not None: + content_type, content_encoding = self.content_type_method(str(cloud_path)) + if content_type or content_encoding: + content_settings = ContentSettings( + content_type=content_type, content_encoding=content_encoding + ) + blob_client.upload_blob(b"", overwrite=True, content_settings=content_settings) + def _hns_rmtree(data_lake_client, container, directory): """Stateless implementation so can be used in test suite cleanup as well. diff --git a/cloudpathlib/azure/azure_io.py b/cloudpathlib/azure/azure_io.py new file mode 100644 index 00000000..213b8286 --- /dev/null +++ b/cloudpathlib/azure/azure_io.py @@ -0,0 +1,69 @@ +""" +Azure Blob Storage-specific streaming I/O implementations. + +Provides efficient streaming I/O for Azure using range requests and block uploads. +""" + +from typing import Optional, Dict, Any + +from ..cloud_io import _CloudStorageRaw +from ..cloudpath import register_raw_io_class + + +@register_raw_io_class("azure") +class _AzureBlobStorageRaw(_CloudStorageRaw): + """ + Azure Blob Storage-specific raw I/O adapter. + + Implements efficient range-based reads and block blob uploads for Azure. + Each block is staged independently (true streaming) and committed on finalize. + """ + + def __init__(self, client, cloud_path, mode: str = "rb"): + super().__init__(client, cloud_path, mode) + + # Block blob upload state + self._upload_id: str = "" # Azure doesn't use upload IDs + self._parts: list = [] + + def _range_get(self, start: int, end: int) -> bytes: + return self._client._range_download(self._cloud_path, start, end) + + def _get_size(self) -> int: + return self._client._get_content_length(self._cloud_path) + + def _is_eof_error(self, error: Exception) -> bool: + error_str = str(error) + if "InvalidRange" in error_str or "out of range" in error_str.lower(): + return True + if hasattr(error, "error_code") and error.error_code == "InvalidRange": + return True + return False + + # ---- Write support (Azure block blob upload) ---- + + def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: + if not data: + return + + if not self._upload_id: + self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) + + part_number = len(self._parts) + 1 + part_info = self._client._upload_part(self._cloud_path, self._upload_id, part_number, data) + self._parts.append(part_info) + + def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: + if not self._parts: + # No blocks staged — create an empty blob directly + self._client._put_empty_object(self._cloud_path) + return + + try: + self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) + finally: + self._upload_id = "" + self._parts = [] + + def close(self) -> None: + super().close() diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index d1c36fd5..37306ce5 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -184,3 +184,100 @@ def _generate_presigned_url( self, cloud_path: BoundedCloudPath, expire_seconds: int = 60 * 60 ) -> str: pass + + # ====================== STREAMING I/O METHODS ====================== + # Methods to support efficient streaming without local caching. + # Default implementations raise NotImplementedError so that existing Client + # subclasses that don't implement streaming still instantiate normally. + # Providers override as needed. + + def _range_download(self, cloud_path: BoundedCloudPath, start: int, end: int) -> bytes: + """Download a byte range from cloud storage. + + Args: + cloud_path: Path to download from + start: Start byte position (inclusive) + end: End byte position (inclusive) + + Returns: + Bytes in the requested range + + Raises: + FileNotFoundError: If object doesn't exist + """ + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_range_download). " + "Implement this method or use a non-streaming file_cache_mode." + ) + + def _get_content_length(self, cloud_path: BoundedCloudPath) -> int: + """Get the size of an object without downloading it. + + Args: + cloud_path: Path to query + + Returns: + Size in bytes + + Raises: + FileNotFoundError: If object doesn't exist + """ + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_get_content_length)." + ) + + def _initiate_multipart_upload(self, cloud_path: BoundedCloudPath) -> str: + """Start a multipart/chunked upload session. + + Args: + cloud_path: Destination path + + Returns: + Upload session ID/handle (provider-specific, may be empty string) + """ + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_initiate_multipart_upload)." + ) + + def _upload_part( + self, cloud_path: BoundedCloudPath, upload_id: str, part_number: int, data: bytes + ) -> dict: + """Upload a single part/chunk in a multipart upload. + + Args: + cloud_path: Destination path + upload_id: Upload session ID from _initiate_multipart_upload + part_number: Sequential part number (1-indexed) + data: Bytes to upload + + Returns: + Provider-specific metadata needed for finalization + """ + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_upload_part)." + ) + + def _complete_multipart_upload( + self, cloud_path: BoundedCloudPath, upload_id: str, parts: list + ) -> None: + """Finalize a multipart upload. + + Args: + cloud_path: Destination path + upload_id: Upload session ID + parts: List of part metadata from _upload_part calls + """ + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_complete_multipart_upload)." + ) + + def _abort_multipart_upload(self, cloud_path: BoundedCloudPath, upload_id: str) -> None: + """Cancel a multipart upload and clean up. + + Args: + cloud_path: Destination path + upload_id: Upload session ID + """ + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_abort_multipart_upload)." + ) diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py new file mode 100644 index 00000000..ad63c0cd --- /dev/null +++ b/cloudpathlib/cloud_io.py @@ -0,0 +1,468 @@ +""" +Cloud storage streaming I/O implementations. + +Provides BufferedIOBase and TextIOBase compliant file-like objects for cloud storage +that support efficient streaming with range requests and multipart uploads, without +requiring full local caching. +""" + +import io +from abc import abstractmethod +from typing import Optional, Any, Type, Union, Dict + +# ============================================================================ +# Base Raw I/O Adapter (internal) +# ============================================================================ + + +class _CloudStorageRaw(io.RawIOBase): + """ + Internal raw I/O adapter for cloud storage objects. + + Implements efficient range-based reads using cloud provider APIs. + Not exposed to users - internal implementation detail. + """ + + def __init__( + self, + client: Any, + cloud_path: Any, + mode: str = "rb", + ): + """ + Initialize raw cloud storage adapter. + + Args: + client: Cloud provider client (S3Client, AzureBlobClient, etc.) + cloud_path: CloudPath instance + mode: File mode (currently only read modes supported in base) + """ + super().__init__() + self._client = client + self._cloud_path = cloud_path + self._mode = mode + self._pos = 0 + self._size: Optional[int] = None + self._closed = False + + def readable(self) -> bool: + """Return whether object was opened for reading.""" + return "r" in self._mode or "+" in self._mode + + def writable(self) -> bool: + """Return whether object was opened for writing.""" + return "w" in self._mode or "a" in self._mode or "+" in self._mode or "x" in self._mode + + def seekable(self) -> bool: + """Return whether object supports random access. + + Streaming writes are sequential-only; seeking is only valid for readable streams. + """ + return self.readable() + + def readinto(self, b: bytearray) -> int: # type: ignore[override] + """ + Read bytes into a pre-allocated buffer. + + Args: + b: Buffer to read data into + + Returns: + Number of bytes read (0 at EOF) + """ + if self._closed: + raise ValueError("I/O operation on closed file") + if not self.readable(): + raise io.UnsupportedOperation("not readable") + if len(b) == 0: + return 0 + + # Calculate range to fetch + start = self._pos + end = start + len(b) - 1 + + # Clamp end to file size if known (prevents 416 errors) + if self._size is None: + try: + self._size = self._get_size() + except Exception: + # If we can't get size, try the request anyway + pass + + if self._size is not None and end >= self._size: + # Clamp to last valid byte + end = self._size - 1 + if start >= self._size: + # Already at EOF + return 0 + + # Fetch data from cloud storage + try: + data = self._range_get(start, end) + except Exception as e: + # If we get an error reading beyond EOF, treat as EOF + if self._is_eof_error(e): + return 0 + raise + + # Copy data into buffer + n = len(data) + if n == 0: + return 0 + + # Ensure we don't write more than the buffer can hold + n = min(n, len(b)) + + try: + b[:n] = data[:n] + except (ValueError, TypeError): + # Fall back to memoryview-based copy for non-contiguous buffer shapes + memoryview(b).cast("B")[:n] = data[:n] + + self._pos += n + return n + + def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: + """ + Change stream position. + + Args: + offset: Offset in bytes + whence: Position to seek from (SEEK_SET, SEEK_CUR, SEEK_END) + + Returns: + New absolute position + """ + if self._closed: + raise ValueError("I/O operation on closed file") + + if whence == io.SEEK_SET: + new_pos = offset + elif whence == io.SEEK_CUR: + new_pos = self._pos + offset + elif whence == io.SEEK_END: + if self._size is None: + self._size = self._get_size() + if self._size is None: + raise OSError("Unable to determine file size for SEEK_END") + new_pos = self._size + offset + else: + raise ValueError( + f"invalid whence ({whence}, should be {io.SEEK_SET}, " + f"{io.SEEK_CUR}, or {io.SEEK_END})" + ) + + if new_pos < 0: + raise ValueError("negative seek position") + + self._pos = new_pos + return self._pos + + def tell(self) -> int: + """Return current stream position.""" + if self._closed: + raise ValueError("I/O operation on closed file") + return self._pos + + def write(self, b: bytes) -> int: # type: ignore[override] + """ + Write bytes to the stream. + + This method is required by RawIOBase for writable streams. + The actual implementation is delegated to subclasses via _upload_chunk. + + Args: + b: Bytes to write + + Returns: + Number of bytes written + """ + if not self.writable(): + raise io.UnsupportedOperation("not writable") + + # Delegate to subclass implementation + # Note: Don't check _closed here because BufferedWriter may call write() during close/flush + self._upload_chunk(bytes(b), None) + return len(b) + + def close(self) -> None: + """Close the file.""" + if self._closed: + return + + # Mark as closed FIRST to prevent recursive double-finalize + self._closed = True + + try: + if self.writable(): + self._finalize_upload(None) + finally: + # Always call parent close() to set the stdlib closed state + super().close() + + @abstractmethod + def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]]) -> None: + """ + Upload a chunk of data. + + Args: + data: Bytes to upload + upload_state: Upload state dictionary (for multipart uploads) + """ + pass + + @abstractmethod + def _finalize_upload(self, upload_state: Optional[Dict[str, Any]]) -> None: + """ + Finalize the upload process. + + Args: + upload_state: Upload state dictionary (for multipart uploads) + """ + pass + + # Abstract methods to be implemented by subclasses + + @abstractmethod + def _range_get(self, start: int, end: int) -> bytes: + """ + Fetch a byte range from cloud storage. + + Args: + start: Start byte position (inclusive) + end: End byte position (inclusive) + + Returns: + Bytes in the requested range + """ + pass + + @abstractmethod + def _get_size(self) -> int: + """ + Get the total size of the cloud object. + + Returns: + Size in bytes + """ + pass + + def _is_eof_error(self, error: Exception) -> bool: + """ + Check if an error indicates EOF/out of range. + + Override in subclasses for provider-specific error handling. + """ + return False + + +# ============================================================================ +# Public Buffered Binary I/O +# ============================================================================ + + +class CloudBufferedIO(io.BufferedIOBase): + """ + Buffered binary file-like object for cloud storage. + + Wraps a raw cloud storage adapter with Python's standard buffered I/O classes + (BufferedReader, BufferedWriter, or BufferedRandom) based on the mode. + + Example: + >>> from cloudpathlib import S3Client + >>> client = S3Client() + >>> with CloudBufferedIO(client, "s3://bucket/file.bin", mode="rb") as f: + ... data = f.read(1024) + """ + + def __init__( + self, + raw_io_class: Type[_CloudStorageRaw], + client: Any, + cloud_path: Any, + mode: str = "rb", + buffer_size: int = 64 * 1024, + ): + """ + Initialize cloud buffered I/O. + + Args: + raw_io_class: The raw I/O class to use for this provider + client: Cloud provider client instance + cloud_path: CloudPath instance + mode: File mode ('rb', 'wb', 'ab', 'r+b', 'w+b', 'a+b', 'xb') + buffer_size: Size of read/write buffer in bytes (default 64 KiB) + """ + if "b" not in mode: + raise ValueError("CloudBufferedIO requires binary mode (must include 'b')") + + # Create raw adapter using provided class + raw = raw_io_class(client, cloud_path, mode) + + # Choose appropriate buffered class based on mode + if "+" in mode: + # Read and write (e.g., 'r+b', 'w+b') + self._buffer: Union[io.BufferedReader, io.BufferedWriter, io.BufferedRandom] = io.BufferedRandom(raw, buffer_size=buffer_size) # type: ignore[arg-type] + elif "r" in mode: + # Read only (e.g., 'rb') + self._buffer = io.BufferedReader(raw, buffer_size=buffer_size) # type: ignore[arg-type,assignment] + else: + # Write only (e.g., 'wb', 'ab', 'xb') + self._buffer = io.BufferedWriter(raw, buffer_size=buffer_size) # type: ignore[arg-type,assignment] + + # Store additional attributes + self._cloud_path = cloud_path + self._mode = mode + self._buffer_size_val = buffer_size + + @property + def name(self) -> str: + """File name (the cloud URL).""" + return str(self._cloud_path) + + @property + def mode(self) -> str: + """File mode.""" + return self._mode + + @property + def _buffer_size(self) -> int: + """Buffer size for compatibility with tests.""" + return self._buffer_size_val + + # Delegate all I/O methods to the internal buffer + def read(self, size: Optional[int] = -1) -> bytes: # type: ignore[override] + return self._buffer.read(size) + + def read1(self, size: int = -1) -> bytes: + return self._buffer.read1(size) # type: ignore[attr-defined] + + def readinto(self, b): + return self._buffer.readinto(b) + + def readinto1(self, b): + return self._buffer.readinto1(b) # type: ignore[attr-defined] + + def write(self, b): + return self._buffer.write(b) + + def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: + return self._buffer.seek(offset, whence) + + def tell(self) -> int: + return self._buffer.tell() + + def flush(self): + return self._buffer.flush() + + def close(self): + # Delegate entirely to the stdlib buffer: flush → raw.close(). + # _CloudStorageRaw.close() guards against double-finalize via _closed, + # so calling self._buffer.close() is safe and lets exceptions propagate. + if hasattr(self, "_buffer") and not self._buffer.closed: + self._buffer.close() + + def readable(self) -> bool: + return self._buffer.readable() + + def writable(self) -> bool: + return self._buffer.writable() + + def seekable(self) -> bool: + return self._buffer.seekable() + + @property + def closed(self) -> bool: + return self._buffer.closed + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + +# ============================================================================ +# Public Text I/O +# ============================================================================ + + +class CloudTextIO(io.TextIOWrapper): + """ + Text file-like object for cloud storage. + + Implements TextIOBase for seamless integration with standard Python I/O + and third-party libraries. Handles encoding/decoding and newline translation. + + Example: + >>> from cloudpathlib import S3Client + >>> client = S3Client() + >>> with CloudTextIO(client, "s3://bucket/file.txt", mode="rt") as f: + ... text = f.read() + """ + + def __init__( + self, + raw_io_class: Type[_CloudStorageRaw], + client: Any, + cloud_path: Any, + mode: str = "rt", + encoding: Optional[str] = None, + errors: Optional[str] = None, + newline: Optional[str] = None, + buffer_size: int = 64 * 1024, + ): + """ + Initialize cloud text I/O. + + Args: + raw_io_class: The raw I/O class to use for this provider + client: Cloud provider client instance + cloud_path: CloudPath instance + mode: File mode ('rt', 'wt', 'at', 'r+t', 'w+t', 'a+t', 'xt', or same without 't') + encoding: Text encoding (default: utf-8) + errors: Error handling strategy (default: strict) + newline: Newline handling (None, '', '\\n', '\\r', '\\r\\n') + buffer_size: Size of buffer in bytes + """ + if "b" in mode: + raise ValueError("CloudTextIO requires text mode (no 'b' in mode)") + + # Ensure mode has 't' or is text mode + if "t" not in mode and "r" in mode: + binary_mode = mode.replace("r", "rb", 1) + elif "t" not in mode and "w" in mode: + binary_mode = mode.replace("w", "wb", 1) + elif "t" not in mode and "a" in mode: + binary_mode = mode.replace("a", "ab", 1) + elif "t" not in mode and "x" in mode: + binary_mode = mode.replace("x", "xb", 1) + else: + binary_mode = mode.replace("t", "b") + + # Create underlying buffered I/O + buffered = CloudBufferedIO( + raw_io_class, client, cloud_path, mode=binary_mode, buffer_size=buffer_size + ) + + # Initialize TextIOWrapper with the buffered stream + super().__init__( + buffered, + encoding=encoding or "utf-8", + errors=errors, + newline=newline, + ) + + # Store additional attributes + self._cloud_path = cloud_path + self._mode = mode + + @property + def name(self) -> str: + """File name (the cloud URL).""" + return str(self._cloud_path) + + @property + def mode(self) -> str: + """File mode.""" + return self._mode diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 657b1eb1..c54e02a1 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -135,12 +135,14 @@ def _ensure_local_path_within_base( class CloudImplementation: - name: str + name: Optional[str] = None dependencies_loaded: bool = True _client_class: Type["Client"] _path_class: Type["CloudPath"] + _raw_io_class: Optional[Type] = None def validate_completeness(self) -> None: + # raw_io_class is optional; streaming raises NotImplementedError when absent expected = ["client_class", "path_class"] missing = [cls for cls in expected if getattr(self, f"_{cls}") is None] if missing: @@ -148,9 +150,11 @@ def validate_completeness(self) -> None: f"Implementation is missing registered components: {missing}" ) if not self.dependencies_loaded: + # Use name if available, otherwise fall back to client class name + pkg_name = self.name if self.name else self._client_class.__name__.lower() raise MissingDependenciesError( f"Missing dependencies for {self._client_class.__name__}. You can install them " - f"with 'pip install cloudpathlib[{self.name}]'." + f"with 'pip install cloudpathlib[{pkg_name}]'." ) @property @@ -163,6 +167,11 @@ def path_class(self) -> Type["CloudPath"]: self.validate_completeness() return self._path_class + @property + def raw_io_class(self) -> Optional[Type]: + self.validate_completeness() + return self._raw_io_class + implementation_registry: Dict[str, CloudImplementation] = defaultdict(CloudImplementation) @@ -182,6 +191,23 @@ def decorator(cls: Type[CloudPathT]) -> Type[CloudPathT]: return decorator +def register_raw_io_class(key: str) -> Callable[[Type[T]], Type[T]]: + """Decorator to register a raw I/O class for a cloud provider. + + Args: + key: The cloud provider key (e.g., 's3', 'azure', 'gs') + + Returns: + Decorator function + """ + + def decorator(cls: Type[T]) -> Type[T]: + implementation_registry[key]._raw_io_class = cls + return cls + + return decorator + + class CloudPathMeta(abc.ABCMeta): @overload def __call__( @@ -386,6 +412,14 @@ def __eq__(self, other: Any) -> bool: return isinstance(other, type(self)) and str(self) == str(other) def __fspath__(self) -> str: + # Check if streaming mode is enabled + if self.client.file_cache_mode == FileCacheMode.streaming: + raise CloudPathNotImplementedError( + "fspath is not available in streaming mode. " + "Streaming mode does not create cached files on disk. " + "Use CloudPath.open() to read/write data directly." + ) + if self.is_file(): self._refresh_cache() return str(self._local) @@ -799,6 +833,7 @@ def open( newline: Optional[str] = None, force_overwrite_from_cloud: Optional[bool] = None, # extra kwarg not in pathlib force_overwrite_to_cloud: Optional[bool] = None, # extra kwarg not in pathlib + buffer_size: Optional[int] = None, # extra kwarg for streaming mode ) -> "IO[Any]": # if trying to call open on a directory that exists exists_on_cloud = self.exists() @@ -813,10 +848,58 @@ def open( f"File opened for read or append, but it does not exist on cloud: {self}" ) - if mode == "x" and self.exists(): + if "x" in mode and self.exists(): raise CloudPathFileExistsError(f"Cannot open existing file ({self}) for creation.") - # TODO: consider streaming from client rather than DLing entire file to cache + # Use streaming I/O if file_cache_mode is streaming AND the mode is supported. + # Append (a) and update/random (+) modes cannot be done correctly as pure streaming + # over object storage; fall through to the cached path for correct semantics. + _streaming_unsupported = any(m in mode for m in ("a", "+")) + if self.client.file_cache_mode == FileCacheMode.streaming and not _streaming_unsupported: + # Import here to keep it localized to streaming functionality + from .cloud_io import CloudBufferedIO, CloudTextIO + + # Get the raw IO class from the cloud implementation + raw_io_class = self._cloud_meta.raw_io_class + if raw_io_class is None: + raise NotImplementedError( + f"Streaming I/O is not implemented for {self._cloud_meta.name}" + ) + + # Calculate buffer size from buffering or buffer_size parameter + if buffer_size is None: + if buffering == 0: + # Unbuffered binary mode + buffer_size = 1 # Minimal buffering + if "b" not in mode: + mode += "b" # Force binary mode for unbuffered + elif buffering > 0: + buffer_size = buffering + else: + buffer_size = 64 * 1024 # Default 64 KiB + + # Return appropriate streaming I/O object + if "b" in mode: + return CloudBufferedIO( # type: ignore[return-value] + raw_io_class=raw_io_class, + client=self.client, + cloud_path=self, + mode=mode, + buffer_size=buffer_size, + ) + else: + return CloudTextIO( # type: ignore[return-value] + raw_io_class=raw_io_class, + client=self.client, + cloud_path=self, + mode=mode, + encoding=encoding, + errors=errors, + newline=newline, + buffer_size=buffer_size, + ) + + # Standard cached mode self._refresh_cache(force_overwrite_from_cloud=force_overwrite_from_cloud) # create any directories that may be needed if the file is new diff --git a/cloudpathlib/enums.py b/cloudpathlib/enums.py index 55260c17..b34fd36a 100644 --- a/cloudpathlib/enums.py +++ b/cloudpathlib/enums.py @@ -15,6 +15,8 @@ class FileCacheMode(str, Enum): called by Python garbage collection. close_file (str): Cache for a `CloudPath` file is removed as soon as the file is closed. Note: you must use `CloudPath.open` whenever opening the file for this method to function. + streaming (str): No caching is used; files are streamed directly from/to cloud storage using + efficient range requests and multipart uploads. Modes can be set by passing them to the Client or by setting the `CLOUDPATHLIB_FILE_CACHE_MODE` environment variable. @@ -26,6 +28,7 @@ class FileCacheMode(str, Enum): tmp_dir = "tmp_dir" # DEFAULT: handled by deleting client, Python, or OS (usually on machine restart) cloudpath_object = "cloudpath_object" # __del__ called on the CloudPath object close_file = "close_file" # cache is cleared when file is closed + streaming = "streaming" # no caching, direct streaming I/O @classmethod def from_environment(cls) -> Optional["FileCacheMode"]: diff --git a/cloudpathlib/gs/__init__.py b/cloudpathlib/gs/__init__.py index d68a41c4..d4c5e24a 100644 --- a/cloudpathlib/gs/__init__.py +++ b/cloudpathlib/gs/__init__.py @@ -1,5 +1,6 @@ from .gsclient import GSClient from .gspath import GSPath +from .gs_io import _GSStorageRaw # noqa: F401 - imported for registration __all__ = [ "GSClient", diff --git a/cloudpathlib/gs/gs_io.py b/cloudpathlib/gs/gs_io.py new file mode 100644 index 00000000..2cd09d9b --- /dev/null +++ b/cloudpathlib/gs/gs_io.py @@ -0,0 +1,62 @@ +""" +Google Cloud Storage-specific streaming I/O implementations. + +Provides efficient streaming I/O for GCS using range requests and resumable uploads. +Upload state is held on the raw adapter instance (not the shared client) so concurrent +writers to the same client cannot collide. +""" + +from typing import Any, Dict, Optional + +from ..cloud_io import _CloudStorageRaw +from ..cloudpath import register_raw_io_class + + +@register_raw_io_class("gs") +class _GSStorageRaw(_CloudStorageRaw): + """ + GCS-specific raw I/O adapter. + + Implements efficient range-based reads and resumable uploads for GCS. + Write state (_writer) lives on this adapter instance, not on the client, + so concurrent writes to different paths on the same client are safe. + """ + + def __init__(self, client, cloud_path, mode: str = "rb"): + super().__init__(client, cloud_path, mode) + # Open write stream (returned by client._open_write_stream); None until first write + self._writer: Optional[Any] = None + + def _range_get(self, start: int, end: int) -> bytes: + return self._client._range_download(self._cloud_path, start, end) + + def _get_size(self) -> int: + return self._client._get_content_length(self._cloud_path) + + def _is_eof_error(self, error: Exception) -> bool: + error_str = str(error) + if "416" in error_str or "Requested Range Not Satisfiable" in error_str: + return True + if hasattr(error, "code") and error.code == 416: + return True + return False + + # ---- Write support (resumable upload via client._open_write_stream) ---- + + def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: + if not data: + return + if self._writer is None: + self._writer = self._client._open_write_stream(self._cloud_path) + self._writer.write(data) + + def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: + if self._writer is not None: + self._writer.close() + self._writer = None + else: + # No data was written — create an empty object + self._client._put_empty_object(self._cloud_path) + + def close(self) -> None: + super().close() diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 96705ece..5510e1ad 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -15,12 +15,14 @@ from google.auth.credentials import Credentials from google.api_core.retry import Retry + from google.api_core.exceptions import NotFound as GCSNotFound from google.auth import default as google_default_auth from google.auth.exceptions import DefaultCredentialsError from google.cloud.storage import Client as StorageClient except ModuleNotFoundError: implementation_registry["gs"].dependencies_loaded = False + GCSNotFound = Exception # type: ignore[misc, assignment] # fallback so name is always defined try: @@ -310,5 +312,56 @@ def _generate_presigned_url(self, cloud_path: GSPath, expire_seconds: int = 60 * ) return url + # ====================== STREAMING I/O METHODS ====================== + + def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: + """Download a byte range from GCS.""" + blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) + try: + # GCS end is exclusive in the API, our API is inclusive + return blob.download_as_bytes(start=start, end=end + 1) + except GCSNotFound: + raise FileNotFoundError(f"GCS object not found: {cloud_path}") + except Exception as e: + error_str = str(e) + if "416" in error_str or "Requested Range Not Satisfiable" in error_str: + return b"" + if hasattr(e, "code") and e.code == 416: + return b"" + raise + + def _get_content_length(self, cloud_path: GSPath) -> int: + """Get the size of a GCS object.""" + blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) + try: + blob.reload() + return blob.size + except GCSNotFound: + raise FileNotFoundError(f"GCS object not found: {cloud_path}") + + def _open_write_stream(self, cloud_path: GSPath): + """Open a GCS resumable upload stream. + + Returns a file-like writer. Data written to it streams incrementally + to GCS rather than being buffered in memory. The caller must close() + the writer to finalize the upload. + """ + blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) + kwargs: Dict[str, Any] = {} + if self.content_type_method is not None: + content_type, _ = self.content_type_method(str(cloud_path)) + if content_type is not None: + kwargs["content_type"] = content_type + # blob_kwargs may carry timeout/retry; pass through where blob.open accepts them + for k in ("timeout", "retry"): + if k in self.blob_kwargs: + kwargs[k] = self.blob_kwargs[k] + return blob.open("wb", **kwargs) + + def _put_empty_object(self, cloud_path: GSPath) -> None: + """Upload a zero-byte GCS object.""" + blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) + blob.upload_from_string(b"", **self.blob_kwargs) + GSClient.GSPath = GSClient.CloudPath # type: ignore diff --git a/cloudpathlib/http/__init__.py b/cloudpathlib/http/__init__.py index ccf7452e..00085d9c 100644 --- a/cloudpathlib/http/__init__.py +++ b/cloudpathlib/http/__init__.py @@ -1,5 +1,6 @@ from .httpclient import HttpClient, HttpsClient from .httppath import HttpPath, HttpsPath +from .http_io import _HttpStorageRaw # noqa: F401 __all__ = [ "HttpClient", diff --git a/cloudpathlib/http/http_io.py b/cloudpathlib/http/http_io.py new file mode 100644 index 00000000..6dc1fb5d --- /dev/null +++ b/cloudpathlib/http/http_io.py @@ -0,0 +1,57 @@ +""" +HTTP-specific streaming I/O implementations. + +Provides streaming I/O for HTTP/HTTPS using range requests and single-PUT uploads. +""" + +from typing import Optional, Dict, Any + +from ..cloud_io import _CloudStorageRaw +from ..cloudpath import register_raw_io_class + + +@register_raw_io_class("http") +@register_raw_io_class("https") +class _HttpStorageRaw(_CloudStorageRaw): + """ + HTTP-specific raw I/O adapter. + + Implements efficient range-based reads and single-PUT uploads for HTTP/HTTPS. + Write operations require the server to support PUT requests. + Data is buffered in _upload_buffer on the adapter instance (not on the client) + and flushed as a single PUT on close. + """ + + def __init__(self, client, cloud_path, mode: str = "rb"): + super().__init__(client, cloud_path, mode) + self._upload_buffer: list = [] + + def _range_get(self, start: int, end: int) -> bytes: + return self._client._range_download(self._cloud_path, start, end) + + def _get_size(self) -> int: + return self._client._get_content_length(self._cloud_path) + + def _is_eof_error(self, error: Exception) -> bool: + error_str = str(error).lower() + return ( + "416" in error_str + or "requested range not satisfiable" in error_str + or "invalid range" in error_str + ) + + # ---- Write support (single PUT on finalize) ---- + + def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: + if not data: + return + self._upload_buffer.append(data) + + def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: + # Concatenate buffered chunks (may be empty for an empty write) + complete_data = b"".join(self._upload_buffer) + self._upload_buffer.clear() + self._client._put_data(self._cloud_path, complete_data) + + def close(self) -> None: + super().close() diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index a67690ea..379a169b 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -203,6 +203,96 @@ def request( # the connection is closed when we exit the context manager. return response, response.read() + # ====================== STREAMING I/O METHODS ====================== + + def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes: + """Download a byte range from HTTP. + + Verifies the response is 206 Partial Content. If the server returns 200 + (ignoring the Range header), slices the full body locally so callers + always receive exactly the requested bytes. + """ + headers = {"Range": f"bytes={start}-{end}"} + request = urllib.request.Request(str(cloud_path), headers=headers) + try: + with self.opener.open(request) as response: + status = response.status + data = response.read() + if status == 206: + return data + elif status == 200: + # Server ignored the Range header; slice locally + return data[start : end + 1] + else: + raise OSError(f"Unexpected status {status} for range request on {cloud_path}") + except urllib.error.HTTPError as e: + if e.code == 404: + raise FileNotFoundError(f"HTTP resource not found: {cloud_path}") + elif e.code == 416: # Range not satisfiable + return b"" + raise + + def _get_content_length(self, cloud_path: "HttpPath") -> int: + """Get the size of an HTTP resource.""" + request = urllib.request.Request(str(cloud_path), method="HEAD") + try: + with self.opener.open(request) as response: + content_length = response.headers.get("Content-Length") + if content_length: + return int(content_length) + raise ValueError(f"HTTP resource does not provide Content-Length: {cloud_path}") + except urllib.error.HTTPError as e: + if e.code == 404: + raise FileNotFoundError(f"HTTP resource not found: {cloud_path}") + raise + + def _initiate_multipart_upload(self, cloud_path: "HttpPath") -> str: + """HTTP uploads are single-shot PUT; no session needed.""" + return "" + + def _upload_part( + self, cloud_path: "HttpPath", upload_id: str, part_number: int, data: bytes + ) -> dict: + """HTTP does not support true multipart; use _put_data for a single PUT.""" + raise NotImplementedError( + "HTTP uses a single PUT for uploads; multipart is not supported. " + "Use _put_data instead." + ) + + def _complete_multipart_upload( + self, cloud_path: "HttpPath", upload_id: str, parts: list + ) -> None: + """HTTP does not support true multipart; use _put_data for a single PUT.""" + raise NotImplementedError( + "HTTP uses a single PUT for uploads; multipart is not supported." + ) + + def _abort_multipart_upload(self, cloud_path: "HttpPath", upload_id: str) -> None: + """Nothing to abort for HTTP single-PUT uploads.""" + pass + + def _put_data(self, cloud_path: "HttpPath", data: bytes) -> None: + """Upload data to HTTP server using a PUT request. + + Uses self.opener so that any SSL context or auth handlers configured on + this client are applied (important for HttpsClient with self-signed certs). + """ + url = str(cloud_path) + request = urllib.request.Request(url, data=data, method="PUT") + request.add_header("Content-Type", "application/octet-stream") + request.add_header("Content-Length", str(len(data))) + + try: + with self.opener.open(request) as response: + if response.status not in (200, 201, 204): + raise OSError( + f"HTTP PUT failed with status {response.status}: {response.reason}" + ) + except urllib.error.HTTPError as e: + if e.code == 405: # Method Not Allowed + raise NotImplementedError(f"HTTP server does not support PUT requests for {url}") + raise OSError(f"HTTP PUT failed: {e}") + HttpClient.HttpPath = HttpClient.CloudPath # type: ignore diff --git a/cloudpathlib/local/implementations/azure.py b/cloudpathlib/local/implementations/azure.py index a5b2b7c4..e20dedea 100644 --- a/cloudpathlib/local/implementations/azure.py +++ b/cloudpathlib/local/implementations/azure.py @@ -6,6 +6,9 @@ from ..localclient import LocalClient from ..localpath import LocalPath +# Import raw I/O class to ensure it's registered +from ...azure.azure_io import _AzureBlobStorageRaw # noqa: F401 + local_azure_blob_implementation = CloudImplementation() """Replacement for "azure" CloudImplementation meta object in cloudpathlib.implementation_registry""" @@ -83,3 +86,4 @@ def md5(self) -> str: local_azure_blob_implementation.name = "azure" local_azure_blob_implementation._client_class = LocalAzureBlobClient local_azure_blob_implementation._path_class = LocalAzureBlobPath +local_azure_blob_implementation._raw_io_class = _AzureBlobStorageRaw diff --git a/cloudpathlib/local/implementations/gs.py b/cloudpathlib/local/implementations/gs.py index d206181d..7fd7d88c 100644 --- a/cloudpathlib/local/implementations/gs.py +++ b/cloudpathlib/local/implementations/gs.py @@ -4,6 +4,9 @@ from ..localclient import LocalClient from ..localpath import LocalPath +# Import raw I/O class to ensure it's registered +from ...gs.gs_io import _GSStorageRaw # noqa: F401 + local_gs_implementation = CloudImplementation() """Replacement for "gs" CloudImplementation meta object in cloudpathlib.implementation_registry""" @@ -66,3 +69,4 @@ def md5(self) -> str: local_gs_implementation.name = "gs" local_gs_implementation._client_class = LocalGSClient local_gs_implementation._path_class = LocalGSPath +local_gs_implementation._raw_io_class = _GSStorageRaw diff --git a/cloudpathlib/local/implementations/s3.py b/cloudpathlib/local/implementations/s3.py index 10fdf7b9..81a75ff4 100644 --- a/cloudpathlib/local/implementations/s3.py +++ b/cloudpathlib/local/implementations/s3.py @@ -4,6 +4,9 @@ from ..localclient import LocalClient from ..localpath import LocalPath +# Import raw I/O class to ensure it's registered +from ...s3.s3_io import _S3StorageRaw # noqa: F401 + local_s3_implementation = CloudImplementation() """Replacement for "s3" CloudImplementation meta object in cloudpathlib.implementation_registry""" @@ -62,3 +65,4 @@ def etag(self): local_s3_implementation.name = "s3" local_s3_implementation._client_class = LocalS3Client local_s3_implementation._path_class = LocalS3Path +local_s3_implementation._raw_io_class = _S3StorageRaw diff --git a/cloudpathlib/local/localclient.py b/cloudpathlib/local/localclient.py index 7b7e1cb8..3e70f62d 100644 --- a/cloudpathlib/local/localclient.py +++ b/cloudpathlib/local/localclient.py @@ -233,6 +233,109 @@ def _generate_presigned_url( query["signature"] = "local" return urlunsplit(parts._replace(query=urlencode(query))) + # ====================== STREAMING I/O METHODS ====================== + # For local clients, streaming uses local file operations. + + def _range_download(self, cloud_path: LocalPath, start: int, end: int) -> bytes: + """Download a byte range from local storage.""" + local_path = self._cloud_path_to_local(cloud_path) + if not local_path.exists(): + raise FileNotFoundError(f"File not found: {cloud_path}") + + with open(local_path, "rb") as f: + f.seek(start) + length = end - start + 1 + return f.read(length) + + def _get_content_length(self, cloud_path: LocalPath) -> int: + """Get the size of a local file.""" + local_path = self._cloud_path_to_local(cloud_path) + if not local_path.exists(): + raise FileNotFoundError(f"File not found: {cloud_path}") + return local_path.stat().st_size + + def _initiate_multipart_upload(self, cloud_path: LocalPath) -> str: + """Return a unique upload ID so concurrent uploads don't share a buffer.""" + import uuid + + return str(uuid.uuid4()) + + def _upload_part( + self, cloud_path: LocalPath, upload_id: str, part_number: int, data: bytes + ) -> dict: + """Buffer a part keyed by upload_id (not by path) for concurrent-write safety.""" + if not hasattr(self, "_local_upload_buffers"): + self._local_upload_buffers: dict = {} + if upload_id not in self._local_upload_buffers: + self._local_upload_buffers[upload_id] = [] + self._local_upload_buffers[upload_id].append((part_number, data)) + return {"part_number": part_number} + + def _complete_multipart_upload( + self, cloud_path: LocalPath, upload_id: str, parts: list + ) -> None: + """Complete local file upload by joining all buffered parts.""" + if ( + not hasattr(self, "_local_upload_buffers") + or upload_id not in self._local_upload_buffers + ): + return + + buffer = self._local_upload_buffers.pop(upload_id, []) + buffer.sort(key=lambda x: x[0]) + complete_data = b"".join([data for _, data in buffer]) + + local_path = self._cloud_path_to_local(cloud_path) + local_path.parent.mkdir(parents=True, exist_ok=True) + local_path.write_bytes(complete_data) + + def _abort_multipart_upload(self, cloud_path: LocalPath, upload_id: str) -> None: + """Abort local file upload by cleaning up the buffer.""" + if hasattr(self, "_local_upload_buffers"): + self._local_upload_buffers.pop(upload_id, None) + + def _open_write_stream(self, cloud_path: LocalPath) -> "_LocalWriteStream": + """Return a write stream that buffers data and writes to the local file on close.""" + local_path = self._cloud_path_to_local(cloud_path) + return _LocalWriteStream(local_path) + + def _put_empty_object(self, cloud_path: LocalPath) -> None: + """Create a zero-byte local file.""" + local_path = self._cloud_path_to_local(cloud_path) + local_path.parent.mkdir(parents=True, exist_ok=True) + local_path.write_bytes(b"") + + +class _LocalWriteStream: + """File-like writer that accumulates bytes and flushes to a local path on close. + + Used by LocalClient._open_write_stream so that _GSStorageRaw (and other adapters + that call _open_write_stream) can work correctly against local test clients. + """ + + def __init__(self, local_path: Path) -> None: + self._local_path = local_path + self._buf: bytearray = bytearray() + self._closed: bool = False + + def write(self, data: bytes) -> int: + if self._closed: + raise ValueError("I/O operation on closed stream") + self._buf.extend(data) + return len(data) + + def close(self) -> None: + if not self._closed: + self._closed = True + self._local_path.parent.mkdir(parents=True, exist_ok=True) + self._local_path.write_bytes(bytes(self._buf)) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + _temp_dirs_to_clean: List[TemporaryDirectory] = [] diff --git a/cloudpathlib/s3/__init__.py b/cloudpathlib/s3/__init__.py index 77d27176..cb71b813 100644 --- a/cloudpathlib/s3/__init__.py +++ b/cloudpathlib/s3/__init__.py @@ -1,5 +1,6 @@ from .s3client import S3Client from .s3path import S3Path +from .s3_io import _S3StorageRaw # noqa: F401 - imported for registration __all__ = [ "S3Client", diff --git a/cloudpathlib/s3/s3_io.py b/cloudpathlib/s3/s3_io.py new file mode 100644 index 00000000..df0b9d50 --- /dev/null +++ b/cloudpathlib/s3/s3_io.py @@ -0,0 +1,106 @@ +""" +S3-specific streaming I/O implementations. + +Provides efficient streaming I/O for S3 using range requests and multipart uploads. +""" + +from typing import Optional, Dict, Any + +from ..cloud_io import _CloudStorageRaw +from ..cloudpath import register_raw_io_class + + +@register_raw_io_class("s3") +class _S3StorageRaw(_CloudStorageRaw): + """ + S3-specific raw I/O adapter. + + Implements efficient range-based reads and multipart uploads for S3. + S3 requires non-final parts to be at least 5 MiB; this class accumulates + chunks in _write_buffer and only uploads a part once _MIN_PART_SIZE is reached. + """ + + # S3 minimum part size for non-final parts: 5 MiB + _MIN_PART_SIZE = 5 * 1024 * 1024 + + def __init__(self, client, cloud_path, mode: str = "rb"): + super().__init__(client, cloud_path, mode) + + # Multipart upload state + self._upload_id: Optional[str] = None + self._parts: list = [] + self._part_number: int = 1 + # Accumulation buffer — we only flush a part when >= _MIN_PART_SIZE bytes + self._write_buffer: bytearray = bytearray() + + def _range_get(self, start: int, end: int) -> bytes: + return self._client._range_download(self._cloud_path, start, end) + + def _get_size(self) -> int: + return self._client._get_content_length(self._cloud_path) + + def _is_eof_error(self, error: Exception) -> bool: + error_str = str(error) + return ( + "InvalidRange" in error_str + or "InvalidObjectState" in error_str + or hasattr(error, "__class__") + and "InvalidRange" in error.__class__.__name__ + ) + + # ---- Write support (multipart upload with 5 MiB minimum part size) ---- + + def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: + if not data: + return + + self._write_buffer.extend(data) + + # Upload full-sized parts whenever we have enough buffered data + while len(self._write_buffer) >= self._MIN_PART_SIZE: + chunk = bytes(self._write_buffer[: self._MIN_PART_SIZE]) + del self._write_buffer[: self._MIN_PART_SIZE] + if self._upload_id is None: + self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) + part_info = self._client._upload_part( + self._cloud_path, self._upload_id, self._part_number, chunk + ) + self._parts.append(part_info) + self._part_number += 1 + + def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: + # Flush remaining buffer as the final part (exempt from 5 MiB floor) + if self._write_buffer: + if self._upload_id is None: + self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) + part_info = self._client._upload_part( + self._cloud_path, + self._upload_id, + self._part_number, + bytes(self._write_buffer), + ) + self._parts.append(part_info) + self._part_number += 1 + self._write_buffer = bytearray() + + if self._upload_id is None: + # No data written — create an empty object directly + self._client._put_empty_object(self._cloud_path) + return + + try: + self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) + except Exception: + try: + self._client._abort_multipart_upload(self._cloud_path, self._upload_id) + except Exception: + pass # best-effort abort + raise + finally: + self._upload_id = None + self._parts = [] + self._part_number = 1 + self._write_buffer = bytearray() + + def close(self) -> None: + super().close() diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index e6aba796..7df5fa4f 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -401,5 +401,110 @@ def _generate_presigned_url(self, cloud_path: S3Path, expire_seconds: int = 60 * ) return url + # ====================== STREAMING I/O METHODS ====================== + + def _range_download(self, cloud_path: S3Path, start: int, end: int) -> bytes: + """Download a byte range from S3.""" + try: + response = self.client.get_object( + Bucket=cloud_path.bucket, + Key=cloud_path.key, + Range=f"bytes={start}-{end}", + **self.boto3_dl_extra_args, + ) + body = response["Body"] + data = body.read() + body.close() + return data + except ClientError as e: + code = e.response["Error"]["Code"] + if code in ("404", "NoSuchKey"): + raise FileNotFoundError(f"S3 object not found: {cloud_path}") + if code in ("InvalidRange", "416"): + return b"" + raise + except Exception as e: + if "InvalidRange" in str(e): + return b"" + raise + + def _get_content_length(self, cloud_path: S3Path) -> int: + """Get the size of an S3 object. + + head_object raises ClientError with code 404, not NoSuchKey. + """ + try: + response = self.client.head_object( + Bucket=cloud_path.bucket, + Key=cloud_path.key, + **self.boto3_dl_extra_args, + ) + return response["ContentLength"] + except ClientError as e: + code = e.response["Error"]["Code"] + if code in ("404", "NoSuchKey"): + raise FileNotFoundError(f"S3 object not found: {cloud_path}") + raise + + def _initiate_multipart_upload(self, cloud_path: S3Path) -> str: + """Start an S3 multipart upload, threading content-type and upload extra args.""" + extra_args = self.boto3_ul_extra_args.copy() + if self.content_type_method is not None: + content_type, content_encoding = self.content_type_method(str(cloud_path)) + if content_type is not None: + extra_args["ContentType"] = content_type + if content_encoding is not None: + extra_args["ContentEncoding"] = content_encoding + response = self.client.create_multipart_upload( + Bucket=cloud_path.bucket, + Key=cloud_path.key, + **extra_args, + ) + return response["UploadId"] + + def _upload_part( + self, cloud_path: S3Path, upload_id: str, part_number: int, data: bytes + ) -> dict: + """Upload a part in an S3 multipart upload.""" + response = self.client.upload_part( + Bucket=cloud_path.bucket, + Key=cloud_path.key, + UploadId=upload_id, + PartNumber=part_number, + Body=data, + ) + return {"PartNumber": part_number, "ETag": response["ETag"]} + + def _complete_multipart_upload(self, cloud_path: S3Path, upload_id: str, parts: list) -> None: + """Complete an S3 multipart upload.""" + self.client.complete_multipart_upload( + Bucket=cloud_path.bucket, + Key=cloud_path.key, + UploadId=upload_id, + MultipartUpload={"Parts": parts}, + ) + + def _abort_multipart_upload(self, cloud_path: S3Path, upload_id: str) -> None: + """Abort an S3 multipart upload.""" + self.client.abort_multipart_upload( + Bucket=cloud_path.bucket, Key=cloud_path.key, UploadId=upload_id + ) + + def _put_empty_object(self, cloud_path: S3Path) -> None: + """Upload a zero-byte object, threading content-type and upload extra args.""" + extra_args = self.boto3_ul_extra_args.copy() + if self.content_type_method is not None: + content_type, content_encoding = self.content_type_method(str(cloud_path)) + if content_type is not None: + extra_args["ContentType"] = content_type + if content_encoding is not None: + extra_args["ContentEncoding"] = content_encoding + self.client.put_object( + Bucket=cloud_path.bucket, + Key=cloud_path.key, + Body=b"", + **extra_args, + ) + S3Client.S3Path = S3Client.CloudPath # type: ignore diff --git a/docs/docs/caching.ipynb b/docs/docs/caching.ipynb index 48ae6aef..28d40135 100644 --- a/docs/docs/caching.ipynb +++ b/docs/docs/caching.ipynb @@ -475,16 +475,15 @@ "\n", "### Automatically\n", "\n", - "We provide a number of different ways for the cache to get cleared automatically for you depending on your use case. These range from no cache clearing done by `cloudpathlib` (`\"persistent\"`), to the most aggressive (`\"close_file\"`), which deletes a file from the cache as soon as the file handle is closed and the file is uploaded to the cloud, if it was changed).\n", + "We provide a number of different ways for the cache to get cleared automatically for you depending on your use case. These range from no cache clearing done by `cloudpathlib` (`\"persistent\"`), to the most aggressive (`\"close_file\"`), which deletes a file from the cache as soon as the file handle is closed and the file is uploaded to the cloud, if it was changed). There is also a `\"streaming\"` mode that bypasses caching entirely for direct I/O.\n", "\n", "The modes are defined in the `FileCacheMode` enum, which you can use directly or you can use the corresponding string value. Examples of both methods are included below.\n", "\n", - "Note: There is not currently a cache mode that _never_ writes a file to disk and only keeps it in memory.\n", - "\n", " - `\"persistent\"` - `cloudpathlib` does not clear the cache at all. In this case, you must also pass a `local_cache_dir` when you instantiate the client.\n", " - `\"tmp_dir\"` (_default_) - Cached files are saved using Python's [`TemporaryDirectory`](https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory). This provides three potential avenues for the cache to get cleared. First, cached files are removed by `cloudpathlib` when the `*Client` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called. Second, Python clears a temporary directory if all references to that directory leave scope. Finally since the folder is in an operating system temp directory, it will be cleared by the OS (which, depending on the OS, may not happen until system restart).\n", " - `\"cloudpath_object\"` - cached files are removed when the `CloudPath` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called.\n", " - `\"close_file\"` - since we only download a file to the cache on read/write, we can ensure the cache is empty by removing the cached file as soon as the read/write is finished. Reading/writing the same `CloudPath` multiple times will result in re-downloading the file from the cloud. Note: For this to work, `cloudpath` needs to be in control of the reading/writing of files. This means your code base should use the `CloudPath.write_*`, `CloudPath.read_*`, and `CloudPath.open` methods. Using `CloudPath.fspath` (or passing the `CloudPath` as a `PathLike` object to another library) will not clear the cache on file close since it was not opened by `cloudpathlib`.\n", + " - `\"streaming\"` - files are never written to disk. Data is streamed directly from/to cloud storage using range requests for reads and multipart/block uploads for writes. This mode uses only small in-memory buffers and is ideal for large files or memory-constrained environments. Note: `.fspath` and similar properties are not available in streaming mode. Currently supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (read-only).\n", "\n", "Note: Although we use it in the examples below, for `\"cloudpath_object\"` and `\"tmp_dir\"` you normally shouldn't need to explicitly call `del`. Letting Python garbage collection run on its own once all references to the object leave scope should be sufficient. See details [in the Python docs](https://docs.python.org/3/reference/datamodel.html?highlight=__del__#object.__del__)).\n" ] @@ -744,6 +743,73 @@ "shutil.rmtree(client_cache_dir)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### File cache mode: `\"streaming\"`\n", + "\n", + "The `\"streaming\"` mode provides direct streaming I/O without any local caching. This is ideal for:\n", + "\n", + "- **Large files** that don't fit in memory or disk\n", + "- **Partial reads** where you only need part of a file\n", + "- **Sequential processing** where you read/write once\n", + "- **Memory-constrained environments**\n", + "\n", + "Unlike other cache modes, streaming mode:\n", + "- Reads data directly from cloud storage using range requests\n", + "- Writes data directly to cloud storage using multipart/block uploads\n", + "- Never creates cached files on disk (only uses small in-memory buffers)\n", + "- Works with standard Python file-like interfaces\n", + "\n", + "**Note:** Streaming mode is currently supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (read-only).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Example: Streaming a large file\n", + "streaming_client = S3Client(file_cache_mode=FileCacheMode.streaming)\n", + "\n", + "flood_image = streaming_client.CloudPath(\n", + " \"s3://ladi/Images/FEMA_CAP/2020/70349/DSC_0002_a89f1b79-786f-4dac-9dcc-609fb1a977b1.jpg\"\n", + ")\n", + "\n", + "# Read the image in streaming mode - no cache file created\n", + "with flood_image.open(\"rb\") as f:\n", + " i = Image.open(f)\n", + " print(\"Image loaded via streaming...\")\n", + "\n", + "# No cache file exists - streaming mode doesn't create one\n", + "print(\"Cache file exists: \", flood_image._local.exists())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Example: Reading in chunks for memory efficiency\n", + "streaming_client = S3Client(file_cache_mode=FileCacheMode.streaming)\n", + "\n", + "flood_image = streaming_client.CloudPath(\n", + " \"s3://ladi/Images/FEMA_CAP/2020/70349/DSC_0002_a89f1b79-786f-4dac-9dcc-609fb1a977b1.jpg\"\n", + ")\n", + "\n", + "# Read file in 8KB chunks without loading entire file\n", + "print(\"Reading file in chunks:\")\n", + "chunk_count = 0\n", + "with flood_image.open(\"rb\", buffer_size=8192) as f:\n", + " while chunk := f.read(8192):\n", + " chunk_count += 1\n", + "\n", + "print(f\"Read {chunk_count} chunks without caching the file\")" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/docs/docs/streaming_io.md b/docs/docs/streaming_io.md new file mode 100644 index 00000000..e17156b5 --- /dev/null +++ b/docs/docs/streaming_io.md @@ -0,0 +1,747 @@ +# Streaming I/O + +CloudPathLib provides high-performance streaming I/O capabilities for cloud storage that work seamlessly with Python's standard I/O interfaces and third-party libraries. + +## Overview + +By default, CloudPathLib downloads files to a local cache before opening them. While this works well for many use cases, it can be inefficient for: + +- **Large files** that don't fit in memory or disk +- **Partial reads** where you only need to access part of a file +- **Sequential processing** where you read a file once and discard it +- **Write-only workflows** where you're generating data to upload + +The streaming I/O system solves these problems by: + +- Reading data directly from cloud storage using range requests +- Writing data directly to cloud storage using multipart/block uploads +- Providing standard Python file-like objects that work with any library +- Eliminating the need for local disk caching + +## Quick Start + +### Enable Streaming Mode + +To use streaming I/O, set your client's `file_cache_mode` to `FileCacheMode.streaming`: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +# Option 1: Set streaming mode on the client +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +with path.open("rt") as f: + for line in f: + print(line.strip()) + +# Option 2: Change mode on existing client +client = S3Client() +client.file_cache_mode = FileCacheMode.streaming + +path = S3Path("s3://bucket/file.txt", client=client) +with path.open("rt") as f: + content = f.read() + +# Option 3: Temporarily enable streaming +client = S3Client() +path = S3Path("s3://bucket/file.txt", client=client) + +original_mode = path.client.file_cache_mode +path.client.file_cache_mode = FileCacheMode.streaming + +with path.open("rt") as f: + content = f.read() + +path.client.file_cache_mode = original_mode # Restore +``` + +### Basic Examples + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +# Create a client with streaming enabled +client = S3Client(file_cache_mode=FileCacheMode.streaming) + +# Read a text file +path = S3Path("s3://bucket/file.txt", client=client) +with path.open("rt") as f: + for line in f: + print(line.strip()) + +# Write a binary file +path = S3Path("s3://bucket/output.bin", client=client) +with path.open("wb") as f: + f.write(b"Hello, cloud!") + +# Read binary data in chunks +path = S3Path("s3://bucket/large-file.bin", client=client) +with path.open("rb") as f: + while chunk := f.read(8192): + process(chunk) +``` + +## API Reference + +!!! important "Always use `CloudPath.open()`" + The recommended way to use streaming I/O is through `CloudPath.open()` with `FileCacheMode.streaming`. The `CloudBufferedIO` and `CloudTextIO` classes are implementation details returned by `open()` and should not be instantiated directly. + +### `FileCacheMode` Enum + +Controls how `CloudPath.open()` handles file caching: + +- `FileCacheMode.cloudpath_object`: Default - cache files in CloudPath object +- `FileCacheMode.tmp_dir`: Cache files in temporary directory +- `FileCacheMode.persistent`: Cache files persistently +- `FileCacheMode.close_file`: Close file after reading +- **`FileCacheMode.streaming`**: Stream directly without caching + +```python +from cloudpathlib.enums import FileCacheMode + +# Set on client initialization +client = S3Client(file_cache_mode=FileCacheMode.streaming) + +# Or change dynamically +client.file_cache_mode = FileCacheMode.streaming +``` + +### `CloudPath.open()` + +Opens a cloud file in streaming mode when `file_cache_mode` is set to `FileCacheMode.streaming`. + +```python +CloudPath.open( + mode: str = "r", + buffering: int = -1, + encoding: Optional[str] = None, + errors: Optional[str] = None, + newline: Optional[str] = None, + *, + buffer_size: Optional[int] = None, +) -> Union[CloudBufferedIO, CloudTextIO, IO] +``` + +**Parameters:** + +- `mode`: File mode - binary (`'rb'`, `'wb'`, etc.) or text (`'r'`, `'w'`, `'rt'`, `'wt'`, etc.) +- `buffering`: Buffer size (deprecated, use `buffer_size` instead) +- `encoding`: Text encoding (default: `"utf-8"`, text mode only) +- `errors`: Error handling strategy (default: `"strict"`, text mode only) +- `newline`: Newline handling (text mode only) +- `buffer_size`: Size of read/write buffer in bytes (default: 64 KiB) + +**Returns:** + +- `CloudBufferedIO` for binary modes (when streaming) +- `CloudTextIO` for text modes (when streaming) +- Standard file object (when not streaming) + +### `CloudBufferedIO` + +Binary file-like object implementing `io.BufferedIOBase`. + +!!! note "Use `CloudPath.open()` instead" + **Do not instantiate `CloudBufferedIO` directly.** Always use `CloudPath.open()` with the appropriate mode and `FileCacheMode.streaming` to get streaming file objects. The streaming I/O classes are implementation details that are returned by `open()`. + +**Key Methods:** + +- `read(size=-1)`: Read up to size bytes (all if size is -1) +- `read1(size=-1)`: Read up to size bytes with one underlying read call +- `readinto(b)`: Read bytes into a pre-allocated buffer +- `write(b)`: Write bytes +- `flush()`: Flush write buffer to cloud storage +- `seek(offset, whence=SEEK_SET)`: Change stream position +- `tell()`: Return current stream position +- `close()`: Close file and finalize upload + +**Properties:** + +- `name`: The cloud path +- `mode`: File mode (e.g., `"rb"`, `"wb"`) +- `closed`: Whether the file is closed + +**Capability Flags:** + +- `readable()`: Returns True for read modes +- `writable()`: Returns True for write modes +- `seekable()`: Returns True (random access supported) + +### `CloudTextIO` + +Text file-like object implementing `io.TextIOBase`. + +!!! note "Use `CloudPath.open()` instead" + **Do not instantiate `CloudTextIO` directly.** Always use `CloudPath.open()` with text mode (e.g., `"r"`, `"rt"`, `"w"`, `"wt"`) and `FileCacheMode.streaming` to get streaming text file objects. The streaming I/O classes are implementation details that are returned by `open()`. + +**Key Methods:** + +- `read(size=-1)`: Read up to size characters +- `readline(size=-1)`: Read one line +- `readlines(hint=-1)`: Read list of lines +- `write(s)`: Write string +- `writelines(lines)`: Write list of strings +- `flush()`: Flush write buffer +- `seek(offset, whence=SEEK_SET)`: Change position +- `tell()`: Return current position +- `close()`: Close file + +**Properties:** + +- `name`: The cloud path +- `mode`: File mode (e.g., `"rt"`, `"wt"`) +- `encoding`: Text encoding +- `errors`: Error handling strategy +- `newlines`: Newline(s) encountered +- `buffer`: Underlying binary buffer (CloudBufferedIO) +- `closed`: Whether the file is closed + +**Iteration:** + +CloudTextIO supports iteration: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +with path.open("rt") as f: + for line in f: + process(line) +``` + +## Usage Examples + +### Reading Large Files in Chunks + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/huge-file.csv", client=client) + +# Process a large file without loading it entirely into memory +with path.open("rt") as f: + header = f.readline() + for line in f: + process_csv_line(line) +``` + +### Partial File Reads + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/data.bin", client=client) + +# Read just the header of a file +with path.open("rb") as f: + header = f.read(1024) # Read first 1KB + parse_header(header) + + # Seek to specific position + f.seek(10000) + chunk = f.read(100) +``` + +### Streaming Uploads + +```python +from cloudpathlib import AzureBlobPath, AzureBlobClient +from cloudpathlib.enums import FileCacheMode +import json + +client = AzureBlobClient(file_cache_mode=FileCacheMode.streaming) +path = AzureBlobPath("az://container/output.json", client=client) + +# Write data directly to cloud without local file +with path.open("wt") as f: + f.write('{"items": [\n') + for i, item in enumerate(generate_items()): + if i > 0: + f.write(',\n') + f.write(json.dumps(item)) + f.write('\n]}') +``` + +### Using with pandas + +```python +import pandas as pd +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) + +# Read CSV directly from cloud +read_path = S3Path("s3://bucket/data.csv", client=client) +with read_path.open("rt") as f: + df = pd.read_csv(f) + +# Write CSV directly to cloud +write_path = S3Path("s3://bucket/output.csv", client=client) +with write_path.open("wt") as f: + df.to_csv(f, index=False) +``` + +### Using with PIL/Pillow + +```python +from PIL import Image +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) + +# Read image +read_path = S3Path("s3://bucket/image.jpg", client=client) +with read_path.open("rb") as f: + img = Image.open(f) + img.show() + +# Write image +write_path = S3Path("s3://bucket/output.png", client=client) +with write_path.open("wb") as f: + img.save(f, format="PNG") +``` + +### Custom Buffer Size + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) + +# Use larger buffer for better throughput on fast connections +path = S3Path("s3://bucket/large-file.bin", client=client) +with path.open("rb", buffer_size=1024*1024) as f: + data = f.read() + +# Use smaller buffer for memory-constrained environments +path = S3Path("s3://bucket/file.txt", client=client) +with path.open("rt", buffer_size=8192) as f: + for line in f: + process(line) +``` + +## Performance Considerations + +### Buffer Size + +The `buffer_size` parameter controls how much data is fetched from/written to cloud storage in each request: + +- **Larger buffers** (256 KiB - 1 MiB): Better throughput, fewer requests, more memory +- **Smaller buffers** (8 KiB - 64 KiB): Lower memory usage, more requests, lower throughput +- **Default** (64 KiB): Good balance for most use cases + +### Read Patterns + +- **Sequential reads**: Optimal performance - data is fetched ahead as needed +- **Random seeks**: Each seek may trigger a new range request - less efficient +- **Small random reads**: Consider downloading the file to cache instead + +### Write Contract + +Object storage is fundamentally a **sequential, write-once** medium. +Streaming mode reflects that contract: + +| Mode | Streaming behaviour | +|------|---------------------| +| `wb`, `w`, `xb`, `x` | True streaming — data is forwarded to the provider as it arrives | +| `ab`, `a`, `r+b`, `r+`, `w+b`, `w+` | **Falls back to cache** — the object is downloaded, mutated locally, then re-uploaded on close. Semantics are correct; performance matches the cached path. | + +Attempting to seek backward on a write-only streaming stream raises +`io.UnsupportedOperation` because the provider has already accepted +the earlier bytes. + +### Multipart/Block Uploads + +For write operations, the streaming I/O system automatically handles: + +- **S3**: Multipart upload; non-final parts are buffered until they reach + the provider minimum of **5 MiB** (S3 rejects smaller non-final parts). + The final part may be smaller than 5 MiB. +- **Azure**: Block blob staging — each flushed chunk is staged as a block + and committed on close. +- **GCS**: Resumable upload (`blob.open("wb")`) — data streams + incrementally to GCS without in-memory buffering. + +## Provider-Specific Behavior + +### AWS S3 + +- Uses boto3 `get_object()` with `Range` header for reads +- Uses boto3 multipart upload API for writes +- Supports all S3-compatible storage (MinIO, Ceph, etc.) + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +with path.open("rt") as f: + content = f.read() +``` + +### Azure Blob Storage + +- Uses Azure SDK `download_blob()` with offset/length for reads +- Uses block blob staging and commit for writes +- Compatible with Azure Data Lake Storage Gen2 + +```python +from cloudpathlib import AzureBlobPath, AzureBlobClient +from cloudpathlib.enums import FileCacheMode + +client = AzureBlobClient(file_cache_mode=FileCacheMode.streaming) +path = AzureBlobPath("az://container/file.txt", client=client) + +with path.open("rt") as f: + content = f.read() +``` + +### Google Cloud Storage + +- Uses GCS SDK `download_as_bytes()` with start/end for reads +- Uses `upload_from_string()` for writes +- Supports GCS-specific features through client configuration + +```python +from cloudpathlib import GSPath, GSClient +from cloudpathlib.enums import FileCacheMode + +client = GSClient(file_cache_mode=FileCacheMode.streaming) +path = GSPath("gs://bucket/file.txt", client=client) + +with path.open("rt") as f: + content = f.read() +``` + +## Comparison with Cached Mode + +| Feature | Streaming (`FileCacheMode.streaming`) | Cached (default) | +|---------|--------------------------------------|------------------| +| **Disk usage** | Minimal (only buffer) | Full file size | +| **Memory usage** | Configurable buffer | Varies | +| **Read performance** | Sequential: Good
Random: Moderate | Fast (local disk) | +| **Write performance** | Good (direct upload) | Fast write, slower close | +| **Partial reads** | Efficient | Downloads full file | +| **Large files** | Excellent | Limited by disk space | +| **Offline access** | No | Yes (after download) | +| **Compatibility** | Standard I/O interfaces | Standard I/O interfaces | + +## Best Practices + +### When to Use Streaming I/O + +✅ **Good use cases:** + +- Large files that don't fit in memory/disk +- Reading only part of a file (e.g., headers, metadata) +- Sequential processing (one-pass reads) +- Direct upload of generated content +- Integration with libraries that accept file-like objects + +❌ **Consider caching instead:** + +- Small files (< 10 MB) +- Frequent random access to same file +- Multiple passes over the same data +- Offline processing +- Maximum read performance required +- Libraries that require file paths (`.fspath` not available in streaming mode) + +### Error Handling + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +try: + with path.open("rt") as f: + content = f.read() +except FileNotFoundError: + print("File not found in cloud storage") +except PermissionError: + print("Access denied") +except Exception as e: + print(f"Error: {e}") +``` + +### Resource Management + +Always use context managers to ensure proper cleanup: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +# ✅ Good - file is automatically closed +with path.open("rt") as f: + content = f.read() + +# ❌ Bad - must remember to close manually +f = path.open("rt") +content = f.read() +f.close() # Easy to forget! +``` + +### Streaming Mode Limitations + +When using `FileCacheMode.streaming`, certain CloudPath features are not available because streaming mode doesn't create cached files on disk: + +**Not Available:** +- `.fspath` property - Raises `CloudPathNotImplementedError` +- `.__fspath__()` method - Raises `CloudPathNotImplementedError` +- Passing CloudPath as `os.PathLike` to libraries that need file paths + +**Workaround:** +Use `CloudPath.open()` and pass the file-like object to libraries that accept file handles instead of file paths. + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode +import pandas as pd + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/data.csv", client=client) + +# ❌ This will raise an error in streaming mode +# df = pd.read_csv(path.fspath) + +# ✅ Use this instead - pass the open file handle +with path.open("rt") as f: + df = pd.read_csv(f) +``` + +## Compatibility + +### Python I/O Interfaces + +The streaming I/O classes are fully compatible with Python's I/O hierarchy: + +```python +import io +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) + +path = S3Path("s3://bucket/file.bin", client=client) +with path.open("rb") as f: + assert isinstance(f, io.IOBase) + assert isinstance(f, io.BufferedIOBase) + +path = S3Path("s3://bucket/file.txt", client=client) +with path.open("rt") as f: + assert isinstance(f, io.IOBase) + assert isinstance(f, io.TextIOBase) +``` + +### Third-Party Libraries + +Works with any library that accepts file-like objects: + +- **Data processing**: pandas, NumPy, PyArrow +- **Images**: PIL/Pillow, OpenCV +- **Compression**: gzip, zipfile, tarfile +- **Serialization**: pickle, json, yaml +- **Scientific**: h5py, netCDF4 + +## Troubleshooting + +### "File not found" errors + +Ensure the file exists and you have read permissions: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +if path.exists(): + with path.open("rt") as f: + content = f.read() +``` + +### Slow performance + +Try increasing buffer size: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +# Larger buffer for faster networks +with path.open("rb", buffer_size=1024*1024) as f: + data = f.read() +``` + +### Out of memory + +Try smaller buffer size or process in chunks: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/huge.bin", client=client) + +# Process large file in chunks +with path.open("rb", buffer_size=8192) as f: + while chunk := f.read(8192): + process_chunk(chunk) +``` + +## Migration Guide + +### From Cached to Streaming + +Before: + +```python +from cloudpathlib import S3Path + +path = S3Path("s3://bucket/file.txt") +with path.open("rt") as f: # Downloads to cache + content = f.read() +``` + +After: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +# Option 1: Set on client initialization +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) +with path.open("rt") as f: # Streams directly + content = f.read() + +# Option 2: Change client mode +client = S3Client() +path = S3Path("s3://bucket/file.txt", client=client) + +path.client.file_cache_mode = FileCacheMode.streaming +with path.open("rt") as f: # Streams directly + content = f.read() +``` + +## Advanced Topics + +### Custom Clients + +Pass custom clients with specific configurations: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode +from botocore.config import Config + +# Custom S3 client with retry configuration +client = S3Client( + file_cache_mode=FileCacheMode.streaming, + boto3_config=Config( + retries={'max_attempts': 10, 'mode': 'adaptive'} + ) +) + +path = S3Path("s3://bucket/file.txt", client=client) +with path.open("rt") as f: + content = f.read() +``` + +### Multiple Files + +Process multiple files efficiently: + +```python +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +bucket = S3Path("s3://bucket/", client=client) + +for file_path in bucket.glob("*.csv"): + with file_path.open("rt") as f: + process_csv(f) +``` + +### Encoding Detection + +For files with unknown encoding: + +```python +import chardet +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/file.txt", client=client) + +# Read a small sample to detect encoding +with path.open("rb") as f: + sample = f.read(10000) + detected = chardet.detect(sample) + encoding = detected['encoding'] + +# Re-open with detected encoding +with path.open("rt", encoding=encoding) as f: + content = f.read() +``` + +### Context Manager for Temporary Streaming + +Use a context manager to temporarily enable streaming mode: + +```python +from contextlib import contextmanager +from cloudpathlib import S3Client +from cloudpathlib.enums import FileCacheMode + +@contextmanager +def streaming_mode(client): + """Temporarily enable streaming mode on a client.""" + original_mode = client.file_cache_mode + try: + client.file_cache_mode = FileCacheMode.streaming + yield client + finally: + client.file_cache_mode = original_mode + +# Usage +client = S3Client() +path = S3Path("s3://bucket/file.txt", client=client) + +with streaming_mode(client): + with path.open("rt") as f: + content = f.read() # Uses streaming + +# Back to cached mode +with path.open("rt") as f: + content = f.read() # Uses caching +``` diff --git a/tests/conftest.py b/tests/conftest.py index 41af180d..f36894e0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -25,10 +25,13 @@ from shortuuid import uuid from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_fixed -from cloudpathlib import AzureBlobClient, AzureBlobPath, GSClient, GSPath, S3Client, S3Path -from cloudpathlib.cloudpath import implementation_registry +from cloudpathlib.azure import AzureBlobClient, AzureBlobPath, _AzureBlobStorageRaw +from cloudpathlib.gs import GSClient, GSPath, _GSStorageRaw +from cloudpathlib.s3 import S3Client, S3Path, _S3StorageRaw +from cloudpathlib.cloudpath import implementation_registry, CloudImplementation from cloudpathlib.http.httpclient import HttpClient, HttpsClient from cloudpathlib.http.httppath import HttpPath, HttpsPath +from cloudpathlib.http.http_io import _HttpStorageRaw from cloudpathlib.local import ( local_azure_blob_implementation, LocalAzureBlobClient, @@ -272,8 +275,7 @@ class CloudProviderTestRig: def __init__( self, - path_class: type, - client_class: type, + cloud_implementation: CloudImplementation, drive: str = "drive", test_dir: str = "", live_server: bool = False, @@ -284,8 +286,7 @@ def __init__( path_class (type): CloudPath subclass client_class (type): Client subclass """ - self.path_class = path_class - self.client_class = client_class + self.cloud_implementation = cloud_implementation self.drive = drive self.test_dir = test_dir self.live_server = live_server # if the server is a live server @@ -293,6 +294,18 @@ def __init__( required_client_kwargs if required_client_kwargs is not None else {} ) + @property + def path_class(self): + return self.cloud_implementation.path_class + + @property + def client_class(self): + return self.cloud_implementation.client_class + + @property + def raw_io_class(self): + return self.cloud_implementation.raw_io_class + @property def cloud_prefix(self): return self.path_class.cloud_prefix @@ -410,9 +423,13 @@ def _upload(test_file, key): MockedDataLakeServiceClient, ) + azure_blob_implementation = CloudImplementation() + azure_blob_implementation._client_class = AzureBlobClient + azure_blob_implementation._path_class = AzureBlobPath + azure_blob_implementation._raw_io_class = _AzureBlobStorageRaw + rig = CloudProviderTestRig( - path_class=AzureBlobPath, - client_class=AzureBlobClient, + cloud_implementation=azure_blob_implementation, drive=drive, test_dir=test_dir, live_server=live_server, @@ -511,9 +528,13 @@ def _upload(test_file, key): ) monkeypatch.setattr(cloudpathlib.gs.gsclient, "google_default_auth", mock_default_auth) + gs_implementation = CloudImplementation() + gs_implementation._client_class = GSClient + gs_implementation._path_class = GSPath + gs_implementation._raw_io_class = _GSStorageRaw + rig = CloudProviderTestRig( - path_class=GSPath, - client_class=GSClient, + cloud_implementation=gs_implementation, drive=drive, test_dir=test_dir, live_server=live_server, @@ -561,9 +582,13 @@ def _upload(test_file, key): mocked_session_class_factory(test_dir), ) + s3_implementation = CloudImplementation() + s3_implementation._client_class = S3Client + s3_implementation._path_class = S3Path + s3_implementation._raw_io_class = _S3StorageRaw + rig = CloudProviderTestRig( - path_class=S3Path, - client_class=S3Client, + cloud_implementation=s3_implementation, drive=drive, test_dir=test_dir, live_server=live_server, @@ -620,9 +645,13 @@ def _upload(test_file, key): mocked_session_class_factory(test_dir), ) + custom_s3_implementation = CloudImplementation() + custom_s3_implementation._client_class = S3Client + custom_s3_implementation._path_class = S3Path + custom_s3_implementation._raw_io_class = _S3StorageRaw + rig = CloudProviderTestRig( - path_class=S3Path, - client_class=S3Client, + cloud_implementation=custom_s3_implementation, drive=drive, test_dir=test_dir, live_server=live_server, @@ -664,9 +693,13 @@ def local_azure_rig(request, monkeypatch, assets_dir, live_server): monkeypatch.setitem(implementation_registry, "azure", local_azure_blob_implementation) + local_azure_blob_cloud_implementation = CloudImplementation() + local_azure_blob_cloud_implementation._client_class = LocalAzureBlobClient + local_azure_blob_cloud_implementation._path_class = LocalAzureBlobPath + local_azure_blob_cloud_implementation._raw_io_class = _AzureBlobStorageRaw + rig = CloudProviderTestRig( - path_class=LocalAzureBlobPath, - client_class=LocalAzureBlobClient, + cloud_implementation=local_azure_blob_cloud_implementation, drive=drive, test_dir=test_dir, ) @@ -696,9 +729,13 @@ def local_gs_rig(request, monkeypatch, assets_dir, live_server): monkeypatch.setitem(implementation_registry, "gs", local_gs_implementation) + local_gs_cloud_implementation = CloudImplementation() + local_gs_cloud_implementation._client_class = LocalGSClient + local_gs_cloud_implementation._path_class = LocalGSPath + local_gs_cloud_implementation._raw_io_class = _GSStorageRaw + rig = CloudProviderTestRig( - path_class=LocalGSPath, - client_class=LocalGSClient, + cloud_implementation=local_gs_cloud_implementation, drive=drive, test_dir=test_dir, ) @@ -727,9 +764,13 @@ def local_s3_rig(request, monkeypatch, assets_dir, live_server): monkeypatch.setitem(implementation_registry, "s3", local_s3_implementation) + local_s3_cloud_implementation = CloudImplementation() + local_s3_cloud_implementation._client_class = LocalS3Client + local_s3_cloud_implementation._path_class = LocalS3Path + local_s3_cloud_implementation._raw_io_class = _S3StorageRaw + rig = CloudProviderTestRig( - path_class=LocalS3Path, - client_class=LocalS3Client, + cloud_implementation=local_s3_implementation, drive=drive, test_dir=test_dir, ) @@ -769,9 +810,13 @@ def http_rig(request, assets_dir, http_server): # noqa: F811 shutil.copytree(assets_dir, server_dir / test_dir) _sync_filesystem() + http_implementation = CloudImplementation() + http_implementation._client_class = HttpClient + http_implementation._path_class = HttpPath + http_implementation._raw_io_class = _HttpStorageRaw + rig = CloudProviderTestRig( - path_class=HttpPath, - client_class=HttpClient, + cloud_implementation=http_implementation, drive=drive, test_dir=test_dir, ) @@ -804,9 +849,13 @@ def https_rig(request, assets_dir, https_server): # noqa: F811 skip_verify_ctx.check_hostname = False skip_verify_ctx.load_verify_locations(utilities_dir / "insecure-test.pem") + https_implementation = CloudImplementation() + https_implementation._client_class = HttpsClient + https_implementation._path_class = HttpsPath + https_implementation._raw_io_class = _HttpStorageRaw + rig = CloudProviderTestRig( - path_class=HttpsPath, - client_class=HttpsClient, + cloud_implementation=https_implementation, drive=drive, test_dir=test_dir, required_client_kwargs=dict( diff --git a/tests/http_fixtures.py b/tests/http_fixtures.py index d43ce236..dec3479a 100644 --- a/tests/http_fixtures.py +++ b/tests/http_fixtures.py @@ -75,7 +75,59 @@ def do_POST(self): @retry(stop=stop_after_attempt(5), wait=wait_fixed(0.1)) def do_GET(self): - super().do_GET() + """Handle GET requests with optional Range header support.""" + # Check if this is a range request + range_header = self.headers.get("Range") + if range_header: + self._handle_range_request(range_header) + else: + super().do_GET() + + def _handle_range_request(self, range_header): + """Handle Range requests for partial content.""" + path = Path(self.translate_path(self.path)) + + if not path.exists() or not path.is_file(): + self.send_error(404, "File not found") + return + + # Parse the Range header (format: "bytes=start-end") + try: + range_spec = range_header.replace("bytes=", "").strip() + parts = range_spec.split("-") + start = int(parts[0]) if parts[0] else 0 + + file_size = path.stat().st_size + + # Handle end byte + if len(parts) > 1 and parts[1]: + end = int(parts[1]) + else: + end = file_size - 1 + + # Validate range + if start < 0 or end >= file_size or start > end: + self.send_error(416, "Requested Range Not Satisfiable") + self.send_header("Content-Range", f"bytes */{file_size}") + self.end_headers() + return + + # Read the requested range + with path.open("rb") as f: + f.seek(start) + content = f.read(end - start + 1) + + # Send partial content response + self.send_response(206) # Partial Content + self.send_header("Content-Type", self.guess_type(str(path))) + self.send_header("Content-Length", str(len(content))) + self.send_header("Content-Range", f"bytes {start}-{end}/{file_size}") + self.send_header("Accept-Ranges", "bytes") + self.end_headers() + self.wfile.write(content) + + except (ValueError, IndexError) as e: + self.send_error(400, f"Bad Range header: {e}") @retry(stop=stop_after_attempt(5), wait=wait_fixed(0.1)) def do_HEAD(self): diff --git a/tests/mock_clients/mock_azureblob.py b/tests/mock_clients/mock_azureblob.py index 2fc8f7eb..8370d05f 100644 --- a/tests/mock_clients/mock_azureblob.py +++ b/tests/mock_clients/mock_azureblob.py @@ -61,6 +61,9 @@ def __init__(self, test_dir, adls): self.metadata_cache = _JsonCache(self.root / ".metadata") self.adls_gen2 = adls + # For block blob uploads (multipart) - shared across all blob clients + self._staged_blocks = {} + @classmethod def from_connection_string(cls, conn_str, credential): # configured in conftest.py @@ -114,7 +117,7 @@ def url(self): def get_blob_properties(self): path = self.root / self.key if path.exists() and path.is_file(): - return BlobProperties( + props = BlobProperties( **{ "name": self.key, "Last-Modified": datetime.fromtimestamp(path.stat().st_mtime), @@ -125,11 +128,14 @@ def get_blob_properties(self): "metadata": dict(), } ) + # Set size directly as BlobProperties doesn't accept it in constructor + props.size = path.stat().st_size + return props else: raise ResourceNotFoundError - def download_blob(self): - return MockStorageStreamDownloader(self.root, self.key) + def download_blob(self, offset=None, length=None): + return MockStorageStreamDownloader(self.root, self.key, offset=offset, length=length) def set_blob_metadata(self, metadata): path = self.root / self.key @@ -148,21 +154,55 @@ def delete_blob(self): def upload_blob(self, data, overwrite, content_settings=None): path = self.root / self.key path.parent.mkdir(parents=True, exist_ok=True) - path.write_bytes(data.read()) + if isinstance(data, bytes): + path.write_bytes(data) + else: + path.write_bytes(data.read()) if content_settings is not None: self.service_client.metadata_cache[self.root / self.key] = ( content_settings.content_type ) + def stage_block(self, block_id, data, length): + """Stage a block for block blob upload.""" + # Store the block data indexed by blob key in service client's staged blocks + if self.key not in self.service_client._staged_blocks: + self.service_client._staged_blocks[self.key] = {} + self.service_client._staged_blocks[self.key][block_id] = data + + def commit_block_list(self, block_ids, content_settings=None): + """Commit a list of staged blocks to create a blob.""" + path = self.root / self.key + path.parent.mkdir(parents=True, exist_ok=True) + + # Concatenate blocks in order + if self.key in self.service_client._staged_blocks: + complete_data = b"" + for block_id in block_ids: + complete_data += self.service_client._staged_blocks[self.key][block_id] + + path.write_bytes(complete_data) + + # Clean up staged blocks + del self.service_client._staged_blocks[self.key] + class MockStorageStreamDownloader: - def __init__(self, root, key): + def __init__(self, root, key, offset=None, length=None): self.root = root self.key = key + self.offset = offset + self.length = length def readall(self): - return (self.root / self.key).read_bytes() + data = (self.root / self.key).read_bytes() + if self.offset is not None: + if self.length is not None: + return data[self.offset : self.offset + self.length] + else: + return data[self.offset :] + return data def content_as_bytes(self): return self.readall() diff --git a/tests/mock_clients/mock_gs.py b/tests/mock_clients/mock_gs.py index 26487767..d56bb9ee 100644 --- a/tests/mock_clients/mock_gs.py +++ b/tests/mock_clients/mock_gs.py @@ -72,6 +72,27 @@ def download_to_filename(self, filename, timeout=None, retry=None): to_path.parent.mkdir(exist_ok=True, parents=True) to_path.write_bytes(from_path.read_bytes()) + def download_as_bytes(self, start=None, end=None, timeout=None, retry=None): + """Download blob content as bytes with optional byte range.""" + # if timeout is not None, assume that the test wants a timeout and throw it + if timeout is not None: + raise TimeoutError("Download timed out") + + # indicate that retry object made it through to the GS lib + if retry is not None: + retry.mocked_retries = 1 + + from_path = self.bucket / self.name + data = from_path.read_bytes() + + # Handle byte range if specified + if start is not None: + if end is not None: + return data[start : end + 1] + else: + return data[start:] + return data + def patch(self): if "updated" in self.metadata: (self.bucket / self.name).touch() @@ -107,6 +128,25 @@ def upload_from_filename(self, filename, content_type=None, timeout=None, retry= self.client.metadata_cache[self.bucket / self.name] = content_type + def upload_from_string(self, data, content_type=None, timeout=None, retry=None): + """Upload from bytes/string data.""" + # if timeout is not None, assume that the test wants a timeout and throw it + if timeout is not None: + raise TimeoutError("Upload timed out") + + # indicate that retry object made it through to the GS lib + if retry is not None: + retry.mocked_retries = 1 + + path = self.bucket / self.name + path.parent.mkdir(parents=True, exist_ok=True) + if isinstance(data, str): + path.write_text(data) + else: + path.write_bytes(data) + + self.client.metadata_cache[self.bucket / self.name] = content_type + @property def etag(self): return "etag" @@ -136,6 +176,38 @@ def public_url(self) -> str: def generate_signed_url(self, version: str, expiration: timedelta, method: str): return f"https://storage.googleapis.com{self.bucket}/{self.name}?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=TEST&X-Goog-Date=20240131T185515Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=TEST" + def open(self, mode="rb", **kwargs): + """Return a file-like writer/reader for resumable uploads (mock implementation).""" + if mode == "wb": + return _MockBlobWriter(self) + raise NotImplementedError(f"Mock blob.open() only supports 'wb', not {mode!r}") + + +class _MockBlobWriter: + """Simulates a GCS resumable upload stream (blob.open('wb')).""" + + def __init__(self, blob: "MockBlob") -> None: + self._blob = blob + self._buf: bytearray = bytearray() + self._closed: bool = False + + def write(self, data: bytes) -> int: + if self._closed: + raise ValueError("I/O operation on closed stream") + self._buf.extend(data) + return len(data) + + def close(self) -> None: + if not self._closed: + self._closed = True + self._blob.upload_from_string(bytes(self._buf)) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + class MockBucket: def __init__(self, name, bucket_name, client=None): diff --git a/tests/mock_clients/mock_s3.py b/tests/mock_clients/mock_s3.py index a2f850ca..da181703 100644 --- a/tests/mock_clients/mock_s3.py +++ b/tests/mock_clients/mock_s3.py @@ -257,6 +257,133 @@ def head_object(self, Bucket, Key, **kwargs): "Metadata": {}, } + def get_object(self, Bucket, Key, Range=None, **kwargs): + """Get an S3 object with optional byte range.""" + if ( + not (self.root / Key).exists() + or (self.root / Key).is_dir() + or Bucket != DEFAULT_S3_BUCKET_NAME + ): + raise ClientError( + {"Error": {"Code": "NoSuchKey", "Message": "The specified key does not exist."}}, + {}, + ) + + path = self.root / Key + data = path.read_bytes() + + if Range: + import re + + match = re.match(r"bytes=(\d+)-(\d+)", Range) + if match: + start, end = int(match.group(1)), int(match.group(2)) + data = data[start : end + 1] + else: + raise ClientError( + { + "Error": { + "Code": "InvalidRange", + "Message": "The requested range is not satisfiable", + } + }, + {}, + ) + + from io import BytesIO + + return {"Body": BytesIO(data), "ContentLength": len(data)} + + def create_multipart_upload(self, Bucket, Key, **kwargs): + """Start a multipart upload.""" + import uuid + + upload_id = str(uuid.uuid4()) + if not hasattr(self, "_uploads"): + self._uploads = {} + self._uploads[upload_id] = {"Bucket": Bucket, "Key": Key, "Parts": []} + return {"UploadId": upload_id} + + def upload_part(self, Bucket, Key, UploadId, PartNumber, Body, **kwargs): + """Upload a part in a multipart upload.""" + if not hasattr(self, "_uploads") or UploadId not in self._uploads: + raise ClientError( + { + "Error": { + "Code": "NoSuchUpload", + "Message": "The specified upload does not exist.", + } + }, + {}, + ) + + upload = self._uploads[UploadId] + if isinstance(Body, bytes): + data = Body + else: + data = Body.read() if hasattr(Body, "read") else Body + + upload["Parts"].append({"PartNumber": PartNumber, "Data": data}) + + import hashlib + + etag = hashlib.md5(data).hexdigest() + return {"ETag": etag} + + def complete_multipart_upload(self, Bucket, Key, UploadId, MultipartUpload, **kwargs): + """Complete a multipart upload.""" + if not hasattr(self, "_uploads") or UploadId not in self._uploads: + raise ClientError( + { + "Error": { + "Code": "NoSuchUpload", + "Message": "The specified upload does not exist.", + } + }, + {}, + ) + + upload = self._uploads[UploadId] + parts = sorted(upload["Parts"], key=lambda p: p["PartNumber"]) + complete_data = b"".join([p["Data"] for p in parts]) + + path = self.root / Key + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(complete_data) + + del self._uploads[UploadId] + + return {"Location": f"https://{Bucket}.s3.amazonaws.com/{Key}"} + + def abort_multipart_upload(self, Bucket, Key, UploadId, **kwargs): + """Abort a multipart upload.""" + if hasattr(self, "_uploads") and UploadId in self._uploads: + del self._uploads[UploadId] + + def put_object(self, Bucket, Key, Body=b"", **kwargs): + """Upload data directly (single PUT).""" + if Bucket != DEFAULT_S3_BUCKET_NAME and ".mrap" not in Bucket: + raise ClientError( + { + "Error": { + "Code": "NoSuchBucket", + "Message": "The specified bucket does not exist.", + } + }, + "PutObject", + ) + path = self.root / Key + path.parent.mkdir(parents=True, exist_ok=True) + if isinstance(Body, bytes): + path.write_bytes(Body) + else: + path.write_bytes(Body.read() if hasattr(Body, "read") else b"") + if "ContentType" in kwargs and self.session is not None: + self.session.metadata_cache[path] = kwargs["ContentType"] + import hashlib + + return {"ETag": f'"{hashlib.md5(path.read_bytes()).hexdigest()}"'} + def generate_presigned_url(self, op: str, Params: dict, ExpiresIn: int): mock_presigned_url = f"https://{Params['Bucket']}.s3.amazonaws.com/{Params['Key']}?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=TEST%2FTEST%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240131T194721Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=TEST" return mock_presigned_url diff --git a/tests/test_client.py b/tests/test_client.py index 4b1d6951..226679e6 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -8,11 +8,16 @@ from cloudpathlib import CloudPath from cloudpathlib.client import register_client_class -from cloudpathlib.cloudpath import implementation_registry, register_path_class +from cloudpathlib.cloudpath import ( + implementation_registry, + register_path_class, + register_raw_io_class, +) from cloudpathlib.http.httpclient import HttpClient, HttpsClient from cloudpathlib.s3.s3client import S3Client from cloudpathlib.s3.s3path import S3Path from tests.rigs import custom_s3_endpoint +from cloudpathlib.s3.s3_io import _S3StorageRaw def test_default_client_instantiation(rig): @@ -157,6 +162,10 @@ class MyS3Path(S3Path): class MyS3Client(S3Client): pass + @register_raw_io_class("mys3") + class MyS3StorageRaw(_S3StorageRaw): + pass + yield (MyS3Path, MyS3Client) # cleanup after use diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py new file mode 100644 index 00000000..69cfd9bc --- /dev/null +++ b/tests/test_cloud_io.py @@ -0,0 +1,1393 @@ +""" +Tests for cloud storage streaming I/O. + +Tests CloudBufferedIO, CloudTextIO, and streaming mode for direct +streaming without local caching. +""" + +import io +import threading +import pytest + +from cloudpathlib import S3Path, AzureBlobPath, GSPath +from cloudpathlib import CloudBufferedIO, CloudTextIO +from cloudpathlib.enums import FileCacheMode + +# Sample test data +BINARY_DATA = b"Hello, World! This is binary data.\n" * 100 +TEXT_DATA = "Hello, World! This is text data.\n" * 100 +MULTILINE_TEXT = """Line 1 +Line 2 +Line 3 +Line 4 with special chars: éñ中文 +""" + + +@pytest.fixture +def temp_cloud_file(rig): + """Create a temporary cloud file for testing.""" + # Skip if streaming IO is not implemented for this provider + # HTTP/HTTPS support streaming reads and the test server supports writes + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_streaming_io.txt") + path.write_text(TEXT_DATA) + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + yield path + # Restore original mode + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +@pytest.fixture +def temp_cloud_binary_file(rig): + """Create a temporary cloud binary file for testing.""" + # Skip if streaming IO is not implemented for this provider + # HTTP/HTTPS support streaming reads and the test server supports writes + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_streaming_io.bin") + path.write_bytes(BINARY_DATA) + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + yield path + # Restore original mode + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +@pytest.fixture +def temp_cloud_multiline_file(rig): + """Create a temporary cloud file with multiple lines for testing.""" + # Skip if streaming IO is not implemented for this provider + # HTTP/HTTPS support streaming reads and the test server supports writes + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_streaming_multiline.txt") + path.write_text(MULTILINE_TEXT) + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + yield path + # Restore original mode + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +# ============================================================================ +# CloudBufferedIO tests (binary streaming) +# ============================================================================ + + +def test_read_binary_stream(temp_cloud_binary_file): + """Test reading binary data via streaming.""" + with temp_cloud_binary_file.open(mode="rb") as f: + # Verify it's the right type + assert isinstance(f, CloudBufferedIO) + assert isinstance(f, io.BufferedIOBase) + + # Read all data + data = f.read() + assert data == BINARY_DATA + + +def test_read_chunks(temp_cloud_binary_file): + """Test reading data in chunks.""" + chunk_size = 100 + with temp_cloud_binary_file.open(mode="rb") as f: + chunks = [] + while True: + chunk = f.read(chunk_size) + if not chunk: + break + chunks.append(chunk) + assert len(chunk) <= chunk_size + + # Verify we got all data + assert b"".join(chunks) == BINARY_DATA + + +def test_read1(temp_cloud_binary_file): + """Test read1 method.""" + with temp_cloud_binary_file.open(mode="rb") as f: + chunk = f.read1(50) + assert len(chunk) <= 50 + assert len(chunk) > 0 + + +def test_readinto(temp_cloud_binary_file): + """Test readinto method.""" + with temp_cloud_binary_file.open(mode="rb") as f: + buf = bytearray(100) + n = f.readinto(buf) + assert n > 0 + assert n <= 100 + assert buf[:n] == BINARY_DATA[:n] + + +def test_seek_tell(temp_cloud_binary_file): + """Test seek and tell operations.""" + with temp_cloud_binary_file.open(mode="rb") as f: + # Initial position + assert f.tell() == 0 + + # Read some data + f.read(50) + assert f.tell() == 50 + + # Seek to beginning + pos = f.seek(0) + assert pos == 0 + assert f.tell() == 0 + + # Seek relative + pos = f.seek(10, io.SEEK_CUR) + assert pos == 10 + + # Seek from end + pos = f.seek(-10, io.SEEK_END) + assert pos == len(BINARY_DATA) - 10 + + +def test_seekable_readable_writable(temp_cloud_binary_file): + """Test capability flags.""" + with temp_cloud_binary_file.open(mode="rb") as f: + assert f.readable() + assert not f.writable() + assert f.seekable() + + +def test_buffered_io_properties(temp_cloud_binary_file): + """Test file properties.""" + with temp_cloud_binary_file.open(mode="rb") as f: + assert f.name == str(temp_cloud_binary_file) + assert f.mode == "rb" + assert not f.closed + + assert f.closed + + +def test_buffered_io_context_manager(temp_cloud_binary_file): + """Test context manager protocol.""" + with temp_cloud_binary_file.open(mode="rb") as f: + assert not f.closed + data = f.read(10) + assert len(data) == 10 + + assert f.closed + + +def test_write_binary_stream(rig): + """Test writing binary data via streaming.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_write_binary.bin") + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + # Write data + with path.open(mode="wb") as f: + assert isinstance(f, CloudBufferedIO) + assert f.writable() + assert not f.readable() + + n = f.write(BINARY_DATA) + assert n == len(BINARY_DATA) + + # Restore original mode + path.client.file_cache_mode = original_mode + + # Verify data was written + assert path.exists() + assert path.read_bytes() == BINARY_DATA + finally: + try: + path.unlink() + except Exception: + pass + + +def test_write_chunks(rig): + """Test writing data in chunks.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_write_chunks.bin") + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + chunk_size = 100 + with path.open(mode="wb", buffer_size=chunk_size) as f: + for i in range(0, len(BINARY_DATA), chunk_size): + chunk = BINARY_DATA[i : i + chunk_size] + f.write(chunk) + + # Restore original mode + path.client.file_cache_mode = original_mode + + # Verify + assert path.read_bytes() == BINARY_DATA + finally: + try: + path.unlink() + except Exception: + pass + + +def test_flush(rig): + """Test explicit flush.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_flush.bin") + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open(mode="wb") as f: + f.write(b"First chunk") + f.flush() + f.write(b" Second chunk") + + # Restore original mode + path.client.file_cache_mode = original_mode + + assert path.read_bytes() == b"First chunk Second chunk" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_buffered_io_isinstance_checks(temp_cloud_binary_file): + """Test that instances pass isinstance checks.""" + with temp_cloud_binary_file.open(mode="rb") as f: + assert isinstance(f, io.IOBase) + assert isinstance(f, io.BufferedIOBase) + assert not isinstance(f, io.TextIOBase) + + +def test_not_found_error(rig): + """Test error when file doesn't exist.""" + path = rig.create_cloud_path("nonexistent.bin") + + with pytest.raises(FileNotFoundError): + with path.open(mode="rb") as f: + f.read() + + +# ============================================================================ +# CloudTextIO tests (text streaming) +# ============================================================================ + + +def test_read_text_stream(temp_cloud_file): + """Test reading text data via streaming.""" + with temp_cloud_file.open(mode="rt") as f: + # Verify it's the right type + assert isinstance(f, CloudTextIO) + assert isinstance(f, io.TextIOBase) + + # Read all data + data = f.read() + assert data == TEXT_DATA + + +def test_read_text_mode_without_t(temp_cloud_file): + """Test reading text with mode 'r' (without explicit 't').""" + with temp_cloud_file.open(mode="r") as f: + assert isinstance(f, CloudTextIO) + data = f.read() + assert data == TEXT_DATA + + +def test_readline(temp_cloud_multiline_file): + """Test readline method.""" + with temp_cloud_multiline_file.open(mode="rt") as f: + line1 = f.readline() + assert line1 == "Line 1\n" + + line2 = f.readline() + assert line2 == "Line 2\n" + + +def test_readlines(temp_cloud_multiline_file): + """Test readlines method.""" + with temp_cloud_multiline_file.open(mode="rt") as f: + lines = f.readlines() + assert len(lines) == 4 + assert lines[0] == "Line 1\n" + assert "special chars" in lines[3] + + +def test_iteration(temp_cloud_multiline_file): + """Test iterating over lines.""" + with temp_cloud_multiline_file.open(mode="rt") as f: + lines = list(f) + assert len(lines) == 4 + assert lines[0] == "Line 1\n" + + +def test_encoding(rig): + """Test different encodings.""" + path = rig.create_cloud_path("test_encoding.txt") + utf8_text = "Hello 世界 🌍" + + try: + # Write with UTF-8 + path.write_text(utf8_text, encoding="utf-8") + + # Read with UTF-8 + with path.open(mode="rt", encoding="utf-8") as f: + assert f.encoding == "utf-8" + data = f.read() + assert data == utf8_text + finally: + try: + path.unlink() + except Exception: + pass + + +def test_text_properties(temp_cloud_file): + """Test text mode properties.""" + with temp_cloud_file.open(mode="rt", encoding="utf-8", errors="strict") as f: + assert f.encoding == "utf-8" + assert f.errors == "strict" + assert f.name == str(temp_cloud_file) + assert "r" in f.mode + + +def test_write_text_stream(rig): + """Test writing text data via streaming.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_write_text.txt") + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open(mode="wt") as f: + assert isinstance(f, CloudTextIO) + n = f.write(TEXT_DATA) + assert n == len(TEXT_DATA) + + # Restore original mode + path.client.file_cache_mode = original_mode + + # Verify + assert path.read_text() == TEXT_DATA + finally: + try: + path.unlink() + except Exception: + pass + + +def test_writelines(rig): + """Test writelines method.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_writelines.txt") + lines = ["Line 1\n", "Line 2\n", "Line 3\n"] + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open(mode="wt") as f: + f.writelines(lines) + + # Restore original mode + path.client.file_cache_mode = original_mode + + assert path.read_text() == "".join(lines) + finally: + try: + path.unlink() + except Exception: + pass + + +def test_text_io_isinstance_checks(temp_cloud_file): + """Test that instances pass isinstance checks.""" + with temp_cloud_file.open(mode="rt") as f: + assert isinstance(f, io.IOBase) + assert isinstance(f, io.TextIOBase) + assert not isinstance(f, io.BufferedIOBase) + + +def test_buffer_property(temp_cloud_file): + """Test access to underlying binary buffer.""" + with temp_cloud_file.open(mode="rt") as f: + assert hasattr(f, "buffer") + assert isinstance(f.buffer, CloudBufferedIO) + + +# ============================================================================ +# CloudPath.open streaming integration tests +# ============================================================================ + + +def test_cloudpath_stream_read(temp_cloud_file): + """Test CloudPath.open with streaming mode for reading.""" + # The temp_cloud_file fixture already sets streaming mode + with temp_cloud_file.open(mode="r") as f: + assert isinstance(f, CloudTextIO) + data = f.read() + assert data == TEXT_DATA + + +def test_cloudpath_stream_write(rig): + """Test CloudPath.open with streaming mode for writing.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_stream_write.txt") + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open(mode="w") as f: + assert isinstance(f, CloudTextIO) + f.write(TEXT_DATA) + + # Restore original mode + path.client.file_cache_mode = original_mode + + assert path.read_text() == TEXT_DATA + finally: + try: + path.unlink() + except Exception: + pass + + +def test_cloudpath_stream_binary(temp_cloud_binary_file): + """Test CloudPath.open with streaming mode for binary.""" + # The temp_cloud_binary_file fixture already sets streaming mode + with temp_cloud_binary_file.open(mode="rb") as f: + assert isinstance(f, CloudBufferedIO) + data = f.read() + assert data == BINARY_DATA + + +def test_cloudpath_stream_false_uses_cache(rig): + """Test that non-streaming mode uses traditional caching.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_caching.txt") + path.write_text(TEXT_DATA) + + try: + # Default mode (not streaming) should use caching + assert path.client.file_cache_mode != FileCacheMode.streaming + + with path.open(mode="r") as f: + # Should not be a CloudTextIO instance + assert not isinstance(f, CloudTextIO) + # Should still read correctly + data = f.read() + assert data == TEXT_DATA + finally: + try: + path.unlink() + except Exception: + pass + + +def test_cloudpath_default_no_streaming(rig): + """Test that default behavior uses caching, not streaming.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_default.txt") + path.write_text(TEXT_DATA) + + try: + # Default client mode should not be streaming + assert path.client.file_cache_mode != FileCacheMode.streaming + + with path.open(mode="r") as f: + # Default should not use streaming + assert not isinstance(f, CloudTextIO) + data = f.read() + assert data == TEXT_DATA + finally: + try: + path.unlink() + except Exception: + pass + + +# ============================================================================ +# CloudPath.open factory tests +# ============================================================================ + + +def test_auto_client_s3(temp_cloud_file): + """Test auto-detection of S3 client.""" + if not isinstance(temp_cloud_file, S3Path): + pytest.skip("Not testing S3") + + with temp_cloud_file.open(mode="rt") as f: + data = f.read() + assert len(data) > 0 + + +def test_auto_client_azure(temp_cloud_file): + """Test auto-detection of Azure client.""" + if not isinstance(temp_cloud_file, AzureBlobPath): + pytest.skip("Not testing Azure") + + with temp_cloud_file.open(mode="rt") as f: + data = f.read() + assert len(data) > 0 + + +def test_auto_client_gs(temp_cloud_file): + """Test auto-detection of GCS client.""" + if not isinstance(temp_cloud_file, GSPath): + pytest.skip("Not testing GCS") + + with temp_cloud_file.open(mode="rt") as f: + data = f.read() + assert len(data) > 0 + + +def test_explicit_client(temp_cloud_file): + """Test passing explicit client.""" + with temp_cloud_file.open(mode="rt") as f: + data = f.read() + assert len(data) > 0 + + +def test_buffer_size_parameter(temp_cloud_binary_file): + """Test custom buffer size.""" + buffer_size = 1024 + with temp_cloud_binary_file.open(mode="rb", buffer_size=buffer_size) as f: + assert f._buffer_size == buffer_size + + +def test_text_parameters(rig): + """Test text-specific parameters.""" + path = rig.create_cloud_path("test_params.txt") + text = "Test data" + + try: + path.write_text(text) + + with path.open(mode="rt", encoding="utf-8", errors="strict", newline=None) as f: + assert f.encoding == "utf-8" + assert f.errors == "strict" + data = f.read() + assert data == text + finally: + try: + path.unlink() + except Exception: + pass + + +# ============================================================================ +# Edge cases and error conditions +# ============================================================================ + + +def test_empty_file_read(rig): + """Test reading an empty file.""" + path = rig.create_cloud_path("test_empty.txt") + + try: + path.write_text("") + + with path.open(mode="rt") as f: + data = f.read() + assert data == "" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_empty_file_write(rig): + """Test writing an empty file.""" + # Skip if streaming IO is not implemented for this provider + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_empty_write.txt") + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open(mode="wt"): + pass # Write nothing + + # Restore original mode + path.client.file_cache_mode = original_mode + + assert path.exists() + assert path.read_text() == "" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_large_file_streaming(rig): + """Test streaming a larger file.""" + path = rig.create_cloud_path("test_large.bin") + # 1 MB of data + large_data = b"X" * (1024 * 1024) + + try: + path.write_bytes(large_data) + + # Read in chunks + with path.open(mode="rb", buffer_size=8192) as f: + chunks = [] + while True: + chunk = f.read(8192) + if not chunk: + break + chunks.append(chunk) + + result = b"".join(chunks) + assert len(result) == len(large_data) + assert result == large_data + finally: + try: + path.unlink() + except Exception: + pass + + +def test_seek_beyond_eof(temp_cloud_binary_file): + """Test seeking beyond end of file.""" + with temp_cloud_binary_file.open(mode="rb") as f: + # Seek beyond EOF + size = len(BINARY_DATA) + pos = f.seek(size + 1000) + assert pos == size + 1000 + + # Reading should return empty + data = f.read(10) + assert data == b"" + + +def test_closed_file_operations(temp_cloud_file): + """Test operations on closed file raise errors.""" + with temp_cloud_file.open(mode="rt") as f: + pass # Just open and close + + # Now f is closed + with pytest.raises(ValueError): + f.read() + + with pytest.raises(ValueError): + f.readline() + + +def test_binary_mode_required_for_buffered(temp_cloud_file): + """Test that CloudBufferedIO requires binary mode.""" + # Get the raw IO class + raw_io_class = temp_cloud_file._cloud_meta.raw_io_class + if raw_io_class is None: + pytest.skip("No raw IO class registered") + + # This should raise an error + with pytest.raises(ValueError, match="binary mode"): + CloudBufferedIO( + raw_io_class=raw_io_class, + client=temp_cloud_file.client, + cloud_path=temp_cloud_file, + mode="r", + ) + + +def test_text_mode_required_for_text(temp_cloud_file): + """Test that CloudTextIO requires text mode.""" + # Get the raw IO class + raw_io_class = temp_cloud_file._cloud_meta.raw_io_class + if raw_io_class is None: + pytest.skip("No raw IO class registered") + + with pytest.raises(ValueError, match="text mode"): + CloudTextIO( + raw_io_class=raw_io_class, + client=temp_cloud_file.client, + cloud_path=temp_cloud_file, + mode="rb", + ) + + +def test_unsupported_operations(temp_cloud_file): + """Test unsupported operations raise appropriate errors.""" + with temp_cloud_file.open(mode="rt") as f: + # fileno() should raise + with pytest.raises(OSError): + f.fileno() + + # isatty() should return False + assert not f.isatty() + + +def test_read_write_mode_not_implemented(temp_cloud_file): + """Test that read/write modes work as expected.""" + # For now, r+ and w+ may have limitations + # Test basic write mode + with temp_cloud_file.open(mode="wt") as f: + assert f.writable() + assert not f.readable() + + +# ============================================================================ +# Provider-specific tests +# ============================================================================ + + +def test_s3_multipart_upload(rig): + """Test that S3 multipart upload is triggered for large writes.""" + if not hasattr(rig, "s3_path"): + pytest.skip("Not testing S3") + + path = rig.create_cloud_path("test_multipart.bin") + # Write enough data to trigger multiple parts (> 64KB buffer) + large_data = b"X" * (200 * 1024) # 200 KB + + try: + with path.open(mode="wb", buffer_size=64 * 1024) as f: + f.write(large_data) + + # Verify data was uploaded correctly + assert path.read_bytes() == large_data + finally: + try: + path.unlink() + except Exception: + pass + + +def test_azure_block_upload(rig): + """Test that Azure block upload works.""" + if not hasattr(rig, "azure_path"): + pytest.skip("Not testing Azure") + + path = rig.create_cloud_path("test_blocks.bin") + data = b"Block data " * 1000 + + try: + with path.open(mode="wb") as f: + f.write(data) + + assert path.read_bytes() == data + finally: + try: + path.unlink() + except Exception: + pass + + +def test_gs_resumable_upload(rig): + """Test that GCS upload works.""" + if not hasattr(rig, "gs_path"): + pytest.skip("Not testing GCS") + + path = rig.create_cloud_path("test_resumable.bin") + data = b"GCS data " * 1000 + + try: + with path.open(mode="wb") as f: + f.write(data) + + assert path.read_bytes() == data + finally: + try: + path.unlink() + except Exception: + pass + + +# ============================================================================ +# Performance and efficiency tests +# ============================================================================ + + +def test_small_buffer_many_reads(temp_cloud_binary_file): + """Test reading with small buffer size.""" + with temp_cloud_binary_file.open(mode="rb", buffer_size=128) as f: + data = f.read() + assert data == BINARY_DATA + + +def test_large_buffer_few_reads(temp_cloud_binary_file): + """Test reading with large buffer size.""" + with temp_cloud_binary_file.open(mode="rb", buffer_size=1024 * 1024) as f: + data = f.read() + assert data == BINARY_DATA + + +def test_sequential_reads(temp_cloud_binary_file): + """Test sequential reading pattern.""" + with temp_cloud_binary_file.open(mode="rb") as f: + pos = 0 + while pos < len(BINARY_DATA): + chunk = f.read(100) + if not chunk: + break + assert chunk == BINARY_DATA[pos : pos + 100] + pos += len(chunk) + + +def test_random_seeks(temp_cloud_binary_file): + """Test random seek pattern.""" + positions = [0, 100, 50, 200, 10] + + with temp_cloud_binary_file.open(mode="rb") as f: + for pos in positions: + f.seek(pos) + assert f.tell() == pos + chunk = f.read(10) + assert chunk == BINARY_DATA[pos : pos + 10] + + +# ============================================================================ +# Additional coverage tests for error paths and edge cases +# ============================================================================ + + +def test_readinto_on_closed_file(temp_cloud_binary_file): + """Test readinto on closed file raises ValueError.""" + with temp_cloud_binary_file.open(mode="rb") as f: + pass + + buf = bytearray(100) + with pytest.raises(ValueError, match="closed file"): + f.readinto(buf) + + +def test_read_on_write_only_file(rig): + """Test reading from write-only file raises error.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_write_only.bin") + + try: + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open(mode="wb") as f: + # Try to read from write-only file + with pytest.raises(io.UnsupportedOperation): + f.read() + + path.client.file_cache_mode = original_mode + finally: + try: + path.unlink() + except Exception: + pass + + +def test_readinto_empty_buffer(temp_cloud_binary_file): + """Test readinto with empty buffer returns 0.""" + with temp_cloud_binary_file.open(mode="rb") as f: + buf = bytearray(0) + n = f.readinto(buf) + assert n == 0 + + +def test_seek_with_invalid_whence(temp_cloud_binary_file): + """Test seek with invalid whence raises ValueError.""" + with temp_cloud_binary_file.open(mode="rb") as f: + with pytest.raises((ValueError, OSError)): + f.seek(0, 999) # Invalid whence value + + +def test_negative_seek_position(temp_cloud_binary_file): + """Test seeking to negative position raises ValueError.""" + with temp_cloud_binary_file.open(mode="rb") as f: + with pytest.raises(ValueError, match="negative seek position"): + f.seek(-10, io.SEEK_SET) + + +def test_seek_on_closed_file(temp_cloud_binary_file): + """Test seek on closed file raises ValueError.""" + with temp_cloud_binary_file.open(mode="rb") as f: + pass + + with pytest.raises(ValueError, match="closed file"): + f.seek(0) + + +def test_write_empty_chunks(rig): + """Test that empty write chunks are handled correctly.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_empty_chunks.bin") + + try: + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open(mode="wb") as f: + # Write empty data - should be no-op + f.write(b"") + # Write actual data + f.write(b"real data") + # Write more empty data + f.write(b"") + + path.client.file_cache_mode = original_mode + assert path.read_bytes() == b"real data" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_write_error_cleanup(rig): + """Test that write errors are handled gracefully.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + # This test just verifies that writing and closing work correctly + # The error handling paths are tested by the actual upload implementations + path = rig.create_cloud_path("test_error_cleanup.bin") + + try: + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + # Write some data successfully + with path.open(mode="wb") as f: + f.write(b"test data") + + path.client.file_cache_mode = original_mode + assert path.read_bytes() == b"test data" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_http_write_empty_file(rig): + """Test HTTP write for empty file.""" + if rig.path_class.cloud_prefix not in ("http://", "https://"): + pytest.skip("Test is specific to HTTP/HTTPS") + + # HTTP writes aren't fully supported in tests, but we can test the code path + # Skip for now since HTTP test server doesn't support PUT + pytest.skip("HTTP write not supported by test server") + + +def test_seek_from_end_without_size(rig, monkeypatch): + """Test SEEK_END when size cannot be determined.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_no_size.bin") + path.write_bytes(b"test data") + + try: + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + # Monkeypatch _get_size to raise an error + def mock_get_size(): + raise OSError("Cannot determine size") + + with path.open(mode="rb") as f: + # CloudBufferedIO has a _buffer attribute that wraps the raw IO + # Access the raw IO object through _buffer + raw = f._buffer.raw if hasattr(f, "_buffer") else f.raw + monkeypatch.setattr(raw, "_get_size", mock_get_size) + monkeypatch.setattr(raw, "_size", None) + + # Try to seek from end - should raise error (either from mock or from handler) + with pytest.raises(OSError): + f.seek(-5, io.SEEK_END) + + path.client.file_cache_mode = original_mode + finally: + try: + path.unlink() + except Exception: + pass + + +def test_read_at_eof_returns_empty(temp_cloud_binary_file): + """Test that reading at EOF returns empty bytes.""" + with temp_cloud_binary_file.open(mode="rb") as f: + # Seek to end + f.seek(0, io.SEEK_END) + # Try to read + data = f.read(100) + assert data == b"" + + +def test_readinto_at_eof_returns_zero(temp_cloud_binary_file): + """Test that readinto at EOF returns 0.""" + with temp_cloud_binary_file.open(mode="rb") as f: + # Seek to end + f.seek(0, io.SEEK_END) + # Try to readinto + buf = bytearray(100) + n = f.readinto(buf) + assert n == 0 + + +def test_fspath_raises_in_streaming_mode(rig): + """Test that fspath raises an error in streaming mode.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_fspath.txt") + path.write_text("test data") + + try: + # Set client to streaming mode + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + # Try to access fspath - should raise error + from cloudpathlib.exceptions import CloudPathNotImplementedError + + with pytest.raises( + CloudPathNotImplementedError, match="fspath is not available in streaming mode" + ): + _ = path.fspath + + # Also test __fspath__ directly + with pytest.raises( + CloudPathNotImplementedError, match="fspath is not available in streaming mode" + ): + _ = path.__fspath__() + + path.client.file_cache_mode = original_mode + finally: + try: + path.unlink() + except Exception: + pass + + +# ============================================================================ +# Step 8 regression tests — one test per bug from the plan +# ============================================================================ + + +# H1 — finalize-error propagates (no silent data loss) +def test_finalize_error_propagates(rig): + """A failed upload must raise out of the with-block; silent data loss is not allowed.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_finalize_error.bin") + raw_io_class = path._cloud_meta.raw_io_class + + class _FailingRaw(raw_io_class): + def _finalize_upload(self, upload_state=None): + raise RuntimeError("simulated upload failure") + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + try: + with pytest.raises(RuntimeError, match="simulated upload failure"): + with CloudBufferedIO( + raw_io_class=_FailingRaw, + client=path.client, + cloud_path=path, + mode="wb", + ) as f: + f.write(b"data that should not survive") + finally: + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +# H2 — exclusive create raises for 'xb' and 'xt' when object already exists +def test_exclusive_create_xb_raises_when_exists(rig): + """open('xb') must raise CloudPathFileExistsError when the object already exists.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + from cloudpathlib.exceptions import CloudPathFileExistsError + + path = rig.create_cloud_path("test_exclusive_create.bin") + path.write_bytes(b"existing content") + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + try: + with pytest.raises(CloudPathFileExistsError): + path.open("xb") + finally: + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +def test_exclusive_create_xt_raises_when_exists(rig): + """open('xt') must also raise CloudPathFileExistsError (mode='x' alone was not enough).""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + from cloudpathlib.exceptions import CloudPathFileExistsError + + path = rig.create_cloud_path("test_exclusive_create_xt.txt") + path.write_text("existing") + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + try: + with pytest.raises(CloudPathFileExistsError): + path.open("xt") + finally: + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +# H2 — append/r+ fall back to cache (correct semantics over streaming) +def test_append_mode_uses_cache_fallback(rig): + """Append mode with streaming file_cache_mode must fall back to the cached path.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_append_fallback.bin") + path.write_bytes(b"hello ") + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + try: + with path.open("ab") as f: + assert not isinstance(f, CloudBufferedIO), "append mode must use cache, not streaming" + f.write(b"world") + + path.client.file_cache_mode = original_mode + assert path.read_bytes() == b"hello world" + finally: + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +def test_rplus_mode_uses_cache_fallback(rig): + """r+b mode with streaming file_cache_mode must fall back to the cached path.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path = rig.create_cloud_path("test_rplus_fallback.bin") + path.write_bytes(b"hello world") + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + try: + with path.open("r+b") as f: + assert not isinstance(f, CloudBufferedIO), "r+b must use cache, not streaming" + f.seek(6) + f.write(b"there") + + path.client.file_cache_mode = original_mode + assert path.read_bytes() == b"hello there" + finally: + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +# H3 — S3 part-size floor: no non-final part < 5 MiB +def test_s3_no_small_non_final_parts(rig): + """All non-final S3 multipart parts must be >= 5 MiB.""" + if rig.path_class.cloud_prefix != "s3://": + pytest.skip("S3-specific test") + + from cloudpathlib.s3.s3_io import _S3StorageRaw + + path = rig.create_cloud_path("test_part_size.bin") + data = b"X" * (12 * 1024 * 1024) # 12 MiB → two 5 MiB parts + one 2 MiB final + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + uploaded_parts = [] + real_upload_part = path.client._upload_part + + def spy_upload_part(cloud_path, upload_id, part_number, part_data): + uploaded_parts.append(len(part_data)) + return real_upload_part(cloud_path, upload_id, part_number, part_data) + + path.client._upload_part = spy_upload_part + + try: + with path.open("wb") as f: + f.write(data) + + path.client.file_cache_mode = original_mode + assert path.read_bytes() == data + + min_size = _S3StorageRaw._MIN_PART_SIZE + for part_size in uploaded_parts[:-1]: # all except last + assert ( + part_size >= min_size + ), f"Non-final part is {part_size} bytes, below 5 MiB minimum" + finally: + path.client._upload_part = real_upload_part + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + +# H4 — concurrent writes to two paths on one client don't cross buffers +def test_concurrent_writes_dont_cross_buffers(rig): + """Two simultaneous streaming writers must not share upload state.""" + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + path_a = rig.create_cloud_path("test_concurrent_a.bin") + path_b = rig.create_cloud_path("test_concurrent_b.bin") + data_a = b"AAAA" * 1024 + data_b = b"BBBB" * 1024 + errors = [] + + def write_path(path, data): + try: + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + with path.open("wb") as f: + f.write(data) + path.client.file_cache_mode = original_mode + except Exception as e: + errors.append(e) + + t_a = threading.Thread(target=write_path, args=(path_a, data_a)) + t_b = threading.Thread(target=write_path, args=(path_b, data_b)) + t_a.start() + t_b.start() + t_a.join() + t_b.join() + + assert not errors, f"Concurrent write errors: {errors}" + + try: + assert path_a.read_bytes() == data_a, "path_a has wrong data (buffer cross)" + assert path_b.read_bytes() == data_b, "path_b has wrong data (buffer cross)" + finally: + for p in (path_a, path_b): + try: + p.unlink() + except Exception: + pass + + +# M6/M7 — custom Client without raw_io_class still instantiates in cached mode +def test_custom_client_without_raw_io_class_instantiates(rig): + """A CloudImplementation with no raw_io_class must not raise IncompleteImplementationError.""" + from cloudpathlib.cloudpath import CloudImplementation + from cloudpathlib.local.localclient import LocalClient + from cloudpathlib.local.localpath import LocalPath + + minimal = CloudImplementation() + minimal._client_class = LocalClient + minimal._path_class = LocalPath + minimal._raw_io_class = None # no streaming + + # Must not raise + minimal.validate_completeness() + assert minimal.raw_io_class is None + + +# M5 — HTTP range reads return the correct slice +def test_http_range_read_returns_correct_bytes(rig): + """HTTP range reads must return exactly the requested byte slice.""" + if rig.path_class.cloud_prefix not in ("http://", "https://"): + pytest.skip("HTTP/HTTPS-specific test") + + path = rig.create_cloud_path("test_range_slice.bin") + content = b"0123456789abcdef" + path.write_bytes(content) + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + try: + with path.open("rb", buffer_size=4) as f: + chunk = f.read(4) + assert chunk == b"0123", f"Expected first 4 bytes, got {chunk!r}" + chunk2 = f.read(4) + assert chunk2 == b"4567", f"Expected bytes 4-7, got {chunk2!r}" + finally: + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass diff --git a/tests/test_cloudpath_instantiation.py b/tests/test_cloudpath_instantiation.py index 53d4a947..4a26a95a 100644 --- a/tests/test_cloudpath_instantiation.py +++ b/tests/test_cloudpath_instantiation.py @@ -103,14 +103,14 @@ def test_idempotency(rig): def test_dependencies_not_loaded(rig, monkeypatch): - monkeypatch.setattr(rig.path_class._cloud_meta, "dependencies_loaded", False) + monkeypatch.setattr(rig.cloud_implementation, "dependencies_loaded", False) with pytest.raises(MissingDependenciesError): CloudPath(f"{rig.cloud_prefix}{rig.drive}/{rig.test_dir}/dir_0/file0_0.txt") with pytest.raises(MissingDependenciesError): rig.create_cloud_path("dir_0/file0_0.txt") # manual reset for teardown order so teardown doesn't fail - monkeypatch.setattr(rig.path_class._cloud_meta, "dependencies_loaded", True) + monkeypatch.setattr(rig.cloud_implementation, "dependencies_loaded", True) def test_is_pathlike(rig): From 0faa31d28be5b9c39a9b91e36007c71686eb2576 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 10 Jun 2026 21:35:56 -0700 Subject: [PATCH 02/35] Fix test skip conditions and mypy errors in streaming I/O MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - test_s3_multipart_upload, test_azure_block_upload, test_gs_resumable_upload were skipping on ALL rigs because hasattr(rig, "s3_path") etc. is always False; switch to rig.path_class.cloud_prefix comparisons so they run on the correct rigs - gs/gsclient.py GCSNotFound fallback: type: ignore[misc, assignment] - azure/azblobclient.py: e.error_code → e.error.code (guarded for None) - gs/gs_io.py: annotate _writer as Optional[Any] to satisfy mypy Co-Authored-By: Claude Sonnet 4.6 --- tests/test_cloud_io.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 69cfd9bc..a2db7144 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -794,7 +794,7 @@ def test_read_write_mode_not_implemented(temp_cloud_file): def test_s3_multipart_upload(rig): """Test that S3 multipart upload is triggered for large writes.""" - if not hasattr(rig, "s3_path"): + if rig.path_class.cloud_prefix != "s3://": pytest.skip("Not testing S3") path = rig.create_cloud_path("test_multipart.bin") @@ -816,7 +816,7 @@ def test_s3_multipart_upload(rig): def test_azure_block_upload(rig): """Test that Azure block upload works.""" - if not hasattr(rig, "azure_path"): + if rig.path_class.cloud_prefix != "az://": pytest.skip("Not testing Azure") path = rig.create_cloud_path("test_blocks.bin") @@ -836,7 +836,7 @@ def test_azure_block_upload(rig): def test_gs_resumable_upload(rig): """Test that GCS upload works.""" - if not hasattr(rig, "gs_path"): + if rig.path_class.cloud_prefix != "gs://": pytest.skip("Not testing GCS") path = rig.create_cloud_path("test_resumable.bin") From d217bf9f1494b54b976d72f8f18ee33789c49509 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 10 Jun 2026 22:18:48 -0700 Subject: [PATCH 03/35] update tests --- tests/test_cloud_io.py | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index a2db7144..353362f5 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1307,6 +1307,49 @@ def spy_upload_part(cloud_path, upload_id, part_number, part_data): pass +# H3b — S3 aborts multipart upload when complete fails +def test_s3_abort_multipart_on_complete_failure(rig): + """If _complete_multipart_upload fails, _abort_multipart_upload is attempted.""" + if rig.path_class.cloud_prefix != "s3://": + pytest.skip("S3-specific test") + + path = rig.create_cloud_path("test_abort_on_complete_fail.bin") + data = b"X" * (6 * 1024 * 1024) # 6 MiB → one 5 MiB part + final part + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + + real_complete = path.client._complete_multipart_upload + real_abort = path.client._abort_multipart_upload + abort_calls = [] + + def fail_complete(cloud_path, upload_id, parts): + raise RuntimeError("complete failed") + + def spy_abort(cloud_path, upload_id): + abort_calls.append(upload_id) + return real_abort(cloud_path, upload_id) + + path.client._complete_multipart_upload = fail_complete + path.client._abort_multipart_upload = spy_abort + + try: + with pytest.raises(RuntimeError, match="complete failed"): + with path.open("wb") as f: + f.write(data) + + assert len(abort_calls) == 1 + assert not path.exists() + finally: + path.client._complete_multipart_upload = real_complete + path.client._abort_multipart_upload = real_abort + path.client.file_cache_mode = original_mode + try: + path.unlink() + except Exception: + pass + + # H4 — concurrent writes to two paths on one client don't cross buffers def test_concurrent_writes_dont_cross_buffers(rig): """Two simultaneous streaming writers must not share upload state.""" From 1af09f897c71606658ca97298eb5d7d1bb98363b Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Fri, 26 Jun 2026 16:11:26 -0700 Subject: [PATCH 04/35] code review --- cloudpathlib/azure/azure_io.py | 37 ++++++++++++++++++++++++++++------ cloudpathlib/cloudpath.py | 7 +++++++ 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/cloudpathlib/azure/azure_io.py b/cloudpathlib/azure/azure_io.py index 213b8286..37f078e1 100644 --- a/cloudpathlib/azure/azure_io.py +++ b/cloudpathlib/azure/azure_io.py @@ -16,15 +16,21 @@ class _AzureBlobStorageRaw(_CloudStorageRaw): Azure Blob Storage-specific raw I/O adapter. Implements efficient range-based reads and block blob uploads for Azure. - Each block is staged independently (true streaming) and committed on finalize. + Writes are accumulated and staged in larger blocks to stay under Azure's + 50,000 committed-block limit per blob. """ + # Target block size before staging (Azure allows up to 50,000 blocks per blob) + _BLOCK_SIZE = 4 * 1024 * 1024 + def __init__(self, client, cloud_path, mode: str = "rb"): super().__init__(client, cloud_path, mode) # Block blob upload state self._upload_id: str = "" # Azure doesn't use upload IDs self._parts: list = [] + self._part_number: int = 1 + self._write_buffer: bytearray = bytearray() def _range_get(self, start: int, end: int) -> bytes: return self._client._range_download(self._cloud_path, start, end) @@ -46,14 +52,32 @@ def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = No if not data: return - if not self._upload_id: - self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) + self._write_buffer.extend(data) - part_number = len(self._parts) + 1 - part_info = self._client._upload_part(self._cloud_path, self._upload_id, part_number, data) - self._parts.append(part_info) + while len(self._write_buffer) >= self._BLOCK_SIZE: + chunk = bytes(self._write_buffer[: self._BLOCK_SIZE]) + del self._write_buffer[: self._BLOCK_SIZE] + if not self._upload_id: + self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) + part_info = self._client._upload_part( + self._cloud_path, self._upload_id, self._part_number, chunk + ) + self._parts.append(part_info) + self._part_number += 1 def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: + if self._write_buffer: + if not self._upload_id: + self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) + part_info = self._client._upload_part( + self._cloud_path, + self._upload_id, + self._part_number, + bytes(self._write_buffer), + ) + self._parts.append(part_info) + self._write_buffer.clear() + if not self._parts: # No blocks staged — create an empty blob directly self._client._put_empty_object(self._cloud_path) @@ -64,6 +88,7 @@ def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> Non finally: self._upload_id = "" self._parts = [] + self._part_number = 1 def close(self) -> None: super().close() diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index c54e02a1..13dbecbd 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -750,6 +750,7 @@ def open( newline: Optional[str] = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, + buffer_size: Optional[int] = None, ) -> "TextIOWrapper": ... @overload @@ -762,6 +763,7 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, + buffer_size: Optional[int] = None, ) -> "FileIO": ... @overload @@ -774,6 +776,7 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, + buffer_size: Optional[int] = None, ) -> "BufferedRandom": ... @overload @@ -786,6 +789,7 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, + buffer_size: Optional[int] = None, ) -> "BufferedWriter": ... @overload @@ -798,6 +802,7 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, + buffer_size: Optional[int] = None, ) -> "BufferedReader": ... @overload @@ -810,6 +815,7 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, + buffer_size: Optional[int] = None, ) -> "BinaryIO": ... @overload @@ -822,6 +828,7 @@ def open( newline: Optional[str] = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, + buffer_size: Optional[int] = None, ) -> "IO[Any]": ... def open( From 8a2d1d8757d77b483372d9650356db925d7e5d28 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 11 Jul 2026 09:15:24 -0700 Subject: [PATCH 05/35] Fix streaming I/O correctness and failure handling --- cloudpathlib/azure/azure_io.py | 28 ++- cloudpathlib/cloud_io.py | 69 +++++++- cloudpathlib/cloudpath.py | 30 +++- cloudpathlib/gs/gs_io.py | 7 + cloudpathlib/gs/gsclient.py | 6 +- cloudpathlib/http/http_io.py | 19 ++- cloudpathlib/http/httpclient.py | 30 ++-- cloudpathlib/s3/s3_io.py | 36 ++-- cloudpathlib/s3/s3client.py | 67 +++++++- docs/docs/streaming_io.md | 46 ++--- docs/mkdocs.yml | 1 + tests/conftest.py | 70 +------- tests/mock_clients/mock_gs.py | 4 + tests/test_cloud_io.py | 291 +++++++++++++++++++++++++++++--- 14 files changed, 541 insertions(+), 163 deletions(-) diff --git a/cloudpathlib/azure/azure_io.py b/cloudpathlib/azure/azure_io.py index 37f078e1..e23495e3 100644 --- a/cloudpathlib/azure/azure_io.py +++ b/cloudpathlib/azure/azure_io.py @@ -22,6 +22,9 @@ class _AzureBlobStorageRaw(_CloudStorageRaw): # Target block size before staging (Azure allows up to 50,000 blocks per blob) _BLOCK_SIZE = 4 * 1024 * 1024 + _MAX_BLOCK_SIZE = 4_000 * 1024 * 1024 + _MAX_BLOCKS = 50_000 + _BLOCKS_PER_SIZE_TIER = 1_000 def __init__(self, client, cloud_path, mode: str = "rb"): super().__init__(client, cloud_path, mode) @@ -48,25 +51,35 @@ def _is_eof_error(self, error: Exception) -> bool: # ---- Write support (Azure block blob upload) ---- + def _target_block_size(self) -> int: + tier = (self._part_number - 1) // self._BLOCKS_PER_SIZE_TIER + return min(self._BLOCK_SIZE * (2**tier), self._MAX_BLOCK_SIZE) + def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: if not data: return self._write_buffer.extend(data) - while len(self._write_buffer) >= self._BLOCK_SIZE: - chunk = bytes(self._write_buffer[: self._BLOCK_SIZE]) - del self._write_buffer[: self._BLOCK_SIZE] + target_block_size = self._target_block_size() + while len(self._write_buffer) >= target_block_size: + if self._part_number > self._MAX_BLOCKS: + raise OSError("Azure block upload exceeded the 50,000-block limit") + chunk = bytes(self._write_buffer[:target_block_size]) if not self._upload_id: self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) part_info = self._client._upload_part( self._cloud_path, self._upload_id, self._part_number, chunk ) + del self._write_buffer[:target_block_size] self._parts.append(part_info) self._part_number += 1 + target_block_size = self._target_block_size() def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: if self._write_buffer: + if self._part_number > self._MAX_BLOCKS: + raise OSError("Azure block upload exceeded the 50,000-block limit") if not self._upload_id: self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) part_info = self._client._upload_part( @@ -90,5 +103,14 @@ def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> Non self._parts = [] self._part_number = 1 + def _abort_upload(self) -> None: + try: + self._client._abort_multipart_upload(self._cloud_path, self._upload_id) + finally: + self._upload_id = "" + self._parts = [] + self._part_number = 1 + self._write_buffer.clear() + def close(self) -> None: super().close() diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index ad63c0cd..242f48a4 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -10,6 +10,21 @@ from abc import abstractmethod from typing import Optional, Any, Type, Union, Dict + +def _validate_file_mode(mode: str) -> None: + """Validate an ``open`` mode using the same grammar as the stdlib.""" + if not isinstance(mode, str): + raise TypeError(f"mode must be a string, not {type(mode).__name__}") + if not mode or any(character not in "rwaxbt+" for character in mode): + raise ValueError(f"invalid mode: {mode!r}") + if sum(mode.count(character) for character in "rwax") != 1: + raise ValueError("must have exactly one of create/read/write/append mode") + if mode.count("+") > 1 or mode.count("b") > 1 or mode.count("t") > 1: + raise ValueError(f"invalid mode: {mode!r}") + if "b" in mode and "t" in mode: + raise ValueError("can't have text and binary mode at once") + + # ============================================================================ # Base Raw I/O Adapter (internal) # ============================================================================ @@ -44,6 +59,7 @@ def __init__( self._pos = 0 self._size: Optional[int] = None self._closed = False + self._upload_error: Optional[BaseException] = None def readable(self) -> bool: """Return whether object was opened for reading.""" @@ -177,12 +193,18 @@ def write(self, b: bytes) -> int: # type: ignore[override] Returns: Number of bytes written """ + if self._closed: + raise ValueError("I/O operation on closed file") if not self.writable(): raise io.UnsupportedOperation("not writable") + if self._upload_error is not None: + raise self._upload_error - # Delegate to subclass implementation - # Note: Don't check _closed here because BufferedWriter may call write() during close/flush - self._upload_chunk(bytes(b), None) + try: + self._upload_chunk(bytes(b), None) + except BaseException as error: + self._upload_error = error + raise return len(b) def close(self) -> None: @@ -194,12 +216,30 @@ def close(self) -> None: self._closed = True try: + if self.writable() and self._upload_error is not None: + try: + self._abort_upload() + except Exception: + pass + finally: + raise self._upload_error if self.writable(): - self._finalize_upload(None) + try: + self._finalize_upload(None) + except BaseException: + try: + self._abort_upload() + except Exception: + pass + raise finally: # Always call parent close() to set the stdlib closed state super().close() + def _abort_upload(self) -> None: + """Best-effort cleanup after a write or finalization failure.""" + pass + @abstractmethod def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]]) -> None: """ @@ -290,11 +330,16 @@ def __init__( raw_io_class: The raw I/O class to use for this provider client: Cloud provider client instance cloud_path: CloudPath instance - mode: File mode ('rb', 'wb', 'ab', 'r+b', 'w+b', 'a+b', 'xb') + mode: Streaming file mode ('rb', 'wb', or 'xb') buffer_size: Size of read/write buffer in bytes (default 64 KiB) """ + _validate_file_mode(mode) if "b" not in mode: raise ValueError("CloudBufferedIO requires binary mode (must include 'b')") + if "a" in mode or "+" in mode: + raise io.UnsupportedOperation( + "append and update modes require the local-cache implementation" + ) # Create raw adapter using provided class raw = raw_io_class(client, cloud_path, mode) @@ -411,6 +456,7 @@ def __init__( errors: Optional[str] = None, newline: Optional[str] = None, buffer_size: int = 64 * 1024, + line_buffering: bool = False, ): """ Initialize cloud text I/O. @@ -419,14 +465,20 @@ def __init__( raw_io_class: The raw I/O class to use for this provider client: Cloud provider client instance cloud_path: CloudPath instance - mode: File mode ('rt', 'wt', 'at', 'r+t', 'w+t', 'a+t', 'xt', or same without 't') - encoding: Text encoding (default: utf-8) + mode: Streaming file mode ('rt', 'wt', 'xt', or the same without 't') + encoding: Text encoding (default: platform locale, matching ``open``) errors: Error handling strategy (default: strict) newline: Newline handling (None, '', '\\n', '\\r', '\\r\\n') buffer_size: Size of buffer in bytes + line_buffering: Flush text output whenever a newline is written """ + _validate_file_mode(mode) if "b" in mode: raise ValueError("CloudTextIO requires text mode (no 'b' in mode)") + if "a" in mode or "+" in mode: + raise io.UnsupportedOperation( + "append and update modes require the local-cache implementation" + ) # Ensure mode has 't' or is text mode if "t" not in mode and "r" in mode: @@ -448,9 +500,10 @@ def __init__( # Initialize TextIOWrapper with the buffered stream super().__init__( buffered, - encoding=encoding or "utf-8", + encoding=encoding, errors=errors, newline=newline, + line_buffering=line_buffering, ) # Store additional attributes diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 13dbecbd..6fdf22bc 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -842,6 +842,23 @@ def open( force_overwrite_to_cloud: Optional[bool] = None, # extra kwarg not in pathlib buffer_size: Optional[int] = None, # extra kwarg for streaming mode ) -> "IO[Any]": + from .cloud_io import _validate_file_mode + + _validate_file_mode(mode) + binary_mode = "b" in mode + if binary_mode and encoding is not None: + raise ValueError("binary mode doesn't take an encoding argument") + if binary_mode and errors is not None: + raise ValueError("binary mode doesn't take an errors argument") + if binary_mode and newline is not None: + raise ValueError("binary mode doesn't take a newline argument") + if not binary_mode and buffering == 0: + raise ValueError("can't have unbuffered text I/O") + if buffering < -1: + raise ValueError("invalid buffering size") + if buffer_size is not None and buffer_size <= 0: + raise ValueError("buffer_size must be greater than zero") + # if trying to call open on a directory that exists exists_on_cloud = self.exists() @@ -850,12 +867,12 @@ def open( f"Cannot open directory, only files. Tried to open ({self})" ) - if not exists_on_cloud and any(m in mode for m in ("r", "a")): + if not exists_on_cloud and "r" in mode: raise CloudPathFileNotFoundError( - f"File opened for read or append, but it does not exist on cloud: {self}" + f"File opened for read, but it does not exist on cloud: {self}" ) - if "x" in mode and self.exists(): + if "x" in mode and exists_on_cloud: raise CloudPathFileExistsError(f"Cannot open existing file ({self}) for creation.") # Use streaming I/O if file_cache_mode is streaming AND the mode is supported. @@ -876,10 +893,8 @@ def open( # Calculate buffer size from buffering or buffer_size parameter if buffer_size is None: if buffering == 0: - # Unbuffered binary mode - buffer_size = 1 # Minimal buffering - if "b" not in mode: - mode += "b" # Force binary mode for unbuffered + # A raw provider adapter is the streaming equivalent of FileIO. + return raw_io_class(self.client, self, mode) # type: ignore[return-value] elif buffering > 0: buffer_size = buffering else: @@ -904,6 +919,7 @@ def open( errors=errors, newline=newline, buffer_size=buffer_size, + line_buffering=buffering == 1, ) # Standard cached mode diff --git a/cloudpathlib/gs/gs_io.py b/cloudpathlib/gs/gs_io.py index 2cd09d9b..60d91e10 100644 --- a/cloudpathlib/gs/gs_io.py +++ b/cloudpathlib/gs/gs_io.py @@ -58,5 +58,12 @@ def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> Non # No data was written — create an empty object self._client._put_empty_object(self._cloud_path) + def _abort_upload(self) -> None: + if self._writer is not None: + try: + self._writer.terminate() + finally: + self._writer = None + def close(self) -> None: super().close() diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 5510e1ad..99e1ca6f 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -318,8 +318,8 @@ def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: """Download a byte range from GCS.""" blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) try: - # GCS end is exclusive in the API, our API is inclusive - return blob.download_as_bytes(start=start, end=end + 1) + # GCS and our internal API both use an inclusive end offset. + return blob.download_as_bytes(start=start, end=end, **self.blob_kwargs) except GCSNotFound: raise FileNotFoundError(f"GCS object not found: {cloud_path}") except Exception as e: @@ -334,7 +334,7 @@ def _get_content_length(self, cloud_path: GSPath) -> int: """Get the size of a GCS object.""" blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) try: - blob.reload() + blob.reload(**self.blob_kwargs) return blob.size except GCSNotFound: raise FileNotFoundError(f"GCS object not found: {cloud_path}") diff --git a/cloudpathlib/http/http_io.py b/cloudpathlib/http/http_io.py index 6dc1fb5d..c5af16ab 100644 --- a/cloudpathlib/http/http_io.py +++ b/cloudpathlib/http/http_io.py @@ -4,6 +4,7 @@ Provides streaming I/O for HTTP/HTTPS using range requests and single-PUT uploads. """ +import tempfile from typing import Optional, Dict, Any from ..cloud_io import _CloudStorageRaw @@ -24,7 +25,7 @@ class _HttpStorageRaw(_CloudStorageRaw): def __init__(self, client, cloud_path, mode: str = "rb"): super().__init__(client, cloud_path, mode) - self._upload_buffer: list = [] + self._upload_buffer: Any = tempfile.SpooledTemporaryFile(max_size=8 * 1024 * 1024) def _range_get(self, start: int, end: int) -> bytes: return self._client._range_download(self._cloud_path, start, end) @@ -45,13 +46,19 @@ def _is_eof_error(self, error: Exception) -> bool: def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: if not data: return - self._upload_buffer.append(data) + self._upload_buffer.write(data) def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: - # Concatenate buffered chunks (may be empty for an empty write) - complete_data = b"".join(self._upload_buffer) - self._upload_buffer.clear() - self._client._put_data(self._cloud_path, complete_data) + self._upload_buffer.seek(0, 2) + content_length = self._upload_buffer.tell() + self._upload_buffer.seek(0) + try: + self._client._put_data(self._cloud_path, self._upload_buffer, content_length) + finally: + self._upload_buffer.close() + + def _abort_upload(self) -> None: + self._upload_buffer.close() def close(self) -> None: super().close() diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 379a169b..52807b2e 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -6,7 +6,7 @@ import urllib.parse import urllib.error from pathlib import Path -from typing import Iterable, Optional, Tuple, Union, Callable +from typing import BinaryIO, Iterable, Optional, Tuple, Union, Callable import shutil import mimetypes import warnings @@ -217,12 +217,13 @@ def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes try: with self.opener.open(request) as response: status = response.status - data = response.read() if status == 206: - return data + return response.read(end - start + 1) elif status == 200: - # Server ignored the Range header; slice locally - return data[start : end + 1] + raise OSError( + f"HTTP server ignored the Range header for {cloud_path}; " + "streaming reads require byte-range support" + ) else: raise OSError(f"Unexpected status {status} for range request on {cloud_path}") except urllib.error.HTTPError as e: @@ -271,16 +272,19 @@ def _abort_multipart_upload(self, cloud_path: "HttpPath", upload_id: str) -> Non """Nothing to abort for HTTP single-PUT uploads.""" pass - def _put_data(self, cloud_path: "HttpPath", data: bytes) -> None: - """Upload data to HTTP server using a PUT request. + def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) -> None: + """Upload a file-like body using the client's configured write method. Uses self.opener so that any SSL context or auth handlers configured on this client are applied (important for HttpsClient with self-signed certs). """ url = str(cloud_path) - request = urllib.request.Request(url, data=data, method="PUT") - request.add_header("Content-Type", "application/octet-stream") - request.add_header("Content-Length", str(len(data))) + request = urllib.request.Request(url, data=data, method=self.write_file_http_method) + content_type = None + if self.content_type_method is not None: + content_type, _ = self.content_type_method(str(cloud_path)) + request.add_header("Content-Type", content_type or "application/octet-stream") + request.add_header("Content-Length", str(content_length)) try: with self.opener.open(request) as response: @@ -290,8 +294,10 @@ def _put_data(self, cloud_path: "HttpPath", data: bytes) -> None: ) except urllib.error.HTTPError as e: if e.code == 405: # Method Not Allowed - raise NotImplementedError(f"HTTP server does not support PUT requests for {url}") - raise OSError(f"HTTP PUT failed: {e}") + raise NotImplementedError( + f"HTTP server does not support {self.write_file_http_method} requests for {url}" + ) + raise OSError(f"HTTP upload failed: {e}") HttpClient.HttpPath = HttpClient.CloudPath # type: ignore diff --git a/cloudpathlib/s3/s3_io.py b/cloudpathlib/s3/s3_io.py index df0b9d50..ae151d0e 100644 --- a/cloudpathlib/s3/s3_io.py +++ b/cloudpathlib/s3/s3_io.py @@ -22,6 +22,9 @@ class _S3StorageRaw(_CloudStorageRaw): # S3 minimum part size for non-final parts: 5 MiB _MIN_PART_SIZE = 5 * 1024 * 1024 + _MAX_PART_SIZE = 5 * 1024 * 1024 * 1024 + _MAX_PARTS = 10_000 + _PARTS_PER_SIZE_TIER = 1_000 def __init__(self, client, cloud_path, mode: str = "rb"): super().__init__(client, cloud_path, mode) @@ -43,11 +46,14 @@ def _is_eof_error(self, error: Exception) -> bool: error_str = str(error) return ( "InvalidRange" in error_str - or "InvalidObjectState" in error_str or hasattr(error, "__class__") and "InvalidRange" in error.__class__.__name__ ) + def _target_part_size(self) -> int: + tier = (self._part_number - 1) // self._PARTS_PER_SIZE_TIER + return min(self._MIN_PART_SIZE * (2**tier), self._MAX_PART_SIZE) + # ---- Write support (multipart upload with 5 MiB minimum part size) ---- def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: @@ -57,20 +63,26 @@ def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = No self._write_buffer.extend(data) # Upload full-sized parts whenever we have enough buffered data - while len(self._write_buffer) >= self._MIN_PART_SIZE: - chunk = bytes(self._write_buffer[: self._MIN_PART_SIZE]) - del self._write_buffer[: self._MIN_PART_SIZE] + target_part_size = self._target_part_size() + while len(self._write_buffer) >= target_part_size: + if self._part_number > self._MAX_PARTS: + raise OSError("S3 multipart upload exceeded the 10,000-part limit") + chunk = bytes(self._write_buffer[:target_part_size]) if self._upload_id is None: self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) part_info = self._client._upload_part( self._cloud_path, self._upload_id, self._part_number, chunk ) + del self._write_buffer[:target_part_size] self._parts.append(part_info) self._part_number += 1 + target_part_size = self._target_part_size() def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: # Flush remaining buffer as the final part (exempt from 5 MiB floor) if self._write_buffer: + if self._part_number > self._MAX_PARTS: + raise OSError("S3 multipart upload exceeded the 10,000-part limit") if self._upload_id is None: self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) part_info = self._client._upload_part( @@ -88,19 +100,21 @@ def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> Non self._client._put_empty_object(self._cloud_path) return + self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) + self._upload_id = None + self._parts = [] + self._part_number = 1 + self._write_buffer.clear() + + def _abort_upload(self) -> None: try: - self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) - except Exception: - try: + if self._upload_id is not None: self._client._abort_multipart_upload(self._cloud_path, self._upload_id) - except Exception: - pass # best-effort abort - raise finally: self._upload_id = None self._parts = [] self._part_number = 1 - self._write_buffer = bytearray() + self._write_buffer.clear() def close(self) -> None: super().close() diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index 7df5fa4f..9404b9db 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -446,9 +446,66 @@ def _get_content_length(self, cloud_path: S3Path) -> int: raise FileNotFoundError(f"S3 object not found: {cloud_path}") raise + def _streaming_extra_args(self, operation_name: str) -> dict: + """Return upload extras accepted by a specific low-level S3 operation.""" + try: + operation = self.client.meta.service_model.operation_model(operation_name) + allowed = set(operation.input_shape.members) + except AttributeError: + # The test client intentionally implements only a small boto3 surface. + fallback_allowed = { + "CreateMultipartUpload": { + "ACL", + "CacheControl", + "ChecksumAlgorithm", + "ContentDisposition", + "ContentEncoding", + "ContentLanguage", + "ContentType", + "ExpectedBucketOwner", + "Expires", + "Metadata", + "ObjectLockLegalHoldStatus", + "ObjectLockMode", + "ObjectLockRetainUntilDate", + "RequestPayer", + "SSECustomerAlgorithm", + "SSECustomerKey", + "SSECustomerKeyMD5", + "SSEKMSEncryptionContext", + "SSEKMSKeyId", + "ServerSideEncryption", + "StorageClass", + "Tagging", + "WebsiteRedirectLocation", + }, + "UploadPart": { + "ChecksumAlgorithm", + "ExpectedBucketOwner", + "RequestPayer", + "SSECustomerAlgorithm", + "SSECustomerKey", + "SSECustomerKeyMD5", + }, + "CompleteMultipartUpload": { + "ChecksumCRC32", + "ChecksumCRC32C", + "ChecksumCRC64NVME", + "ChecksumSHA1", + "ChecksumSHA256", + "ChecksumType", + "ExpectedBucketOwner", + "MpuObjectSize", + "RequestPayer", + }, + "PutObject": set(self.boto3_ul_extra_args), + } + allowed = fallback_allowed[operation_name] + return {key: value for key, value in self.boto3_ul_extra_args.items() if key in allowed} + def _initiate_multipart_upload(self, cloud_path: S3Path) -> str: """Start an S3 multipart upload, threading content-type and upload extra args.""" - extra_args = self.boto3_ul_extra_args.copy() + extra_args = self._streaming_extra_args("CreateMultipartUpload") if self.content_type_method is not None: content_type, content_encoding = self.content_type_method(str(cloud_path)) if content_type is not None: @@ -472,8 +529,11 @@ def _upload_part( UploadId=upload_id, PartNumber=part_number, Body=data, + **self._streaming_extra_args("UploadPart"), ) - return {"PartNumber": part_number, "ETag": response["ETag"]} + part = {"PartNumber": part_number, "ETag": response["ETag"]} + part.update({key: value for key, value in response.items() if key.startswith("Checksum")}) + return part def _complete_multipart_upload(self, cloud_path: S3Path, upload_id: str, parts: list) -> None: """Complete an S3 multipart upload.""" @@ -482,6 +542,7 @@ def _complete_multipart_upload(self, cloud_path: S3Path, upload_id: str, parts: Key=cloud_path.key, UploadId=upload_id, MultipartUpload={"Parts": parts}, + **self._streaming_extra_args("CompleteMultipartUpload"), ) def _abort_multipart_upload(self, cloud_path: S3Path, upload_id: str) -> None: @@ -492,7 +553,7 @@ def _abort_multipart_upload(self, cloud_path: S3Path, upload_id: str) -> None: def _put_empty_object(self, cloud_path: S3Path) -> None: """Upload a zero-byte object, threading content-type and upload extra args.""" - extra_args = self.boto3_ul_extra_args.copy() + extra_args = self._streaming_extra_args("PutObject") if self.content_type_method is not None: content_type, content_encoding = self.content_type_method(str(cloud_path)) if content_type is not None: diff --git a/docs/docs/streaming_io.md b/docs/docs/streaming_io.md index e17156b5..e0fcddf6 100644 --- a/docs/docs/streaming_io.md +++ b/docs/docs/streaming_io.md @@ -1,6 +1,6 @@ # Streaming I/O -CloudPathLib provides high-performance streaming I/O capabilities for cloud storage that work seamlessly with Python's standard I/O interfaces and third-party libraries. +cloudpathlib provides streaming I/O capabilities for cloud storage through Python's standard I/O interfaces. ## Overview @@ -86,8 +86,8 @@ with path.open("rb") as f: ## API Reference -!!! important "Always use `CloudPath.open()`" - The recommended way to use streaming I/O is through `CloudPath.open()` with `FileCacheMode.streaming`. The `CloudBufferedIO` and `CloudTextIO` classes are implementation details returned by `open()` and should not be instantiated directly. +!!! tip "Prefer `CloudPath.open()`" + The usual entry point is `CloudPath.open()` with `FileCacheMode.streaming`. `CloudBufferedIO` and `CloudTextIO` are also public for integrations that need to construct a provider-backed file object directly. ### `FileCacheMode` Enum @@ -128,8 +128,8 @@ CloudPath.open( **Parameters:** - `mode`: File mode - binary (`'rb'`, `'wb'`, etc.) or text (`'r'`, `'w'`, `'rt'`, `'wt'`, etc.) -- `buffering`: Buffer size (deprecated, use `buffer_size` instead) -- `encoding`: Text encoding (default: `"utf-8"`, text mode only) +- `buffering`: Standard Python buffering control. Binary mode supports `0` for an unbuffered raw stream. +- `encoding`: Text encoding (default: platform locale, text mode only) - `errors`: Error handling strategy (default: `"strict"`, text mode only) - `newline`: Newline handling (text mode only) - `buffer_size`: Size of read/write buffer in bytes (default: 64 KiB) @@ -144,8 +144,8 @@ CloudPath.open( Binary file-like object implementing `io.BufferedIOBase`. -!!! note "Use `CloudPath.open()` instead" - **Do not instantiate `CloudBufferedIO` directly.** Always use `CloudPath.open()` with the appropriate mode and `FileCacheMode.streaming` to get streaming file objects. The streaming I/O classes are implementation details that are returned by `open()`. +!!! note "Usually returned by `CloudPath.open()`" + Most applications should let `CloudPath.open()` construct this class. Direct construction is supported when implementing file-object integrations. **Key Methods:** @@ -168,14 +168,14 @@ Binary file-like object implementing `io.BufferedIOBase`. - `readable()`: Returns True for read modes - `writable()`: Returns True for write modes -- `seekable()`: Returns True (random access supported) +- `seekable()`: Returns `True` for readable streams. Streaming writes are sequential and return `False`. ### `CloudTextIO` Text file-like object implementing `io.TextIOBase`. -!!! note "Use `CloudPath.open()` instead" - **Do not instantiate `CloudTextIO` directly.** Always use `CloudPath.open()` with text mode (e.g., `"r"`, `"rt"`, `"w"`, `"wt"`) and `FileCacheMode.streaming` to get streaming text file objects. The streaming I/O classes are implementation details that are returned by `open()`. +!!! note "Usually returned by `CloudPath.open()`" + Most applications should let `CloudPath.open()` construct this class. Direct construction is supported when implementing file-object integrations. **Key Methods:** @@ -246,7 +246,7 @@ path = S3Path("s3://bucket/data.bin", client=client) with path.open("rb") as f: header = f.read(1024) # Read first 1KB parse_header(header) - + # Seek to specific position f.seek(10000) chunk = f.read(100) @@ -370,8 +370,8 @@ For write operations, the streaming I/O system automatically handles: - **S3**: Multipart upload; non-final parts are buffered until they reach the provider minimum of **5 MiB** (S3 rejects smaller non-final parts). The final part may be smaller than 5 MiB. -- **Azure**: Block blob staging — each flushed chunk is staged as a block - and committed on close. +- **Azure**: Block blob staging — blocks grow adaptively during very large uploads + and are committed on close. - **GCS**: Resumable upload (`blob.open("wb")`) — data streams incrementally to GCS without in-memory buffering. @@ -414,7 +414,7 @@ with path.open("rt") as f: ### Google Cloud Storage - Uses GCS SDK `download_as_bytes()` with start/end for reads -- Uses `upload_from_string()` for writes +- Uses a resumable `blob.open("wb")` stream for writes - Supports GCS-specific features through client configuration ```python @@ -428,11 +428,17 @@ with path.open("rt") as f: content = f.read() ``` +### HTTP and HTTPS + +- Requires servers to honor byte-range requests for streaming reads +- Uses the client's configured `write_file_http_method` for writes +- Spools single-request upload bodies with bounded memory, using a temporary file above 8 MiB + ## Comparison with Cached Mode | Feature | Streaming (`FileCacheMode.streaming`) | Cached (default) | |---------|--------------------------------------|------------------| -| **Disk usage** | Minimal (only buffer) | Full file size | +| **Disk usage** | None for cloud providers; HTTP uploads may use a temporary spool | Full file size | | **Memory usage** | Configurable buffer | Varies | | **Read performance** | Sequential: Good
Random: Moderate | Fast (local disk) | | **Write performance** | Good (direct upload) | Fast write, slower close | @@ -660,14 +666,12 @@ Pass custom clients with specific configurations: ```python from cloudpathlib import S3Path, S3Client from cloudpathlib.enums import FileCacheMode -from botocore.config import Config - -# Custom S3 client with retry configuration +# Custom S3-compatible endpoint and upload metadata client = S3Client( file_cache_mode=FileCacheMode.streaming, - boto3_config=Config( - retries={'max_attempts': 10, 'mode': 'adaptive'} - ) + endpoint_url="https://objects.example.com", + addressing_style="path", + extra_args={"ServerSideEncryption": "AES256"}, ) path = S3Path("s3://bucket/file.txt", client=client) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index cd917ce3..1fcbd3d7 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -21,6 +21,7 @@ nav: - AnyPath: "anypath-polymorphism.md" - HTTP URLs: "http.md" - Caching: "caching.ipynb" + - Streaming I/O: "streaming_io.md" - Compatibility: "patching_builtins.ipynb" - Other Client settings: "other_client_settings.md" - Testing code that uses cloudpathlib: "testing_mocked_cloudpathlib.ipynb" diff --git a/tests/conftest.py b/tests/conftest.py index f36894e0..4feb7f40 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -25,23 +25,14 @@ from shortuuid import uuid from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_fixed -from cloudpathlib.azure import AzureBlobClient, AzureBlobPath, _AzureBlobStorageRaw -from cloudpathlib.gs import GSClient, GSPath, _GSStorageRaw -from cloudpathlib.s3 import S3Client, S3Path, _S3StorageRaw from cloudpathlib.cloudpath import implementation_registry, CloudImplementation -from cloudpathlib.http.httpclient import HttpClient, HttpsClient -from cloudpathlib.http.httppath import HttpPath, HttpsPath -from cloudpathlib.http.http_io import _HttpStorageRaw from cloudpathlib.local import ( local_azure_blob_implementation, LocalAzureBlobClient, - LocalAzureBlobPath, local_gs_implementation, LocalGSClient, - LocalGSPath, local_s3_implementation, LocalS3Client, - LocalS3Path, ) import cloudpathlib.azure.azblobclient from cloudpathlib.azure.azblobclient import _hns_rmtree @@ -423,13 +414,8 @@ def _upload(test_file, key): MockedDataLakeServiceClient, ) - azure_blob_implementation = CloudImplementation() - azure_blob_implementation._client_class = AzureBlobClient - azure_blob_implementation._path_class = AzureBlobPath - azure_blob_implementation._raw_io_class = _AzureBlobStorageRaw - rig = CloudProviderTestRig( - cloud_implementation=azure_blob_implementation, + cloud_implementation=implementation_registry["azure"], drive=drive, test_dir=test_dir, live_server=live_server, @@ -528,13 +514,8 @@ def _upload(test_file, key): ) monkeypatch.setattr(cloudpathlib.gs.gsclient, "google_default_auth", mock_default_auth) - gs_implementation = CloudImplementation() - gs_implementation._client_class = GSClient - gs_implementation._path_class = GSPath - gs_implementation._raw_io_class = _GSStorageRaw - rig = CloudProviderTestRig( - cloud_implementation=gs_implementation, + cloud_implementation=implementation_registry["gs"], drive=drive, test_dir=test_dir, live_server=live_server, @@ -582,13 +563,8 @@ def _upload(test_file, key): mocked_session_class_factory(test_dir), ) - s3_implementation = CloudImplementation() - s3_implementation._client_class = S3Client - s3_implementation._path_class = S3Path - s3_implementation._raw_io_class = _S3StorageRaw - rig = CloudProviderTestRig( - cloud_implementation=s3_implementation, + cloud_implementation=implementation_registry["s3"], drive=drive, test_dir=test_dir, live_server=live_server, @@ -645,13 +621,8 @@ def _upload(test_file, key): mocked_session_class_factory(test_dir), ) - custom_s3_implementation = CloudImplementation() - custom_s3_implementation._client_class = S3Client - custom_s3_implementation._path_class = S3Path - custom_s3_implementation._raw_io_class = _S3StorageRaw - rig = CloudProviderTestRig( - cloud_implementation=custom_s3_implementation, + cloud_implementation=implementation_registry["s3"], drive=drive, test_dir=test_dir, live_server=live_server, @@ -693,13 +664,8 @@ def local_azure_rig(request, monkeypatch, assets_dir, live_server): monkeypatch.setitem(implementation_registry, "azure", local_azure_blob_implementation) - local_azure_blob_cloud_implementation = CloudImplementation() - local_azure_blob_cloud_implementation._client_class = LocalAzureBlobClient - local_azure_blob_cloud_implementation._path_class = LocalAzureBlobPath - local_azure_blob_cloud_implementation._raw_io_class = _AzureBlobStorageRaw - rig = CloudProviderTestRig( - cloud_implementation=local_azure_blob_cloud_implementation, + cloud_implementation=local_azure_blob_implementation, drive=drive, test_dir=test_dir, ) @@ -729,13 +695,8 @@ def local_gs_rig(request, monkeypatch, assets_dir, live_server): monkeypatch.setitem(implementation_registry, "gs", local_gs_implementation) - local_gs_cloud_implementation = CloudImplementation() - local_gs_cloud_implementation._client_class = LocalGSClient - local_gs_cloud_implementation._path_class = LocalGSPath - local_gs_cloud_implementation._raw_io_class = _GSStorageRaw - rig = CloudProviderTestRig( - cloud_implementation=local_gs_cloud_implementation, + cloud_implementation=local_gs_implementation, drive=drive, test_dir=test_dir, ) @@ -764,11 +725,6 @@ def local_s3_rig(request, monkeypatch, assets_dir, live_server): monkeypatch.setitem(implementation_registry, "s3", local_s3_implementation) - local_s3_cloud_implementation = CloudImplementation() - local_s3_cloud_implementation._client_class = LocalS3Client - local_s3_cloud_implementation._path_class = LocalS3Path - local_s3_cloud_implementation._raw_io_class = _S3StorageRaw - rig = CloudProviderTestRig( cloud_implementation=local_s3_implementation, drive=drive, @@ -810,13 +766,8 @@ def http_rig(request, assets_dir, http_server): # noqa: F811 shutil.copytree(assets_dir, server_dir / test_dir) _sync_filesystem() - http_implementation = CloudImplementation() - http_implementation._client_class = HttpClient - http_implementation._path_class = HttpPath - http_implementation._raw_io_class = _HttpStorageRaw - rig = CloudProviderTestRig( - cloud_implementation=http_implementation, + cloud_implementation=implementation_registry["http"], drive=drive, test_dir=test_dir, ) @@ -849,13 +800,8 @@ def https_rig(request, assets_dir, https_server): # noqa: F811 skip_verify_ctx.check_hostname = False skip_verify_ctx.load_verify_locations(utilities_dir / "insecure-test.pem") - https_implementation = CloudImplementation() - https_implementation._client_class = HttpsClient - https_implementation._path_class = HttpsPath - https_implementation._raw_io_class = _HttpStorageRaw - rig = CloudProviderTestRig( - cloud_implementation=https_implementation, + cloud_implementation=implementation_registry["https"], drive=drive, test_dir=test_dir, required_client_kwargs=dict( diff --git a/tests/mock_clients/mock_gs.py b/tests/mock_clients/mock_gs.py index d56bb9ee..165034ba 100644 --- a/tests/mock_clients/mock_gs.py +++ b/tests/mock_clients/mock_gs.py @@ -202,6 +202,10 @@ def close(self) -> None: self._closed = True self._blob.upload_from_string(bytes(self._buf)) + def terminate(self) -> None: + self._closed = True + self._buf.clear() + def __enter__(self): return self diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 353362f5..56517724 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -195,7 +195,7 @@ def test_buffered_io_context_manager(temp_cloud_binary_file): def test_write_binary_stream(rig): """Test writing binary data via streaming.""" # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") path = rig.create_cloud_path("test_write_binary.bin") @@ -230,7 +230,7 @@ def test_write_binary_stream(rig): def test_write_chunks(rig): """Test writing data in chunks.""" # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") path = rig.create_cloud_path("test_write_chunks.bin") @@ -389,7 +389,7 @@ def test_text_properties(temp_cloud_file): def test_write_text_stream(rig): """Test writing text data via streaming.""" # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") path = rig.create_cloud_path("test_write_text.txt") @@ -655,7 +655,7 @@ def test_empty_file_read(rig): def test_empty_file_write(rig): """Test writing an empty file.""" # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): + if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") path = rig.create_cloud_path("test_empty_write.txt") @@ -996,25 +996,42 @@ def test_write_empty_chunks(rig): def test_write_error_cleanup(rig): - """Test that write errors are handled gracefully.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + """A failed part upload must abort rather than commit earlier parts.""" + if rig.path_class.cloud_prefix != "s3://": + pytest.skip("S3-specific failure injection") - # This test just verifies that writing and closing work correctly - # The error handling paths are tested by the actual upload implementations path = rig.create_cloud_path("test_error_cleanup.bin") + original_upload_part = path.client._upload_part + original_abort = path.client._abort_multipart_upload + abort_calls = [] + + def fail_second_part(cloud_path, upload_id, part_number, data): + if part_number == 2: + raise RuntimeError("simulated part failure") + return original_upload_part(cloud_path, upload_id, part_number, data) + + def record_abort(cloud_path, upload_id): + abort_calls.append(upload_id) + return original_abort(cloud_path, upload_id) try: original_mode = path.client.file_cache_mode path.client.file_cache_mode = FileCacheMode.streaming + path.client._upload_part = fail_second_part + path.client._abort_multipart_upload = record_abort - # Write some data successfully - with path.open(mode="wb") as f: - f.write(b"test data") + stream = path.open(mode="wb") + with pytest.raises(RuntimeError, match="simulated part failure"): + stream.write(b"x" * (11 * 1024 * 1024)) + with pytest.raises(RuntimeError, match="simulated part failure"): + stream.close() - path.client.file_cache_mode = original_mode - assert path.read_bytes() == b"test data" + assert len(abort_calls) == 1 + assert not path.exists() finally: + path.client._upload_part = original_upload_part + path.client._abort_multipart_upload = original_abort + path.client.file_cache_mode = original_mode try: path.unlink() except Exception: @@ -1026,9 +1043,17 @@ def test_http_write_empty_file(rig): if rig.path_class.cloud_prefix not in ("http://", "https://"): pytest.skip("Test is specific to HTTP/HTTPS") - # HTTP writes aren't fully supported in tests, but we can test the code path - # Skip for now since HTTP test server doesn't support PUT - pytest.skip("HTTP write not supported by test server") + path = rig.create_cloud_path("test_http_empty.bin") + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + try: + with path.open("wb"): + pass + path.client.file_cache_mode = original_mode + assert path.read_bytes() == b"" + finally: + path.client.file_cache_mode = original_mode + path.unlink(missing_ok=True) def test_seek_from_end_without_size(rig, monkeypatch): @@ -1236,6 +1261,17 @@ def test_append_mode_uses_cache_fallback(rig): pass +def test_append_mode_creates_missing_file(local_s3_rig): + path = local_s3_rig.create_cloud_path("new-append.txt") + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open("a") as stream: + stream.write("created") + + path.client.file_cache_mode = FileCacheMode.cloudpath_object + assert path.read_text() == "created" + + def test_rplus_mode_uses_cache_fallback(rig): """r+b mode with streaming file_cache_mode must fall back to the cached path.""" if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): @@ -1393,20 +1429,24 @@ def write_path(path, data): # M6/M7 — custom Client without raw_io_class still instantiates in cached mode -def test_custom_client_without_raw_io_class_instantiates(rig): - """A CloudImplementation with no raw_io_class must not raise IncompleteImplementationError.""" +def test_custom_client_without_raw_io_class_instantiates(local_s3_rig, monkeypatch): + """A cached custom provider need not implement the optional streaming hooks.""" from cloudpathlib.cloudpath import CloudImplementation - from cloudpathlib.local.localclient import LocalClient - from cloudpathlib.local.localpath import LocalPath minimal = CloudImplementation() - minimal._client_class = LocalClient - minimal._path_class = LocalPath - minimal._raw_io_class = None # no streaming + minimal.name = "minimal" + minimal._client_class = local_s3_rig.client_class + minimal._path_class = local_s3_rig.path_class + minimal._raw_io_class = None + monkeypatch.setattr(local_s3_rig.path_class, "_cloud_meta", minimal) - # Must not raise - minimal.validate_completeness() - assert minimal.raw_io_class is None + path = local_s3_rig.create_cloud_path("no-raw-io.txt") + path.write_text("cached") + assert path.read_text() == "cached" + + path.client.file_cache_mode = FileCacheMode.streaming + with pytest.raises(NotImplementedError, match="Streaming I/O is not implemented"): + path.open("r") # M5 — HTTP range reads return the correct slice @@ -1434,3 +1474,200 @@ def test_http_range_read_returns_correct_bytes(rig): path.unlink() except Exception: pass + + +@pytest.mark.parametrize("mode", ["", "rw", "rr", "r++", "rbt", "q"]) +def test_streaming_open_rejects_invalid_modes_without_mutating(local_s3_rig, mode): + path = local_s3_rig.create_cloud_path("invalid-mode.txt") + path.write_text("preserve me") + path.client.file_cache_mode = FileCacheMode.streaming + + with pytest.raises(ValueError): + path.open(mode) + + path.client.file_cache_mode = FileCacheMode.cloudpath_object + assert path.read_text() == "preserve me" + + +@pytest.mark.parametrize( + "keyword,value,message", + [ + ("encoding", "utf-8", "encoding"), + ("errors", "ignore", "errors"), + ("newline", "", "newline"), + ], +) +def test_streaming_binary_mode_rejects_text_arguments(local_s3_rig, keyword, value, message): + path = local_s3_rig.create_cloud_path("binary-arguments.bin") + path.write_bytes(b"data") + path.client.file_cache_mode = FileCacheMode.streaming + + with pytest.raises(ValueError, match=message): + path.open("rb", **{keyword: value}) + + +def test_streaming_text_mode_rejects_unbuffered_io(local_s3_rig): + path = local_s3_rig.create_cloud_path("unbuffered.txt") + path.write_text("data") + path.client.file_cache_mode = FileCacheMode.streaming + + with pytest.raises(ValueError, match="unbuffered text"): + path.open("r", buffering=0) + + +def test_streaming_text_mode_honors_line_buffering(local_s3_rig): + path = local_s3_rig.create_cloud_path("line-buffered.txt") + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open("w", buffering=1) as stream: + assert stream.line_buffering + stream.write("line\n") + + +def test_streaming_binary_mode_supports_unbuffered_io(local_s3_rig): + path = local_s3_rig.create_cloud_path("unbuffered.bin") + path.write_bytes(b"data") + path.client.file_cache_mode = FileCacheMode.streaming + + with path.open("rb", buffering=0) as stream: + assert isinstance(stream, io.RawIOBase) + assert stream.read() == b"data" + + +def test_s3_streaming_routes_extra_args_by_operation(s3_rig): + path = s3_rig.create_cloud_path("streaming-extra-args.bin") + client = path.client + original_extra_args = client.boto3_ul_extra_args + original_create = client.client.create_multipart_upload + original_upload = client.client.upload_part + original_complete = client.client.complete_multipart_upload + calls = {} + + def record_create(**kwargs): + calls["create"] = kwargs.copy() + return original_create(**kwargs) + + def record_upload(**kwargs): + calls["upload"] = kwargs.copy() + return original_upload(**kwargs) + + def record_complete(**kwargs): + calls["complete"] = kwargs.copy() + return original_complete(**kwargs) + + client.boto3_ul_extra_args = { + "ChecksumCRC32": "whole-object-checksum", + "SSECustomerAlgorithm": "AES256", + "SSECustomerKey": "secret", + } + client.client.create_multipart_upload = record_create + client.client.upload_part = record_upload + client.client.complete_multipart_upload = record_complete + client.file_cache_mode = FileCacheMode.streaming + try: + with path.open("wb") as stream: + stream.write(b"x" * (6 * 1024 * 1024)) + + assert "ChecksumCRC32" not in calls["create"] + assert calls["create"]["SSECustomerKey"] == "secret" + assert calls["upload"]["SSECustomerKey"] == "secret" + assert calls["complete"]["ChecksumCRC32"] == "whole-object-checksum" + finally: + client.boto3_ul_extra_args = original_extra_args + client.client.create_multipart_upload = original_create + client.client.upload_part = original_upload + client.client.complete_multipart_upload = original_complete + path.unlink(missing_ok=True) + + +def test_gs_streaming_range_is_inclusive_and_forwards_options(gs_rig, monkeypatch): + from tests.mock_clients.mock_gs import MockBlob + + path = gs_rig.create_cloud_path("range-options.bin") + path.write_bytes(b"0123456789") + calls = {} + + def record_download(self, start=None, end=None, **kwargs): + calls.update(start=start, end=end, **kwargs) + return b"2345" + + monkeypatch.setattr(MockBlob, "download_as_bytes", record_download) + retry = object() + original_kwargs = path.client.blob_kwargs + path.client.blob_kwargs = {"timeout": 12, "retry": retry} + try: + assert path.client._range_download(path, 2, 5) == b"2345" + assert calls == {"start": 2, "end": 5, "timeout": 12, "retry": retry} + finally: + path.client.blob_kwargs = original_kwargs + + +def test_http_streaming_rejects_servers_that_ignore_ranges(http_rig, monkeypatch): + class FullResponse(io.BytesIO): + status = 200 + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def ignore_range(request): + assert request.headers["Range"] == "bytes=2-5" + return FullResponse(b"0123456789") + + path = http_rig.create_cloud_path("ignored-range.bin") + monkeypatch.setattr(path.client.opener, "open", ignore_range) + + with pytest.raises(OSError, match="ignored the Range header"): + path.client._range_download(path, 2, 5) + + +def test_http_streaming_upload_uses_client_configuration(http_rig, monkeypatch): + class CreatedResponse: + status = 201 + + def __enter__(self): + return self + + def __exit__(self, *args): + pass + + calls = {} + + def record_request(request): + calls["request"] = request + calls["body"] = request.data.read() + return CreatedResponse() + + path = http_rig.create_cloud_path("configured.txt") + path.client.write_file_http_method = "PATCH" + monkeypatch.setattr(path.client.opener, "open", record_request) + path.client._put_data(path, io.BytesIO(b"abc"), 3) + + request = calls["request"] + assert request.method == "PATCH" + assert request.headers["Content-type"] == "text/plain" + assert request.headers["Content-length"] == "3" + assert calls["body"] == b"abc" + + +def test_provider_part_sizes_grow_for_large_streams(): + from cloudpathlib.azure.azure_io import _AzureBlobStorageRaw + from cloudpathlib.s3.s3_io import _S3StorageRaw + + s3_raw = object.__new__(_S3StorageRaw) + s3_raw._closed = True + s3_raw._part_number = s3_raw._PARTS_PER_SIZE_TIER + 1 + assert s3_raw._target_part_size() == 2 * s3_raw._MIN_PART_SIZE + + azure_raw = object.__new__(_AzureBlobStorageRaw) + azure_raw._closed = True + azure_raw._part_number = azure_raw._BLOCKS_PER_SIZE_TIER + 1 + assert azure_raw._target_block_size() == 2 * azure_raw._BLOCK_SIZE + + +def test_s3_invalid_object_state_is_not_eof(s3_rig): + path = s3_rig.create_cloud_path("archived.bin") + raw = path._cloud_meta.raw_io_class(path.client, path, "rb") + assert not raw._is_eof_error(Exception("InvalidObjectState")) From ecbfd461f9920229ce27269e5c5f0f1157739308 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 11 Jul 2026 09:21:40 -0700 Subject: [PATCH 06/35] Fix adaptive part size test portability --- cloudpathlib/azure/azure_io.py | 8 ++++++-- cloudpathlib/s3/s3_io.py | 8 ++++++-- tests/test_cloud_io.py | 18 +++++++++--------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/cloudpathlib/azure/azure_io.py b/cloudpathlib/azure/azure_io.py index e23495e3..8bcccaa4 100644 --- a/cloudpathlib/azure/azure_io.py +++ b/cloudpathlib/azure/azure_io.py @@ -51,9 +51,13 @@ def _is_eof_error(self, error: Exception) -> bool: # ---- Write support (Azure block blob upload) ---- + @classmethod + def _block_size_for_number(cls, block_number: int) -> int: + tier = (block_number - 1) // cls._BLOCKS_PER_SIZE_TIER + return min(cls._BLOCK_SIZE * (2**tier), cls._MAX_BLOCK_SIZE) + def _target_block_size(self) -> int: - tier = (self._part_number - 1) // self._BLOCKS_PER_SIZE_TIER - return min(self._BLOCK_SIZE * (2**tier), self._MAX_BLOCK_SIZE) + return self._block_size_for_number(self._part_number) def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: if not data: diff --git a/cloudpathlib/s3/s3_io.py b/cloudpathlib/s3/s3_io.py index ae151d0e..9d7d0509 100644 --- a/cloudpathlib/s3/s3_io.py +++ b/cloudpathlib/s3/s3_io.py @@ -50,9 +50,13 @@ def _is_eof_error(self, error: Exception) -> bool: and "InvalidRange" in error.__class__.__name__ ) + @classmethod + def _part_size_for_number(cls, part_number: int) -> int: + tier = (part_number - 1) // cls._PARTS_PER_SIZE_TIER + return min(cls._MIN_PART_SIZE * (2**tier), cls._MAX_PART_SIZE) + def _target_part_size(self) -> int: - tier = (self._part_number - 1) // self._PARTS_PER_SIZE_TIER - return min(self._MIN_PART_SIZE * (2**tier), self._MAX_PART_SIZE) + return self._part_size_for_number(self._part_number) # ---- Write support (multipart upload with 5 MiB minimum part size) ---- diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 56517724..b4637a69 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1656,15 +1656,15 @@ def test_provider_part_sizes_grow_for_large_streams(): from cloudpathlib.azure.azure_io import _AzureBlobStorageRaw from cloudpathlib.s3.s3_io import _S3StorageRaw - s3_raw = object.__new__(_S3StorageRaw) - s3_raw._closed = True - s3_raw._part_number = s3_raw._PARTS_PER_SIZE_TIER + 1 - assert s3_raw._target_part_size() == 2 * s3_raw._MIN_PART_SIZE - - azure_raw = object.__new__(_AzureBlobStorageRaw) - azure_raw._closed = True - azure_raw._part_number = azure_raw._BLOCKS_PER_SIZE_TIER + 1 - assert azure_raw._target_block_size() == 2 * azure_raw._BLOCK_SIZE + assert ( + _S3StorageRaw._part_size_for_number(_S3StorageRaw._PARTS_PER_SIZE_TIER + 1) + == 2 * _S3StorageRaw._MIN_PART_SIZE + ) + + assert ( + _AzureBlobStorageRaw._block_size_for_number(_AzureBlobStorageRaw._BLOCKS_PER_SIZE_TIER + 1) + == 2 * _AzureBlobStorageRaw._BLOCK_SIZE + ) def test_s3_invalid_object_state_is_not_eof(s3_rig): From eb854a8048c5556bc5cc7fc0525a01061533ddb2 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 11 Jul 2026 09:47:50 -0700 Subject: [PATCH 07/35] Refactor streaming I/O abstractions --- cloudpathlib/azure/azblobclient.py | 53 ++--- cloudpathlib/azure/azure_io.py | 125 ++--------- cloudpathlib/client.py | 119 +++++------ cloudpathlib/cloud_io.py | 332 ++++++++++++----------------- cloudpathlib/gs/gs_io.py | 62 ++---- cloudpathlib/gs/gsclient.py | 15 +- cloudpathlib/http/http_io.py | 64 ++---- cloudpathlib/http/httpclient.py | 44 +--- cloudpathlib/local/localclient.py | 69 +++--- cloudpathlib/s3/s3_io.py | 123 +---------- cloudpathlib/s3/s3client.py | 32 ++- tests/test_cloud_io.py | 2 +- 12 files changed, 328 insertions(+), 712 deletions(-) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index eca65106..3a78fbe5 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -4,9 +4,9 @@ import os from http import HTTPStatus from pathlib import Path -from typing import Any, Callable, Dict, Iterable, Optional, Tuple, Union, cast +from typing import Any, Callable, Dict, Iterable, Optional, Sequence, Tuple, Union, cast -from ..client import Client, register_client_class +from ..client import Client, _UploadPart, register_client_class from ..cloudpath import implementation_registry from ..enums import FileCacheMode from ..exceptions import MissingCredentialsError @@ -492,8 +492,6 @@ def _generate_presigned_url( url = f"{self._get_public_url(cloud_path)}?{sas_token}" return url - # ====================== STREAMING I/O METHODS ====================== - def _range_download(self, cloud_path: AzureBlobPath, start: int, end: int) -> bytes: """Download a byte range from Azure Blob Storage.""" blob_client = self.service_client.get_blob_client( @@ -522,48 +520,46 @@ def _get_content_length(self, cloud_path: AzureBlobPath) -> int: raise FileNotFoundError(f"Azure blob not found: {cloud_path}") def _initiate_multipart_upload(self, cloud_path: AzureBlobPath) -> str: - """Start an Azure block blob upload. - - Azure doesn't need explicit initialization; return empty string. - """ + """Return the stateless Azure upload ID.""" return "" def _upload_part( self, cloud_path: AzureBlobPath, upload_id: str, part_number: int, data: bytes - ) -> dict: + ) -> _UploadPart: """Upload a block in an Azure block blob upload.""" import base64 blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob ) - # Azure uses base64-encoded block IDs block_id = base64.b64encode(f"block-{part_number:06d}".encode()).decode() blob_client.stage_block(block_id=block_id, data=data, length=len(data)) return {"block_id": block_id} def _complete_multipart_upload( - self, cloud_path: AzureBlobPath, upload_id: str, parts: list + self, cloud_path: AzureBlobPath, upload_id: str, parts: Sequence[_UploadPart] ) -> None: """Commit an Azure block blob upload, threading content-type.""" blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob ) block_ids = [part["block_id"] for part in parts] - content_settings = None - if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(cloud_path)) - if content_type or content_encoding: - content_settings = ContentSettings( - content_type=content_type, content_encoding=content_encoding - ) - blob_client.commit_block_list(block_ids, content_settings=content_settings) + blob_client.commit_block_list( + block_ids, content_settings=self._streaming_content_settings(cloud_path) + ) - def _abort_multipart_upload(self, cloud_path: AzureBlobPath, upload_id: str) -> None: - """Abort an Azure block blob upload. + def _streaming_content_settings( + self, cloud_path: AzureBlobPath + ) -> Optional["ContentSettings"]: + if self.content_type_method is None: + return None + content_type, content_encoding = self.content_type_method(str(cloud_path)) + if not content_type and not content_encoding: + return None + return ContentSettings(content_type=content_type, content_encoding=content_encoding) - Azure automatically expires uncommitted blocks; nothing explicit to do. - """ + def _abort_multipart_upload(self, cloud_path: AzureBlobPath, upload_id: str) -> None: + """Let Azure expire uncommitted blocks.""" pass def _put_empty_object(self, cloud_path: AzureBlobPath) -> None: @@ -571,14 +567,9 @@ def _put_empty_object(self, cloud_path: AzureBlobPath) -> None: blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob ) - content_settings = None - if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(cloud_path)) - if content_type or content_encoding: - content_settings = ContentSettings( - content_type=content_type, content_encoding=content_encoding - ) - blob_client.upload_blob(b"", overwrite=True, content_settings=content_settings) + blob_client.upload_blob( + b"", overwrite=True, content_settings=self._streaming_content_settings(cloud_path) + ) def _hns_rmtree(data_lake_client, container, directory): diff --git a/cloudpathlib/azure/azure_io.py b/cloudpathlib/azure/azure_io.py index 8bcccaa4..ee68fe3a 100644 --- a/cloudpathlib/azure/azure_io.py +++ b/cloudpathlib/azure/azure_io.py @@ -1,120 +1,23 @@ -""" -Azure Blob Storage-specific streaming I/O implementations. +"""Azure Blob Storage streaming I/O.""" -Provides efficient streaming I/O for Azure using range requests and block uploads. -""" - -from typing import Optional, Dict, Any - -from ..cloud_io import _CloudStorageRaw +from ..cloud_io import _CloudMultipartStorageRaw from ..cloudpath import register_raw_io_class @register_raw_io_class("azure") -class _AzureBlobStorageRaw(_CloudStorageRaw): - """ - Azure Blob Storage-specific raw I/O adapter. - - Implements efficient range-based reads and block blob uploads for Azure. - Writes are accumulated and staged in larger blocks to stay under Azure's - 50,000 committed-block limit per blob. - """ - - # Target block size before staging (Azure allows up to 50,000 blocks per blob) - _BLOCK_SIZE = 4 * 1024 * 1024 - _MAX_BLOCK_SIZE = 4_000 * 1024 * 1024 - _MAX_BLOCKS = 50_000 +class _AzureBlobStorageRaw(_CloudMultipartStorageRaw): + """Azure range reads and block writes.""" + + # Azure permits at most 50,000 committed blocks. + _INITIAL_PART_SIZE = 4 * 1024 * 1024 + _BLOCK_SIZE = _INITIAL_PART_SIZE + _MAX_PART_SIZE = 4_000 * 1024 * 1024 + _MAX_BLOCK_SIZE = _MAX_PART_SIZE + _MAX_PARTS = 50_000 _BLOCKS_PER_SIZE_TIER = 1_000 - - def __init__(self, client, cloud_path, mode: str = "rb"): - super().__init__(client, cloud_path, mode) - - # Block blob upload state - self._upload_id: str = "" # Azure doesn't use upload IDs - self._parts: list = [] - self._part_number: int = 1 - self._write_buffer: bytearray = bytearray() - - def _range_get(self, start: int, end: int) -> bytes: - return self._client._range_download(self._cloud_path, start, end) - - def _get_size(self) -> int: - return self._client._get_content_length(self._cloud_path) - - def _is_eof_error(self, error: Exception) -> bool: - error_str = str(error) - if "InvalidRange" in error_str or "out of range" in error_str.lower(): - return True - if hasattr(error, "error_code") and error.error_code == "InvalidRange": - return True - return False - - # ---- Write support (Azure block blob upload) ---- + _PARTS_PER_SIZE_TIER = _BLOCKS_PER_SIZE_TIER + _PROVIDER_NAME = "Azure block" @classmethod def _block_size_for_number(cls, block_number: int) -> int: - tier = (block_number - 1) // cls._BLOCKS_PER_SIZE_TIER - return min(cls._BLOCK_SIZE * (2**tier), cls._MAX_BLOCK_SIZE) - - def _target_block_size(self) -> int: - return self._block_size_for_number(self._part_number) - - def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: - if not data: - return - - self._write_buffer.extend(data) - - target_block_size = self._target_block_size() - while len(self._write_buffer) >= target_block_size: - if self._part_number > self._MAX_BLOCKS: - raise OSError("Azure block upload exceeded the 50,000-block limit") - chunk = bytes(self._write_buffer[:target_block_size]) - if not self._upload_id: - self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) - part_info = self._client._upload_part( - self._cloud_path, self._upload_id, self._part_number, chunk - ) - del self._write_buffer[:target_block_size] - self._parts.append(part_info) - self._part_number += 1 - target_block_size = self._target_block_size() - - def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: - if self._write_buffer: - if self._part_number > self._MAX_BLOCKS: - raise OSError("Azure block upload exceeded the 50,000-block limit") - if not self._upload_id: - self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) - part_info = self._client._upload_part( - self._cloud_path, - self._upload_id, - self._part_number, - bytes(self._write_buffer), - ) - self._parts.append(part_info) - self._write_buffer.clear() - - if not self._parts: - # No blocks staged — create an empty blob directly - self._client._put_empty_object(self._cloud_path) - return - - try: - self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) - finally: - self._upload_id = "" - self._parts = [] - self._part_number = 1 - - def _abort_upload(self) -> None: - try: - self._client._abort_multipart_upload(self._cloud_path, self._upload_id) - finally: - self._upload_id = "" - self._parts = [] - self._part_number = 1 - self._write_buffer.clear() - - def close(self) -> None: - super().close() + return cls._part_size_for_number(block_number) diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index 37306ce5..86a7a9d9 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -4,13 +4,35 @@ from pathlib import Path import shutil from tempfile import TemporaryDirectory -from typing import ClassVar, Generic, Callable, Iterable, Optional, Tuple, TypeVar, Union +from typing import ( + Any, + Callable, + ClassVar, + Dict, + Generic, + Iterable, + Optional, + Protocol, + Sequence, + Tuple, + TypeVar, + Union, +) from .cloudpath import CloudImplementation, CloudPath, implementation_registry from .enums import FileCacheMode from .exceptions import InvalidConfigurationException BoundedCloudPath = TypeVar("BoundedCloudPath", bound=CloudPath) +_UploadPart = Dict[str, Any] + + +class _CloudWriteStream(Protocol): + def write(self, data: bytes) -> int: ... + + def close(self) -> None: ... + + def terminate(self) -> None: ... def register_client_class(key: str) -> Callable: @@ -34,7 +56,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, - ): + ) -> None: self.file_cache_mode = None self._cache_tmp_dir = None self._cloud_meta.validate_completeness() @@ -185,99 +207,64 @@ def _generate_presigned_url( ) -> str: pass - # ====================== STREAMING I/O METHODS ====================== - # Methods to support efficient streaming without local caching. - # Default implementations raise NotImplementedError so that existing Client - # subclasses that don't implement streaming still instantiate normally. - # Providers override as needed. - def _range_download(self, cloud_path: BoundedCloudPath, start: int, end: int) -> bytes: - """Download a byte range from cloud storage. - - Args: - cloud_path: Path to download from - start: Start byte position (inclusive) - end: End byte position (inclusive) - - Returns: - Bytes in the requested range - - Raises: - FileNotFoundError: If object doesn't exist - """ + """Download an inclusive byte range.""" raise NotImplementedError( f"{type(self).__name__} does not support streaming I/O (_range_download). " "Implement this method or use a non-streaming file_cache_mode." ) def _get_content_length(self, cloud_path: BoundedCloudPath) -> int: - """Get the size of an object without downloading it. - - Args: - cloud_path: Path to query - - Returns: - Size in bytes - - Raises: - FileNotFoundError: If object doesn't exist - """ + """Return object size without downloading it.""" raise NotImplementedError( f"{type(self).__name__} does not support streaming I/O (_get_content_length)." ) def _initiate_multipart_upload(self, cloud_path: BoundedCloudPath) -> str: - """Start a multipart/chunked upload session. - - Args: - cloud_path: Destination path - - Returns: - Upload session ID/handle (provider-specific, may be empty string) - """ + """Start a multipart upload.""" raise NotImplementedError( f"{type(self).__name__} does not support streaming I/O (_initiate_multipart_upload)." ) def _upload_part( self, cloud_path: BoundedCloudPath, upload_id: str, part_number: int, data: bytes - ) -> dict: - """Upload a single part/chunk in a multipart upload. - - Args: - cloud_path: Destination path - upload_id: Upload session ID from _initiate_multipart_upload - part_number: Sequential part number (1-indexed) - data: Bytes to upload - - Returns: - Provider-specific metadata needed for finalization - """ + ) -> _UploadPart: + """Upload one part.""" raise NotImplementedError( f"{type(self).__name__} does not support streaming I/O (_upload_part)." ) def _complete_multipart_upload( - self, cloud_path: BoundedCloudPath, upload_id: str, parts: list + self, cloud_path: BoundedCloudPath, upload_id: str, parts: Sequence[_UploadPart] ) -> None: - """Finalize a multipart upload. - - Args: - cloud_path: Destination path - upload_id: Upload session ID - parts: List of part metadata from _upload_part calls - """ + """Complete a multipart upload.""" raise NotImplementedError( f"{type(self).__name__} does not support streaming I/O (_complete_multipart_upload)." ) def _abort_multipart_upload(self, cloud_path: BoundedCloudPath, upload_id: str) -> None: - """Cancel a multipart upload and clean up. - - Args: - cloud_path: Destination path - upload_id: Upload session ID - """ + """Abort a multipart upload.""" raise NotImplementedError( f"{type(self).__name__} does not support streaming I/O (_abort_multipart_upload)." ) + + def _open_write_stream(self, cloud_path: BoundedCloudPath) -> _CloudWriteStream: + """Open a provider write stream.""" + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_open_write_stream)." + ) + + def _write_stream(self, stream: _CloudWriteStream, data: bytes) -> int: + return stream.write(data) + + def _close_write_stream(self, stream: _CloudWriteStream) -> None: + stream.close() + + def _abort_write_stream(self, stream: _CloudWriteStream) -> None: + stream.terminate() + + def _put_empty_object(self, cloud_path: BoundedCloudPath) -> None: + """Create an empty object.""" + raise NotImplementedError( + f"{type(self).__name__} does not support streaming I/O (_put_empty_object)." + ) diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 242f48a4..6c1d0893 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -1,14 +1,21 @@ -""" -Cloud storage streaming I/O implementations. +"""Buffered cloud I/O without a local cache.""" -Provides BufferedIOBase and TextIOBase compliant file-like objects for cloud storage -that support efficient streaming with range requests and multipart uploads, without -requiring full local caching. -""" +from __future__ import annotations import io from abc import abstractmethod -from typing import Optional, Any, Type, Union, Dict +from types import TracebackType +from typing import TYPE_CHECKING, Any, Optional, Type, Union + +if TYPE_CHECKING: + from _typeshed import ReadableBuffer as _ReadableBuffer + from _typeshed import WriteableBuffer as _WriteableBuffer +else: + _ReadableBuffer = Union[bytes, bytearray, memoryview] + _WriteableBuffer = Union[bytearray, memoryview] + +from .client import Client +from .cloudpath import CloudPath def _validate_file_mode(mode: str) -> None: @@ -25,33 +32,15 @@ def _validate_file_mode(mode: str) -> None: raise ValueError("can't have text and binary mode at once") -# ============================================================================ -# Base Raw I/O Adapter (internal) -# ============================================================================ - - class _CloudStorageRaw(io.RawIOBase): - """ - Internal raw I/O adapter for cloud storage objects. - - Implements efficient range-based reads using cloud provider APIs. - Not exposed to users - internal implementation detail. - """ + """Raw adapter backed by client streaming hooks.""" def __init__( self, - client: Any, - cloud_path: Any, + client: Client, + cloud_path: CloudPath, mode: str = "rb", - ): - """ - Initialize raw cloud storage adapter. - - Args: - client: Cloud provider client (S3Client, AzureBlobClient, etc.) - cloud_path: CloudPath instance - mode: File mode (currently only read modes supported in base) - """ + ) -> None: super().__init__() self._client = client self._cloud_path = cloud_path @@ -76,64 +65,42 @@ def seekable(self) -> bool: """ return self.readable() - def readinto(self, b: bytearray) -> int: # type: ignore[override] - """ - Read bytes into a pre-allocated buffer. - - Args: - b: Buffer to read data into - - Returns: - Number of bytes read (0 at EOF) - """ + def readinto(self, b: _WriteableBuffer, /) -> int: if self._closed: raise ValueError("I/O operation on closed file") if not self.readable(): raise io.UnsupportedOperation("not readable") - if len(b) == 0: + view = memoryview(b).cast("B") + if len(view) == 0: return 0 - # Calculate range to fetch start = self._pos - end = start + len(b) - 1 + end = start + len(view) - 1 - # Clamp end to file size if known (prevents 416 errors) if self._size is None: try: self._size = self._get_size() except Exception: - # If we can't get size, try the request anyway pass if self._size is not None and end >= self._size: - # Clamp to last valid byte end = self._size - 1 if start >= self._size: - # Already at EOF return 0 - # Fetch data from cloud storage try: data = self._range_get(start, end) except Exception as e: - # If we get an error reading beyond EOF, treat as EOF if self._is_eof_error(e): return 0 raise - # Copy data into buffer n = len(data) if n == 0: return 0 - # Ensure we don't write more than the buffer can hold - n = min(n, len(b)) - - try: - b[:n] = data[:n] - except (ValueError, TypeError): - # Fall back to memoryview-based copy for non-contiguous buffer shapes - memoryview(b).cast("B")[:n] = data[:n] + n = min(n, len(view)) + view[:n] = data[:n] self._pos += n return n @@ -180,19 +147,7 @@ def tell(self) -> int: raise ValueError("I/O operation on closed file") return self._pos - def write(self, b: bytes) -> int: # type: ignore[override] - """ - Write bytes to the stream. - - This method is required by RawIOBase for writable streams. - The actual implementation is delegated to subclasses via _upload_chunk. - - Args: - b: Bytes to write - - Returns: - Number of bytes written - """ + def write(self, b: _ReadableBuffer, /) -> int: if self._closed: raise ValueError("I/O operation on closed file") if not self.writable(): @@ -200,19 +155,19 @@ def write(self, b: bytes) -> int: # type: ignore[override] if self._upload_error is not None: raise self._upload_error + data = bytes(b) try: - self._upload_chunk(bytes(b), None) + self._upload_chunk(data) except BaseException as error: self._upload_error = error raise - return len(b) + return len(data) def close(self) -> None: """Close the file.""" if self._closed: return - # Mark as closed FIRST to prevent recursive double-finalize self._closed = True try: @@ -225,7 +180,7 @@ def close(self) -> None: raise self._upload_error if self.writable(): try: - self._finalize_upload(None) + self._finalize_upload() except BaseException: try: self._abort_upload() @@ -233,7 +188,6 @@ def close(self) -> None: pass raise finally: - # Always call parent close() to set the stdlib closed state super().close() def _abort_upload(self) -> None: @@ -241,51 +195,18 @@ def _abort_upload(self) -> None: pass @abstractmethod - def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]]) -> None: - """ - Upload a chunk of data. - - Args: - data: Bytes to upload - upload_state: Upload state dictionary (for multipart uploads) - """ + def _upload_chunk(self, data: bytes) -> None: pass @abstractmethod - def _finalize_upload(self, upload_state: Optional[Dict[str, Any]]) -> None: - """ - Finalize the upload process. - - Args: - upload_state: Upload state dictionary (for multipart uploads) - """ + def _finalize_upload(self) -> None: pass - # Abstract methods to be implemented by subclasses - - @abstractmethod def _range_get(self, start: int, end: int) -> bytes: - """ - Fetch a byte range from cloud storage. - - Args: - start: Start byte position (inclusive) - end: End byte position (inclusive) - - Returns: - Bytes in the requested range - """ - pass + return self._client._range_download(self._cloud_path, start, end) - @abstractmethod def _get_size(self) -> int: - """ - Get the total size of the cloud object. - - Returns: - Size in bytes - """ - pass + return self._client._get_content_length(self._cloud_path) def _is_eof_error(self, error: Exception) -> bool: """ @@ -296,43 +217,91 @@ def _is_eof_error(self, error: Exception) -> bool: return False -# ============================================================================ -# Public Buffered Binary I/O -# ============================================================================ +class _CloudMultipartStorageRaw(_CloudStorageRaw): + """Shared buffered multipart upload lifecycle.""" + _INITIAL_PART_SIZE: int + _MAX_PART_SIZE: int + _MAX_PARTS: int + _PARTS_PER_SIZE_TIER: int + _PROVIDER_NAME: str -class CloudBufferedIO(io.BufferedIOBase): - """ - Buffered binary file-like object for cloud storage. + def __init__(self, client: Client, cloud_path: CloudPath, mode: str = "rb") -> None: + super().__init__(client, cloud_path, mode) + self._upload_id: Optional[str] = None + self._parts: list[dict[str, Any]] = [] + self._part_number = 1 + self._write_buffer = bytearray() + + @classmethod + def _part_size_for_number(cls, part_number: int) -> int: + tier = (part_number - 1) // cls._PARTS_PER_SIZE_TIER + return min(cls._INITIAL_PART_SIZE * (2**tier), cls._MAX_PART_SIZE) - Wraps a raw cloud storage adapter with Python's standard buffered I/O classes - (BufferedReader, BufferedWriter, or BufferedRandom) based on the mode. + def _target_part_size(self) -> int: + return self._part_size_for_number(self._part_number) - Example: - >>> from cloudpathlib import S3Client - >>> client = S3Client() - >>> with CloudBufferedIO(client, "s3://bucket/file.bin", mode="rb") as f: - ... data = f.read(1024) - """ + def _check_part_limit(self) -> None: + if self._part_number > self._MAX_PARTS: + raise OSError( + f"{self._PROVIDER_NAME} upload exceeded the {self._MAX_PARTS:,}-part limit" + ) + + def _upload_buffered_part(self, size: int) -> None: + self._check_part_limit() + if self._upload_id is None: + self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) + data = bytes(self._write_buffer[:size]) + part = self._client._upload_part( + self._cloud_path, self._upload_id, self._part_number, data + ) + del self._write_buffer[:size] + self._parts.append(part) + self._part_number += 1 + + def _upload_chunk(self, data: bytes) -> None: + if not data: + return + self._write_buffer.extend(data) + target_size = self._target_part_size() + while len(self._write_buffer) >= target_size: + self._upload_buffered_part(target_size) + target_size = self._target_part_size() + + def _finalize_upload(self) -> None: + if self._write_buffer: + self._upload_buffered_part(len(self._write_buffer)) + if self._upload_id is None: + self._client._put_empty_object(self._cloud_path) + return + self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) + self._reset_upload() + + def _abort_upload(self) -> None: + try: + if self._upload_id is not None: + self._client._abort_multipart_upload(self._cloud_path, self._upload_id) + finally: + self._reset_upload() + + def _reset_upload(self) -> None: + self._upload_id = None + self._parts.clear() + self._part_number = 1 + self._write_buffer.clear() + + +class CloudBufferedIO(io.BufferedIOBase): + """Buffered binary I/O backed by a cloud client.""" def __init__( self, raw_io_class: Type[_CloudStorageRaw], - client: Any, - cloud_path: Any, + client: Client, + cloud_path: CloudPath, mode: str = "rb", buffer_size: int = 64 * 1024, - ): - """ - Initialize cloud buffered I/O. - - Args: - raw_io_class: The raw I/O class to use for this provider - client: Cloud provider client instance - cloud_path: CloudPath instance - mode: Streaming file mode ('rb', 'wb', or 'xb') - buffer_size: Size of read/write buffer in bytes (default 64 KiB) - """ + ) -> None: _validate_file_mode(mode) if "b" not in mode: raise ValueError("CloudBufferedIO requires binary mode (must include 'b')") @@ -341,21 +310,14 @@ def __init__( "append and update modes require the local-cache implementation" ) - # Create raw adapter using provided class raw = raw_io_class(client, cloud_path, mode) - # Choose appropriate buffered class based on mode - if "+" in mode: - # Read and write (e.g., 'r+b', 'w+b') - self._buffer: Union[io.BufferedReader, io.BufferedWriter, io.BufferedRandom] = io.BufferedRandom(raw, buffer_size=buffer_size) # type: ignore[arg-type] - elif "r" in mode: - # Read only (e.g., 'rb') + if "r" in mode: + self._buffer: Union[io.BufferedReader, io.BufferedWriter] self._buffer = io.BufferedReader(raw, buffer_size=buffer_size) # type: ignore[arg-type,assignment] else: - # Write only (e.g., 'wb', 'ab', 'xb') self._buffer = io.BufferedWriter(raw, buffer_size=buffer_size) # type: ignore[arg-type,assignment] - # Store additional attributes self._cloud_path = cloud_path self._mode = mode self._buffer_size_val = buffer_size @@ -375,35 +337,31 @@ def _buffer_size(self) -> int: """Buffer size for compatibility with tests.""" return self._buffer_size_val - # Delegate all I/O methods to the internal buffer - def read(self, size: Optional[int] = -1) -> bytes: # type: ignore[override] + def read(self, size: Optional[int] = -1, /) -> bytes: return self._buffer.read(size) - def read1(self, size: int = -1) -> bytes: + def read1(self, size: int = -1, /) -> bytes: return self._buffer.read1(size) # type: ignore[attr-defined] - def readinto(self, b): + def readinto(self, b: _WriteableBuffer, /) -> int: return self._buffer.readinto(b) - def readinto1(self, b): + def readinto1(self, b: _WriteableBuffer, /) -> int: return self._buffer.readinto1(b) # type: ignore[attr-defined] - def write(self, b): + def write(self, b: _ReadableBuffer, /) -> int: return self._buffer.write(b) - def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: + def seek(self, offset: int, whence: int = io.SEEK_SET, /) -> int: return self._buffer.seek(offset, whence) def tell(self) -> int: return self._buffer.tell() - def flush(self): - return self._buffer.flush() + def flush(self) -> None: + self._buffer.flush() - def close(self): - # Delegate entirely to the stdlib buffer: flush → raw.close(). - # _CloudStorageRaw.close() guards against double-finalize via _closed, - # so calling self._buffer.close() is safe and lets exceptions propagate. + def close(self) -> None: if hasattr(self, "_buffer") and not self._buffer.closed: self._buffer.close() @@ -420,58 +378,34 @@ def seekable(self) -> bool: def closed(self) -> bool: return self._buffer.closed - def __enter__(self): + def __enter__(self) -> CloudBufferedIO: return self - def __exit__(self, *args): + def __exit__( + self, + exc_type: Optional[Type[BaseException]], + exc_value: Optional[BaseException], + traceback: Optional[TracebackType], + /, + ) -> None: self.close() -# ============================================================================ -# Public Text I/O -# ============================================================================ - - class CloudTextIO(io.TextIOWrapper): - """ - Text file-like object for cloud storage. - - Implements TextIOBase for seamless integration with standard Python I/O - and third-party libraries. Handles encoding/decoding and newline translation. - - Example: - >>> from cloudpathlib import S3Client - >>> client = S3Client() - >>> with CloudTextIO(client, "s3://bucket/file.txt", mode="rt") as f: - ... text = f.read() - """ + """Text I/O backed by a cloud client.""" def __init__( self, raw_io_class: Type[_CloudStorageRaw], - client: Any, - cloud_path: Any, + client: Client, + cloud_path: CloudPath, mode: str = "rt", encoding: Optional[str] = None, errors: Optional[str] = None, newline: Optional[str] = None, buffer_size: int = 64 * 1024, line_buffering: bool = False, - ): - """ - Initialize cloud text I/O. - - Args: - raw_io_class: The raw I/O class to use for this provider - client: Cloud provider client instance - cloud_path: CloudPath instance - mode: Streaming file mode ('rt', 'wt', 'xt', or the same without 't') - encoding: Text encoding (default: platform locale, matching ``open``) - errors: Error handling strategy (default: strict) - newline: Newline handling (None, '', '\\n', '\\r', '\\r\\n') - buffer_size: Size of buffer in bytes - line_buffering: Flush text output whenever a newline is written - """ + ) -> None: _validate_file_mode(mode) if "b" in mode: raise ValueError("CloudTextIO requires text mode (no 'b' in mode)") @@ -480,7 +414,6 @@ def __init__( "append and update modes require the local-cache implementation" ) - # Ensure mode has 't' or is text mode if "t" not in mode and "r" in mode: binary_mode = mode.replace("r", "rb", 1) elif "t" not in mode and "w" in mode: @@ -492,12 +425,10 @@ def __init__( else: binary_mode = mode.replace("t", "b") - # Create underlying buffered I/O buffered = CloudBufferedIO( raw_io_class, client, cloud_path, mode=binary_mode, buffer_size=buffer_size ) - # Initialize TextIOWrapper with the buffered stream super().__init__( buffered, encoding=encoding, @@ -506,7 +437,6 @@ def __init__( line_buffering=line_buffering, ) - # Store additional attributes self._cloud_path = cloud_path self._mode = mode diff --git a/cloudpathlib/gs/gs_io.py b/cloudpathlib/gs/gs_io.py index 60d91e10..e53ec968 100644 --- a/cloudpathlib/gs/gs_io.py +++ b/cloudpathlib/gs/gs_io.py @@ -1,69 +1,39 @@ -""" -Google Cloud Storage-specific streaming I/O implementations. +"""Google Cloud Storage streaming I/O.""" -Provides efficient streaming I/O for GCS using range requests and resumable uploads. -Upload state is held on the raw adapter instance (not the shared client) so concurrent -writers to the same client cannot collide. -""" +from __future__ import annotations -from typing import Any, Dict, Optional +from typing import Optional +from ..client import Client, _CloudWriteStream from ..cloud_io import _CloudStorageRaw -from ..cloudpath import register_raw_io_class +from ..cloudpath import CloudPath, register_raw_io_class @register_raw_io_class("gs") class _GSStorageRaw(_CloudStorageRaw): - """ - GCS-specific raw I/O adapter. + """GCS range reads and resumable writes.""" - Implements efficient range-based reads and resumable uploads for GCS. - Write state (_writer) lives on this adapter instance, not on the client, - so concurrent writes to different paths on the same client are safe. - """ - - def __init__(self, client, cloud_path, mode: str = "rb"): + def __init__(self, client: Client, cloud_path: CloudPath, mode: str = "rb") -> None: super().__init__(client, cloud_path, mode) - # Open write stream (returned by client._open_write_stream); None until first write - self._writer: Optional[Any] = None - - def _range_get(self, start: int, end: int) -> bytes: - return self._client._range_download(self._cloud_path, start, end) - - def _get_size(self) -> int: - return self._client._get_content_length(self._cloud_path) - - def _is_eof_error(self, error: Exception) -> bool: - error_str = str(error) - if "416" in error_str or "Requested Range Not Satisfiable" in error_str: - return True - if hasattr(error, "code") and error.code == 416: - return True - return False - - # ---- Write support (resumable upload via client._open_write_stream) ---- + self._writer: Optional[_CloudWriteStream] = None - def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: + def _upload_chunk(self, data: bytes) -> None: if not data: return if self._writer is None: self._writer = self._client._open_write_stream(self._cloud_path) - self._writer.write(data) + self._client._write_stream(self._writer, data) - def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: - if self._writer is not None: - self._writer.close() - self._writer = None - else: - # No data was written — create an empty object + def _finalize_upload(self) -> None: + if self._writer is None: self._client._put_empty_object(self._cloud_path) + return + self._client._close_write_stream(self._writer) + self._writer = None def _abort_upload(self) -> None: if self._writer is not None: try: - self._writer.terminate() + self._client._abort_write_stream(self._writer) finally: self._writer = None - - def close(self) -> None: - super().close() diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 99e1ca6f..baf30a33 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -5,7 +5,7 @@ from typing import Any, Callable, Dict, Iterable, Optional, TYPE_CHECKING, Tuple, Union import warnings -from ..client import Client, register_client_class +from ..client import Client, _CloudWriteStream, register_client_class from ..cloudpath import implementation_registry from ..enums import FileCacheMode from .gspath import GSPath @@ -312,13 +312,10 @@ def _generate_presigned_url(self, cloud_path: GSPath, expire_seconds: int = 60 * ) return url - # ====================== STREAMING I/O METHODS ====================== - def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: """Download a byte range from GCS.""" blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) try: - # GCS and our internal API both use an inclusive end offset. return blob.download_as_bytes(start=start, end=end, **self.blob_kwargs) except GCSNotFound: raise FileNotFoundError(f"GCS object not found: {cloud_path}") @@ -339,20 +336,14 @@ def _get_content_length(self, cloud_path: GSPath) -> int: except GCSNotFound: raise FileNotFoundError(f"GCS object not found: {cloud_path}") - def _open_write_stream(self, cloud_path: GSPath): - """Open a GCS resumable upload stream. - - Returns a file-like writer. Data written to it streams incrementally - to GCS rather than being buffered in memory. The caller must close() - the writer to finalize the upload. - """ + def _open_write_stream(self, cloud_path: GSPath) -> _CloudWriteStream: + """Open a GCS resumable upload.""" blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) kwargs: Dict[str, Any] = {} if self.content_type_method is not None: content_type, _ = self.content_type_method(str(cloud_path)) if content_type is not None: kwargs["content_type"] = content_type - # blob_kwargs may carry timeout/retry; pass through where blob.open accepts them for k in ("timeout", "retry"): if k in self.blob_kwargs: kwargs[k] = self.blob_kwargs[k] diff --git a/cloudpathlib/http/http_io.py b/cloudpathlib/http/http_io.py index c5af16ab..77ff0761 100644 --- a/cloudpathlib/http/http_io.py +++ b/cloudpathlib/http/http_io.py @@ -1,64 +1,46 @@ -""" -HTTP-specific streaming I/O implementations. +"""HTTP streaming I/O.""" -Provides streaming I/O for HTTP/HTTPS using range requests and single-PUT uploads. -""" +from __future__ import annotations import tempfile -from typing import Optional, Dict, Any +from typing import Protocol, cast +from ..client import Client from ..cloud_io import _CloudStorageRaw -from ..cloudpath import register_raw_io_class +from ..cloudpath import CloudPath, register_raw_io_class + + +class _HttpStreamingClient(Protocol): + def _put_data( + self, + cloud_path: CloudPath, + data: tempfile.SpooledTemporaryFile[bytes], + content_length: int, + ) -> None: ... @register_raw_io_class("http") @register_raw_io_class("https") class _HttpStorageRaw(_CloudStorageRaw): - """ - HTTP-specific raw I/O adapter. + """HTTP range reads and single-request writes.""" - Implements efficient range-based reads and single-PUT uploads for HTTP/HTTPS. - Write operations require the server to support PUT requests. - Data is buffered in _upload_buffer on the adapter instance (not on the client) - and flushed as a single PUT on close. - """ - - def __init__(self, client, cloud_path, mode: str = "rb"): + def __init__(self, client: Client, cloud_path: CloudPath, mode: str = "rb") -> None: super().__init__(client, cloud_path, mode) - self._upload_buffer: Any = tempfile.SpooledTemporaryFile(max_size=8 * 1024 * 1024) - - def _range_get(self, start: int, end: int) -> bytes: - return self._client._range_download(self._cloud_path, start, end) + self._upload_buffer = tempfile.SpooledTemporaryFile(max_size=8 * 1024 * 1024) - def _get_size(self) -> int: - return self._client._get_content_length(self._cloud_path) + def _upload_chunk(self, data: bytes) -> None: + if data: + self._upload_buffer.write(data) - def _is_eof_error(self, error: Exception) -> bool: - error_str = str(error).lower() - return ( - "416" in error_str - or "requested range not satisfiable" in error_str - or "invalid range" in error_str - ) - - # ---- Write support (single PUT on finalize) ---- - - def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: - if not data: - return - self._upload_buffer.write(data) - - def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: + def _finalize_upload(self) -> None: self._upload_buffer.seek(0, 2) content_length = self._upload_buffer.tell() self._upload_buffer.seek(0) try: - self._client._put_data(self._cloud_path, self._upload_buffer, content_length) + client = cast(_HttpStreamingClient, self._client) + client._put_data(self._cloud_path, self._upload_buffer, content_length) finally: self._upload_buffer.close() def _abort_upload(self) -> None: self._upload_buffer.close() - - def close(self) -> None: - super().close() diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 52807b2e..5dcecbb6 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -203,15 +203,8 @@ def request( # the connection is closed when we exit the context manager. return response, response.read() - # ====================== STREAMING I/O METHODS ====================== - def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes: - """Download a byte range from HTTP. - - Verifies the response is 206 Partial Content. If the server returns 200 - (ignoring the Range header), slices the full body locally so callers - always receive exactly the requested bytes. - """ + """Download an HTTP byte range.""" headers = {"Range": f"bytes={start}-{end}"} request = urllib.request.Request(str(cloud_path), headers=headers) try: @@ -229,7 +222,7 @@ def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes except urllib.error.HTTPError as e: if e.code == 404: raise FileNotFoundError(f"HTTP resource not found: {cloud_path}") - elif e.code == 416: # Range not satisfiable + elif e.code == 416: return b"" raise @@ -247,37 +240,8 @@ def _get_content_length(self, cloud_path: "HttpPath") -> int: raise FileNotFoundError(f"HTTP resource not found: {cloud_path}") raise - def _initiate_multipart_upload(self, cloud_path: "HttpPath") -> str: - """HTTP uploads are single-shot PUT; no session needed.""" - return "" - - def _upload_part( - self, cloud_path: "HttpPath", upload_id: str, part_number: int, data: bytes - ) -> dict: - """HTTP does not support true multipart; use _put_data for a single PUT.""" - raise NotImplementedError( - "HTTP uses a single PUT for uploads; multipart is not supported. " - "Use _put_data instead." - ) - - def _complete_multipart_upload( - self, cloud_path: "HttpPath", upload_id: str, parts: list - ) -> None: - """HTTP does not support true multipart; use _put_data for a single PUT.""" - raise NotImplementedError( - "HTTP uses a single PUT for uploads; multipart is not supported." - ) - - def _abort_multipart_upload(self, cloud_path: "HttpPath", upload_id: str) -> None: - """Nothing to abort for HTTP single-PUT uploads.""" - pass - def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) -> None: - """Upload a file-like body using the client's configured write method. - - Uses self.opener so that any SSL context or auth handlers configured on - this client are applied (important for HttpsClient with self-signed certs). - """ + """Upload a file-like HTTP body.""" url = str(cloud_path) request = urllib.request.Request(url, data=data, method=self.write_file_http_method) content_type = None @@ -293,7 +257,7 @@ def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) f"HTTP PUT failed with status {response.status}: {response.reason}" ) except urllib.error.HTTPError as e: - if e.code == 405: # Method Not Allowed + if e.code == 405: raise NotImplementedError( f"HTTP server does not support {self.write_file_http_method} requests for {url}" ) diff --git a/cloudpathlib/local/localclient.py b/cloudpathlib/local/localclient.py index 3e70f62d..77d131be 100644 --- a/cloudpathlib/local/localclient.py +++ b/cloudpathlib/local/localclient.py @@ -7,10 +7,23 @@ import sys from tempfile import TemporaryDirectory from time import sleep -from typing import Callable, ClassVar, Dict, Iterable, List, Optional, Tuple, Union +from types import TracebackType +from typing import ( + Any, + Callable, + ClassVar, + Dict, + Iterable, + List, + Optional, + Sequence, + Tuple, + Type, + Union, +) from urllib.parse import parse_qsl, urlencode, urlsplit, urlunsplit -from ..client import Client +from ..client import Client, _CloudWriteStream, _UploadPart from ..cloudpath import _ensure_local_path_within_base from ..enums import FileCacheMode from .localpath import LocalPath @@ -33,14 +46,15 @@ class LocalClient(Client): def __init__( self, - *args, + *args: Any, local_storage_dir: Optional[Union[str, os.PathLike]] = None, file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, - **kwargs, - ): + **kwargs: Any, + ) -> None: self._local_storage_dir = local_storage_dir + self._local_upload_buffers: Dict[str, List[Tuple[int, bytes]]] = {} super().__init__( local_cache_dir=local_cache_dir, @@ -233,9 +247,6 @@ def _generate_presigned_url( query["signature"] = "local" return urlunsplit(parts._replace(query=urlencode(query))) - # ====================== STREAMING I/O METHODS ====================== - # For local clients, streaming uses local file operations. - def _range_download(self, cloud_path: LocalPath, start: int, end: int) -> bytes: """Download a byte range from local storage.""" local_path = self._cloud_path_to_local(cloud_path) @@ -262,23 +273,17 @@ def _initiate_multipart_upload(self, cloud_path: LocalPath) -> str: def _upload_part( self, cloud_path: LocalPath, upload_id: str, part_number: int, data: bytes - ) -> dict: - """Buffer a part keyed by upload_id (not by path) for concurrent-write safety.""" - if not hasattr(self, "_local_upload_buffers"): - self._local_upload_buffers: dict = {} + ) -> _UploadPart: + """Buffer a part by upload ID.""" if upload_id not in self._local_upload_buffers: self._local_upload_buffers[upload_id] = [] self._local_upload_buffers[upload_id].append((part_number, data)) return {"part_number": part_number} def _complete_multipart_upload( - self, cloud_path: LocalPath, upload_id: str, parts: list + self, cloud_path: LocalPath, upload_id: str, parts: Sequence[_UploadPart] ) -> None: - """Complete local file upload by joining all buffered parts.""" - if ( - not hasattr(self, "_local_upload_buffers") - or upload_id not in self._local_upload_buffers - ): + if upload_id not in self._local_upload_buffers: return buffer = self._local_upload_buffers.pop(upload_id, []) @@ -290,12 +295,9 @@ def _complete_multipart_upload( local_path.write_bytes(complete_data) def _abort_multipart_upload(self, cloud_path: LocalPath, upload_id: str) -> None: - """Abort local file upload by cleaning up the buffer.""" - if hasattr(self, "_local_upload_buffers"): - self._local_upload_buffers.pop(upload_id, None) + self._local_upload_buffers.pop(upload_id, None) - def _open_write_stream(self, cloud_path: LocalPath) -> "_LocalWriteStream": - """Return a write stream that buffers data and writes to the local file on close.""" + def _open_write_stream(self, cloud_path: LocalPath) -> _CloudWriteStream: local_path = self._cloud_path_to_local(cloud_path) return _LocalWriteStream(local_path) @@ -307,11 +309,7 @@ def _put_empty_object(self, cloud_path: LocalPath) -> None: class _LocalWriteStream: - """File-like writer that accumulates bytes and flushes to a local path on close. - - Used by LocalClient._open_write_stream so that _GSStorageRaw (and other adapters - that call _open_write_stream) can work correctly against local test clients. - """ + """Buffered local write stream.""" def __init__(self, local_path: Path) -> None: self._local_path = local_path @@ -330,10 +328,19 @@ def close(self) -> None: self._local_path.parent.mkdir(parents=True, exist_ok=True) self._local_path.write_bytes(bytes(self._buf)) - def __enter__(self): + def terminate(self) -> None: + self._closed = True + self._buf.clear() + + def __enter__(self) -> "_LocalWriteStream": return self - def __exit__(self, *args): + def __exit__( + self, + exc_type: Optional[Type[BaseException]], + exc_value: Optional[BaseException], + traceback: Optional[TracebackType], + ) -> None: self.close() @@ -341,6 +348,6 @@ def __exit__(self, *args): @atexit.register -def clean_temp_dirs(): +def clean_temp_dirs() -> None: for temp_dir in _temp_dirs_to_clean: temp_dir.cleanup() diff --git a/cloudpathlib/s3/s3_io.py b/cloudpathlib/s3/s3_io.py index 9d7d0509..fb0684b7 100644 --- a/cloudpathlib/s3/s3_io.py +++ b/cloudpathlib/s3/s3_io.py @@ -1,124 +1,17 @@ -""" -S3-specific streaming I/O implementations. +"""S3 streaming I/O.""" -Provides efficient streaming I/O for S3 using range requests and multipart uploads. -""" - -from typing import Optional, Dict, Any - -from ..cloud_io import _CloudStorageRaw +from ..cloud_io import _CloudMultipartStorageRaw from ..cloudpath import register_raw_io_class @register_raw_io_class("s3") -class _S3StorageRaw(_CloudStorageRaw): - """ - S3-specific raw I/O adapter. - - Implements efficient range-based reads and multipart uploads for S3. - S3 requires non-final parts to be at least 5 MiB; this class accumulates - chunks in _write_buffer and only uploads a part once _MIN_PART_SIZE is reached. - """ +class _S3StorageRaw(_CloudMultipartStorageRaw): + """S3 range reads and multipart writes.""" - # S3 minimum part size for non-final parts: 5 MiB - _MIN_PART_SIZE = 5 * 1024 * 1024 + # S3 requires non-final parts of at least 5 MiB. + _INITIAL_PART_SIZE = 5 * 1024 * 1024 + _MIN_PART_SIZE = _INITIAL_PART_SIZE _MAX_PART_SIZE = 5 * 1024 * 1024 * 1024 _MAX_PARTS = 10_000 _PARTS_PER_SIZE_TIER = 1_000 - - def __init__(self, client, cloud_path, mode: str = "rb"): - super().__init__(client, cloud_path, mode) - - # Multipart upload state - self._upload_id: Optional[str] = None - self._parts: list = [] - self._part_number: int = 1 - # Accumulation buffer — we only flush a part when >= _MIN_PART_SIZE bytes - self._write_buffer: bytearray = bytearray() - - def _range_get(self, start: int, end: int) -> bytes: - return self._client._range_download(self._cloud_path, start, end) - - def _get_size(self) -> int: - return self._client._get_content_length(self._cloud_path) - - def _is_eof_error(self, error: Exception) -> bool: - error_str = str(error) - return ( - "InvalidRange" in error_str - or hasattr(error, "__class__") - and "InvalidRange" in error.__class__.__name__ - ) - - @classmethod - def _part_size_for_number(cls, part_number: int) -> int: - tier = (part_number - 1) // cls._PARTS_PER_SIZE_TIER - return min(cls._MIN_PART_SIZE * (2**tier), cls._MAX_PART_SIZE) - - def _target_part_size(self) -> int: - return self._part_size_for_number(self._part_number) - - # ---- Write support (multipart upload with 5 MiB minimum part size) ---- - - def _upload_chunk(self, data: bytes, upload_state: Optional[Dict[str, Any]] = None) -> None: - if not data: - return - - self._write_buffer.extend(data) - - # Upload full-sized parts whenever we have enough buffered data - target_part_size = self._target_part_size() - while len(self._write_buffer) >= target_part_size: - if self._part_number > self._MAX_PARTS: - raise OSError("S3 multipart upload exceeded the 10,000-part limit") - chunk = bytes(self._write_buffer[:target_part_size]) - if self._upload_id is None: - self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) - part_info = self._client._upload_part( - self._cloud_path, self._upload_id, self._part_number, chunk - ) - del self._write_buffer[:target_part_size] - self._parts.append(part_info) - self._part_number += 1 - target_part_size = self._target_part_size() - - def _finalize_upload(self, upload_state: Optional[Dict[str, Any]] = None) -> None: - # Flush remaining buffer as the final part (exempt from 5 MiB floor) - if self._write_buffer: - if self._part_number > self._MAX_PARTS: - raise OSError("S3 multipart upload exceeded the 10,000-part limit") - if self._upload_id is None: - self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) - part_info = self._client._upload_part( - self._cloud_path, - self._upload_id, - self._part_number, - bytes(self._write_buffer), - ) - self._parts.append(part_info) - self._part_number += 1 - self._write_buffer = bytearray() - - if self._upload_id is None: - # No data written — create an empty object directly - self._client._put_empty_object(self._cloud_path) - return - - self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) - self._upload_id = None - self._parts = [] - self._part_number = 1 - self._write_buffer.clear() - - def _abort_upload(self) -> None: - try: - if self._upload_id is not None: - self._client._abort_multipart_upload(self._cloud_path, self._upload_id) - finally: - self._upload_id = None - self._parts = [] - self._part_number = 1 - self._write_buffer.clear() - - def close(self) -> None: - super().close() + _PROVIDER_NAME = "S3 multipart" diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index 9404b9db..099d891a 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -1,9 +1,9 @@ import mimetypes import os from pathlib import Path, PurePosixPath -from typing import Any, Callable, Dict, Iterable, Optional, Tuple, Union +from typing import Any, Callable, Dict, Iterable, Optional, Sequence, Tuple, Union -from ..client import Client, register_client_class +from ..client import Client, _UploadPart, register_client_class from ..cloudpath import implementation_registry from ..enums import FileCacheMode from ..exceptions import CloudPathException @@ -401,8 +401,6 @@ def _generate_presigned_url(self, cloud_path: S3Path, expire_seconds: int = 60 * ) return url - # ====================== STREAMING I/O METHODS ====================== - def _range_download(self, cloud_path: S3Path, start: int, end: int) -> bytes: """Download a byte range from S3.""" try: @@ -446,7 +444,7 @@ def _get_content_length(self, cloud_path: S3Path) -> int: raise FileNotFoundError(f"S3 object not found: {cloud_path}") raise - def _streaming_extra_args(self, operation_name: str) -> dict: + def _streaming_extra_args(self, operation_name: str) -> Dict[str, Any]: """Return upload extras accepted by a specific low-level S3 operation.""" try: operation = self.client.meta.service_model.operation_model(operation_name) @@ -503,15 +501,19 @@ def _streaming_extra_args(self, operation_name: str) -> dict: allowed = fallback_allowed[operation_name] return {key: value for key, value in self.boto3_ul_extra_args.items() if key in allowed} - def _initiate_multipart_upload(self, cloud_path: S3Path) -> str: - """Start an S3 multipart upload, threading content-type and upload extra args.""" - extra_args = self._streaming_extra_args("CreateMultipartUpload") + def _streaming_object_args(self, operation_name: str, cloud_path: S3Path) -> Dict[str, Any]: + extra_args = self._streaming_extra_args(operation_name) if self.content_type_method is not None: content_type, content_encoding = self.content_type_method(str(cloud_path)) if content_type is not None: extra_args["ContentType"] = content_type if content_encoding is not None: extra_args["ContentEncoding"] = content_encoding + return extra_args + + def _initiate_multipart_upload(self, cloud_path: S3Path) -> str: + """Start an S3 multipart upload, threading content-type and upload extra args.""" + extra_args = self._streaming_object_args("CreateMultipartUpload", cloud_path) response = self.client.create_multipart_upload( Bucket=cloud_path.bucket, Key=cloud_path.key, @@ -521,7 +523,7 @@ def _initiate_multipart_upload(self, cloud_path: S3Path) -> str: def _upload_part( self, cloud_path: S3Path, upload_id: str, part_number: int, data: bytes - ) -> dict: + ) -> _UploadPart: """Upload a part in an S3 multipart upload.""" response = self.client.upload_part( Bucket=cloud_path.bucket, @@ -535,7 +537,9 @@ def _upload_part( part.update({key: value for key, value in response.items() if key.startswith("Checksum")}) return part - def _complete_multipart_upload(self, cloud_path: S3Path, upload_id: str, parts: list) -> None: + def _complete_multipart_upload( + self, cloud_path: S3Path, upload_id: str, parts: Sequence[_UploadPart] + ) -> None: """Complete an S3 multipart upload.""" self.client.complete_multipart_upload( Bucket=cloud_path.bucket, @@ -553,13 +557,7 @@ def _abort_multipart_upload(self, cloud_path: S3Path, upload_id: str) -> None: def _put_empty_object(self, cloud_path: S3Path) -> None: """Upload a zero-byte object, threading content-type and upload extra args.""" - extra_args = self._streaming_extra_args("PutObject") - if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(cloud_path)) - if content_type is not None: - extra_args["ContentType"] = content_type - if content_encoding is not None: - extra_args["ContentEncoding"] = content_encoding + extra_args = self._streaming_object_args("PutObject", cloud_path) self.client.put_object( Bucket=cloud_path.bucket, Key=cloud_path.key, diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index b4637a69..88c32d4e 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1162,7 +1162,7 @@ def test_finalize_error_propagates(rig): raw_io_class = path._cloud_meta.raw_io_class class _FailingRaw(raw_io_class): - def _finalize_upload(self, upload_state=None): + def _finalize_upload(self) -> None: raise RuntimeError("simulated upload failure") original_mode = path.client.file_cache_mode From 55cb8e37c66d5a9b99306762d7ccfc9234fb5acf Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 11 Jul 2026 10:11:40 -0700 Subject: [PATCH 08/35] Fix Windows streaming test failures --- tests/test_cloud_io.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 88c32d4e..e4af11c3 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -76,7 +76,7 @@ def temp_cloud_multiline_file(rig): pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") path = rig.create_cloud_path("test_streaming_multiline.txt") - path.write_text(MULTILINE_TEXT) + path.write_text(MULTILINE_TEXT, encoding="utf-8") # Set client to streaming mode original_mode = path.client.file_cache_mode path.client.file_cache_mode = FileCacheMode.streaming @@ -331,7 +331,7 @@ def test_read_text_mode_without_t(temp_cloud_file): def test_readline(temp_cloud_multiline_file): """Test readline method.""" - with temp_cloud_multiline_file.open(mode="rt") as f: + with temp_cloud_multiline_file.open(mode="rt", encoding="utf-8") as f: line1 = f.readline() assert line1 == "Line 1\n" @@ -341,7 +341,7 @@ def test_readline(temp_cloud_multiline_file): def test_readlines(temp_cloud_multiline_file): """Test readlines method.""" - with temp_cloud_multiline_file.open(mode="rt") as f: + with temp_cloud_multiline_file.open(mode="rt", encoding="utf-8") as f: lines = f.readlines() assert len(lines) == 4 assert lines[0] == "Line 1\n" @@ -350,7 +350,7 @@ def test_readlines(temp_cloud_multiline_file): def test_iteration(temp_cloud_multiline_file): """Test iterating over lines.""" - with temp_cloud_multiline_file.open(mode="rt") as f: + with temp_cloud_multiline_file.open(mode="rt", encoding="utf-8") as f: lines = list(f) assert len(lines) == 4 assert lines[0] == "Line 1\n" From 12403925a64395bbc21676709567f5c112c9d443 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 11 Jul 2026 10:23:19 -0700 Subject: [PATCH 09/35] Cover streaming extension failure paths --- tests/test_client.py | 46 ++++++++++++++- tests/test_cloud_io.py | 131 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 176 insertions(+), 1 deletion(-) diff --git a/tests/test_client.py b/tests/test_client.py index 226679e6..1e63961c 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -7,7 +7,7 @@ import pytest from cloudpathlib import CloudPath -from cloudpathlib.client import register_client_class +from cloudpathlib.client import Client, register_client_class from cloudpathlib.cloudpath import ( implementation_registry, register_path_class, @@ -198,3 +198,47 @@ def test_custom_mys3client_default_client(custom_s3_path): path = CloudPath("mys3://bucket/dir/file.txt") assert isinstance(path.client, CustomClient) assert path.cloud_prefix == "mys3://" + + +@pytest.mark.parametrize( + "call", + [ + lambda client, path: Client._range_download(client, path, 0, 0), + lambda client, path: Client._get_content_length(client, path), + lambda client, path: Client._initiate_multipart_upload(client, path), + lambda client, path: Client._upload_part(client, path, "upload", 1, b"data"), + lambda client, path: Client._complete_multipart_upload(client, path, "upload", []), + lambda client, path: Client._abort_multipart_upload(client, path, "upload"), + lambda client, path: Client._open_write_stream(client, path), + lambda client, path: Client._put_empty_object(client, path), + ], +) +def test_default_streaming_hooks_raise_not_implemented(local_s3_rig, call): + path = local_s3_rig.create_cloud_path("unsupported-stream.bin") + + with pytest.raises(NotImplementedError, match="streaming I/O"): + call(path.client, path) + + +def test_default_write_stream_hooks_delegate(local_s3_rig): + class Stream: + def __init__(self): + self.calls = [] + + def write(self, data): + self.calls.append(("write", data)) + return len(data) + + def close(self): + self.calls.append(("close",)) + + def terminate(self): + self.calls.append(("terminate",)) + + client = local_s3_rig.client_class(**local_s3_rig.required_client_kwargs) + stream = Stream() + + assert Client._write_stream(client, stream, b"data") == 4 + Client._close_write_stream(client, stream) + Client._abort_write_stream(client, stream) + assert stream.calls == [("write", b"data"), ("close",), ("terminate",)] diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index e4af11c3..d4b5904c 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -11,6 +11,7 @@ from cloudpathlib import S3Path, AzureBlobPath, GSPath from cloudpathlib import CloudBufferedIO, CloudTextIO +from cloudpathlib.cloud_io import _CloudStorageRaw from cloudpathlib.enums import FileCacheMode # Sample test data @@ -1489,6 +1490,13 @@ def test_streaming_open_rejects_invalid_modes_without_mutating(local_s3_rig, mod assert path.read_text() == "preserve me" +def test_streaming_open_rejects_non_string_mode(local_s3_rig): + path = local_s3_rig.create_cloud_path("invalid-mode.txt") + + with pytest.raises(TypeError, match="mode must be a string"): + path.open(None) + + @pytest.mark.parametrize( "keyword,value,message", [ @@ -1671,3 +1679,126 @@ def test_s3_invalid_object_state_is_not_eof(s3_rig): path = s3_rig.create_cloud_path("archived.bin") raw = path._cloud_meta.raw_io_class(path.client, path, "rb") assert not raw._is_eof_error(Exception("InvalidObjectState")) + + +def test_raw_read_errors_follow_file_object_semantics(local_s3_rig): + class Raw(_CloudStorageRaw): + def _upload_chunk(self, data): + pass + + def _finalize_upload(self): + pass + + path = local_s3_rig.create_cloud_path("raw-errors.bin") + + unreadable = Raw(path.client, path, "wb") + with pytest.raises(io.UnsupportedOperation, match="not readable"): + unreadable.readinto(bytearray(1)) + + unwritable = Raw(path.client, path, "rb") + with pytest.raises(io.UnsupportedOperation, match="not writable"): + unwritable.write(b"x") + + unwritable.close() + for operation in ( + lambda: unwritable.readinto(bytearray(1)), + lambda: unwritable.seek(0), + unwritable.tell, + lambda: unwritable.write(b"x"), + ): + with pytest.raises(ValueError, match="closed file"): + operation() + + +def test_raw_read_handles_unknown_size_and_provider_eof(local_s3_rig): + class Raw(_CloudStorageRaw): + eof = False + empty = False + + def _get_size(self): + raise OSError("size unavailable") + + def _range_get(self, start, end): + if self.empty: + return b"" + raise OSError("range unavailable") + + def _is_eof_error(self, error): + return self.eof + + def _upload_chunk(self, data): + pass + + def _finalize_upload(self): + pass + + path = local_s3_rig.create_cloud_path("raw-eof.bin") + raw = Raw(path.client, path, "rb") + + with pytest.raises(OSError, match="range unavailable"): + raw.readinto(bytearray(1)) + + raw.eof = True + assert raw.readinto(bytearray(1)) == 0 + + raw.eof = False + raw.empty = True + assert raw.readinto(bytearray(1)) == 0 + + +def test_raw_write_failure_is_sticky_and_aborts_on_close(local_s3_rig): + error = OSError("upload failed") + + class Raw(_CloudStorageRaw): + aborted = False + + def _upload_chunk(self, data): + raise error + + def _finalize_upload(self): + pass + + def _abort_upload(self): + self.aborted = True + + path = local_s3_rig.create_cloud_path("raw-upload-error.bin") + raw = Raw(path.client, path, "wb") + + with pytest.raises(OSError, match="upload failed"): + raw.write(b"first") + with pytest.raises(OSError, match="upload failed"): + raw.write(b"second") + with pytest.raises(OSError, match="upload failed"): + raw.close() + + assert raw.aborted + assert raw.closed + + +@pytest.mark.parametrize("fail_during_write", [True, False]) +def test_raw_abort_failure_does_not_mask_original_error(local_s3_rig, fail_during_write): + original_error = OSError("original failure") + + class Raw(_CloudStorageRaw): + def _upload_chunk(self, data): + if fail_during_write: + raise original_error + + def _finalize_upload(self): + if not fail_during_write: + raise original_error + + def _abort_upload(self): + raise OSError("cleanup failure") + + path = local_s3_rig.create_cloud_path("raw-abort-error.bin") + raw = Raw(path.client, path, "wb") + + if fail_during_write: + with pytest.raises(OSError, match="original failure"): + raw.write(b"data") + else: + raw.write(b"data") + + with pytest.raises(OSError, match="original failure"): + raw.close() From f194a9bc16be91894bbc66e13d433ae8f850078e Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 11 Jul 2026 11:14:11 -0700 Subject: [PATCH 10/35] Fix live S3 multipart completion --- cloudpathlib/s3/s3client.py | 6 +++++- tests/test_cloud_io.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index 099d891a..f3e03804 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -534,7 +534,11 @@ def _upload_part( **self._streaming_extra_args("UploadPart"), ) part = {"PartNumber": part_number, "ETag": response["ETag"]} - part.update({key: value for key, value in response.items() if key.startswith("Checksum")}) + checksum_algorithm = self.boto3_ul_extra_args.get("ChecksumAlgorithm") + if checksum_algorithm is not None: + checksum_key = f"Checksum{checksum_algorithm}" + if checksum_key in response: + part[checksum_key] = response[checksum_key] return part def _complete_multipart_upload( diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index d4b5904c..84b07283 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1543,6 +1543,9 @@ def test_streaming_binary_mode_supports_unbuffered_io(local_s3_rig): def test_s3_streaming_routes_extra_args_by_operation(s3_rig): + if s3_rig.live_server: + pytest.skip("Synthetic SDK argument-routing test") + path = s3_rig.create_cloud_path("streaming-extra-args.bin") client = path.client original_extra_args = client.boto3_ul_extra_args @@ -1588,7 +1591,32 @@ def record_complete(**kwargs): path.unlink(missing_ok=True) +def test_s3_streaming_ignores_automatic_part_checksums(s3_rig, monkeypatch): + path = s3_rig.create_cloud_path("automatic-checksum.bin") + client = path.client + original_extra_args = client.boto3_ul_extra_args + + monkeypatch.setattr( + client.client, + "upload_part", + lambda **kwargs: {"ETag": '"etag"', "ChecksumCRC32": "checksum"}, + ) + try: + client.boto3_ul_extra_args = {} + part = client._upload_part(path, "upload", 1, b"data") + assert part == {"PartNumber": 1, "ETag": '"etag"'} + + client.boto3_ul_extra_args = {"ChecksumAlgorithm": "CRC32"} + part = client._upload_part(path, "upload", 1, b"data") + assert part["ChecksumCRC32"] == "checksum" + finally: + client.boto3_ul_extra_args = original_extra_args + + def test_gs_streaming_range_is_inclusive_and_forwards_options(gs_rig, monkeypatch): + if gs_rig.live_server: + pytest.skip("Synthetic SDK option-forwarding test") + from tests.mock_clients.mock_gs import MockBlob path = gs_rig.create_cloud_path("range-options.bin") From 3f695e7dc31399e14bfb977b2ce65fe48c26aab6 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Mon, 20 Jul 2026 08:58:48 -0700 Subject: [PATCH 11/35] Fix review findings, add streaming concurrency, move GS to XML multipart Review fixes (verified by adversarial review of this PR): - write() advances the raw position so tell() is correct on streaming write streams (fixes corrupt output from zipfile and other position-dependent writers) - seek() on write-only raw streams raises io.UnsupportedOperation as documented instead of silently accepting the seek - GS range errors are matched structurally (status 416) instead of by a "416" substring that could swallow unrelated transient errors - Azure block IDs are namespaced by a per-upload session ID so concurrent writers cannot clobber each other's staged blocks - read() to EOF fetches the remainder in one ranged request (readall) instead of one request per 8 KiB - copy()/rename()/replace() work in streaming mode by streaming between clients instead of round-tripping through fspath - streaming writes honor force_overwrite_to_cloud, raising OverwriteNewerCloudError on close instead of clobbering a newer object - Client.__del__ cleans up streaming-mode cache files from the append/update fallback; docs no longer claim streaming never touches disk - streaming error paths raise cloudpathlib exception types; failed size lookups are memoized per stream; negative buffering matches builtins.open; behavior changes recorded in HISTORY.md Coverage and fidelity: - S3 extra-args filtering consults botocore's bundled service model instead of a hand-copied (and already stale) fallback table, with a drift-guard test - mocks now raise realistic SDK errors for missing objects and past-EOF ranges; HTTP test server clamps range ends per RFC 7233; GS mock enforces the 5 MiB non-final part minimum - default streaming buffer raised to 5 MiB; regression tests for all of the above plus parquet-over-streaming compatibility (pyarrow dev dep) Streaming concurrency: - new streaming_max_concurrency client parameter: bounded background part uploads while writing and read-ahead prefetch while reading, sequential by default - GS streaming writes use the XML API multipart upload (via the SDK's transfer-manager machinery) with in-memory parts, replacing the resumable write stream and unifying all multipart providers on one write contract; mock GS implements the XML MPU wire protocol Co-Authored-By: Claude Fable 5 --- HISTORY.md | 10 +- cloudpathlib/azure/azblobclient.py | 25 +- cloudpathlib/client.py | 34 +- cloudpathlib/cloud_io.py | 196 +++++- cloudpathlib/cloudpath.py | 106 ++- cloudpathlib/gs/gs_io.py | 45 +- cloudpathlib/gs/gsclient.py | 136 +++- cloudpathlib/http/httpclient.py | 28 +- cloudpathlib/local/localclient.py | 51 +- cloudpathlib/s3/s3client.py | 73 +-- docs/docs/caching.ipynb | 2 +- docs/docs/streaming_io.md | 152 ++++- requirements-dev.txt | 1 + tests/http_fixtures.py | 6 +- tests/mock_clients/mock_azureblob.py | 10 +- tests/mock_clients/mock_gs.py | 138 ++-- tests/mock_clients/mock_s3.py | 11 + tests/test_caching.py | 51 ++ tests/test_client.py | 25 - tests/test_cloud_io.py | 946 ++++++++++++++++++++++++++- 20 files changed, 1725 insertions(+), 321 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 31b473a2..c8e184f4 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -39,7 +39,15 @@ - Added `CloudTextIO` class implementing `io.TextIOBase` for text streaming operations. - Added provider-specific raw I/O implementations: `_S3StorageRaw`, `_AzureBlobStorageRaw`, `_GSStorageRaw`, `_HttpStorageRaw`. - Added `register_raw_io_class` decorator for registering streaming I/O implementations. - - Added `buffer_size` parameter to `CloudPath.open()` for controlling streaming buffer size. + - Added `buffer_size` parameter to `CloudPath.open()` for controlling streaming buffer size; the default is 5 MiB, matching the block sizes of comparable tools (a full-object `read()` always uses a single ranged request regardless of buffer size). + - Streaming upload extra args for S3 are filtered against botocore's bundled service model (also when the client object does not expose `meta`), so newly added S3 parameters are never silently dropped. + - Added a `streaming_max_concurrency` client parameter (default 1): each open streaming stream may issue up to that many requests in parallel — background part uploads while writing (in-flight memory bounded to concurrency × part size) and read-ahead prefetch of upcoming byte ranges while reading sequentially. + - Google Cloud Storage streaming writes use the XML API multipart upload (via the SDK's transfer-manager machinery) instead of a resumable-upload stream, matching the S3/Azure part mechanism and enabling concurrent part uploads. + - Streaming writes honor `force_overwrite_to_cloud` (and `CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD`), raising `OverwriteNewerCloudError` on close instead of overwriting an object that changed while the stream was open. + - `copy`/`rename`/`replace` work in streaming mode by streaming between clients instead of round-tripping through the local cache (`fspath`). + - Cache files created by the append/update fallback in streaming mode are cleaned up when the client is garbage collected. + - Streaming error paths raise `cloudpathlib.exceptions` types (`CloudPathFileNotFoundError`, `CloudPathNotImplementedError`), which subclass the corresponding builtins. +- Changed `CloudPath.open(mode="a")` on a nonexistent cloud file to create it (matching the stdlib `open` and `pathlib`) instead of raising `CloudPathFileNotFoundError`. **Breaking change for users that relied on the previous error.** (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) ## v0.24.0 (2026-04-29) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index 3a78fbe5..92f01c7a 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -5,11 +5,12 @@ from http import HTTPStatus from pathlib import Path from typing import Any, Callable, Dict, Iterable, Optional, Sequence, Tuple, Union, cast +from uuid import uuid4 from ..client import Client, _UploadPart, register_client_class from ..cloudpath import implementation_registry from ..enums import FileCacheMode -from ..exceptions import MissingCredentialsError +from ..exceptions import CloudPathFileNotFoundError, MissingCredentialsError from .azblobpath import AzureBlobPath try: @@ -56,6 +57,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + streaming_max_concurrency: int = 1, ): """Class constructor. Sets up a [`BlobServiceClient`]( https://docs.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.blobserviceclient?view=azure-python). @@ -103,11 +105,15 @@ def __init__( the `CLOUDPATHLIB_LOCAL_CACHE_DIR` environment variable. content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when writing a file to the cloud. Defaults to `mimetypes.guess_type`. Must return a tuple (content type, content encoding). + streaming_max_concurrency (int): Maximum concurrent requests per open streaming + stream (background part uploads and read prefetch) when using + `FileCacheMode.streaming`; defaults to 1 (sequential). """ super().__init__( local_cache_dir=local_cache_dir, content_type_method=content_type_method, file_cache_mode=file_cache_mode, + streaming_max_concurrency=streaming_max_concurrency, ) if connection_string is None: @@ -502,7 +508,7 @@ def _range_download(self, cloud_path: AzureBlobPath, start: int, end: int) -> by downloader = blob_client.download_blob(offset=start, length=length) return downloader.readall() except ResourceNotFoundError: - raise FileNotFoundError(f"Azure blob not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") except HttpResponseError as e: if (e.error and e.error.code == "InvalidRange") or e.status_code == 416: return b"" @@ -517,11 +523,16 @@ def _get_content_length(self, cloud_path: AzureBlobPath) -> int: properties = blob_client.get_blob_properties() return properties.size except ResourceNotFoundError: - raise FileNotFoundError(f"Azure blob not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") def _initiate_multipart_upload(self, cloud_path: AzureBlobPath) -> str: - """Return the stateless Azure upload ID.""" - return "" + """Return a unique session ID that namespaces this upload's block IDs. + + Azure's uncommitted-block namespace is per-blob, so deterministic block IDs + would let concurrent writers to the same blob overwrite each other's staged + blocks and commit interleaved data. + """ + return uuid4().hex def _upload_part( self, cloud_path: AzureBlobPath, upload_id: str, part_number: int, data: bytes @@ -532,7 +543,9 @@ def _upload_part( blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob ) - block_id = base64.b64encode(f"block-{part_number:06d}".encode()).decode() + # Azure requires all block IDs for a blob to be the same length; uuid4().hex (32) + # plus a fixed-width part number keeps them uniform. + block_id = base64.b64encode(f"{upload_id}-{part_number:06d}".encode()).decode() blob_client.stage_block(block_id=block_id, data=data, length=len(data)) return {"block_id": block_id} diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index 86a7a9d9..85621400 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -12,7 +12,6 @@ Generic, Iterable, Optional, - Protocol, Sequence, Tuple, TypeVar, @@ -27,14 +26,6 @@ _UploadPart = Dict[str, Any] -class _CloudWriteStream(Protocol): - def write(self, data: bytes) -> int: ... - - def close(self) -> None: ... - - def terminate(self) -> None: ... - - def register_client_class(key: str) -> Callable: def decorator(cls: type) -> type: if not issubclass(cls, Client): @@ -56,11 +47,18 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + streaming_max_concurrency: int = 1, ) -> None: self.file_cache_mode = None self._cache_tmp_dir = None self._cloud_meta.validate_completeness() + if streaming_max_concurrency < 1: + raise ValueError("streaming_max_concurrency must be at least 1") + # concurrent requests per open streaming stream (part uploads / read prefetch); + # 1 means fully sequential I/O + self.streaming_max_concurrency = streaming_max_concurrency + # convert strings passed to enum if isinstance(file_cache_mode, str): file_cache_mode = FileCacheMode(file_cache_mode) @@ -110,6 +108,9 @@ def __del__(self) -> None: FileCacheMode.tmp_dir, FileCacheMode.close_file, FileCacheMode.cloudpath_object, + # streaming avoids the cache except for append/update fallbacks, which + # should not outlive the client + FileCacheMode.streaming, ]: self.clear_cache() @@ -248,21 +249,6 @@ def _abort_multipart_upload(self, cloud_path: BoundedCloudPath, upload_id: str) f"{type(self).__name__} does not support streaming I/O (_abort_multipart_upload)." ) - def _open_write_stream(self, cloud_path: BoundedCloudPath) -> _CloudWriteStream: - """Open a provider write stream.""" - raise NotImplementedError( - f"{type(self).__name__} does not support streaming I/O (_open_write_stream)." - ) - - def _write_stream(self, stream: _CloudWriteStream, data: bytes) -> int: - return stream.write(data) - - def _close_write_stream(self, stream: _CloudWriteStream) -> None: - stream.close() - - def _abort_write_stream(self, stream: _CloudWriteStream) -> None: - stream.terminate() - def _put_empty_object(self, cloud_path: BoundedCloudPath) -> None: """Create an empty object.""" raise NotImplementedError( diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 6c1d0893..3351ced3 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -4,8 +4,9 @@ import io from abc import abstractmethod +from concurrent.futures import FIRST_COMPLETED, Future, ThreadPoolExecutor, wait from types import TracebackType -from typing import TYPE_CHECKING, Any, Optional, Type, Union +from typing import TYPE_CHECKING, Any, Callable, Dict, Optional, Type, Union if TYPE_CHECKING: from _typeshed import ReadableBuffer as _ReadableBuffer @@ -17,6 +18,12 @@ from .client import Client from .cloudpath import CloudPath +# Bytes fetched/buffered per request for buffered streaming I/O. Sized to match the +# multi-MiB block sizes used by comparable tools (fsspec/s3fs/gcsfs) so per-request +# latency does not dominate sequential throughput; reads never fetch past EOF, so +# small objects only pay for their actual size. +DEFAULT_BUFFER_SIZE = 5 * 1024 * 1024 + def _validate_file_mode(mode: str) -> None: """Validate an ``open`` mode using the same grammar as the stdlib.""" @@ -47,8 +54,15 @@ def __init__( self._mode = mode self._pos = 0 self._size: Optional[int] = None + self._size_fetch_failed = False self._closed = False self._upload_error: Optional[BaseException] = None + # Optional conflict check run just before a write is finalized (set by CloudPath.open) + self._pre_finalize: Optional[Callable[[], None]] = None + # concurrent requests for this stream (read prefetch / background part uploads) + self._max_concurrency = max(1, int(getattr(client, "streaming_max_concurrency", 1))) + self._executor: Optional[ThreadPoolExecutor] = None + self._prefetch: Dict[int, Future] = {} def readable(self) -> bool: """Return whether object was opened for reading.""" @@ -77,19 +91,14 @@ def readinto(self, b: _WriteableBuffer, /) -> int: start = self._pos end = start + len(view) - 1 - if self._size is None: - try: - self._size = self._get_size() - except Exception: - pass - - if self._size is not None and end >= self._size: - end = self._size - 1 - if start >= self._size: + size = self._known_size() + if size is not None and end >= size: + end = size - 1 + if start >= size: return 0 try: - data = self._range_get(start, end) + data = self._fetch_range(start, end) except Exception as e: if self._is_eof_error(e): return 0 @@ -105,6 +114,25 @@ def readinto(self, b: _WriteableBuffer, /) -> int: self._pos += n return n + def readall(self) -> bytes: + """Read from the current position to EOF in a single ranged request when possible.""" + if self._closed: + raise ValueError("I/O operation on closed file") + if not self.readable(): + raise io.UnsupportedOperation("not readable") + + self._discard_prefetch() + size = self._known_size() + if size is None: + # Size unknown: fall back to the default chunked read loop. + return super().readall() + if self._pos >= size: + return b"" + + data = self._range_get(self._pos, size - 1) + self._pos += len(data) + return data + def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: """ Change stream position. @@ -118,17 +146,18 @@ def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: """ if self._closed: raise ValueError("I/O operation on closed file") + if not self.seekable(): + raise io.UnsupportedOperation("seek") if whence == io.SEEK_SET: new_pos = offset elif whence == io.SEEK_CUR: new_pos = self._pos + offset elif whence == io.SEEK_END: - if self._size is None: - self._size = self._get_size() - if self._size is None: + size = self._known_size() + if size is None: raise OSError("Unable to determine file size for SEEK_END") - new_pos = self._size + offset + new_pos = size + offset else: raise ValueError( f"invalid whence ({whence}, should be {io.SEEK_SET}, " @@ -138,6 +167,8 @@ def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: if new_pos < 0: raise ValueError("negative seek position") + if new_pos != self._pos: + self._discard_prefetch() self._pos = new_pos return self._pos @@ -161,6 +192,7 @@ def write(self, b: _ReadableBuffer, /) -> int: except BaseException as error: self._upload_error = error raise + self._pos += len(data) return len(data) def close(self) -> None: @@ -180,6 +212,8 @@ def close(self) -> None: raise self._upload_error if self.writable(): try: + if self._pre_finalize is not None: + self._pre_finalize() self._finalize_upload() except BaseException: try: @@ -188,6 +222,7 @@ def close(self) -> None: pass raise finally: + self._shutdown_executor() super().close() def _abort_upload(self) -> None: @@ -202,12 +237,76 @@ def _upload_chunk(self, data: bytes) -> None: def _finalize_upload(self) -> None: pass + def _ensure_executor(self) -> Optional[ThreadPoolExecutor]: + """Thread pool for this stream's background requests; None when sequential.""" + if self._max_concurrency <= 1: + return None + if self._executor is None: + self._executor = ThreadPoolExecutor( + max_workers=self._max_concurrency, thread_name_prefix="cloudpathlib-stream" + ) + return self._executor + + def _shutdown_executor(self) -> None: + self._discard_prefetch() + if self._executor is not None: + self._executor.shutdown(wait=True, cancel_futures=True) + self._executor = None + + def _discard_prefetch(self) -> None: + for future in self._prefetch.values(): + future.cancel() + self._prefetch.clear() + + def _fetch_range(self, start: int, end: int) -> bytes: + """Fetch [start, end], serving from and topping up background prefetch when enabled.""" + executor = self._ensure_executor() + if executor is None: + return self._range_get(start, end) + + chunk_len = end - start + 1 + future = self._prefetch.pop(start, None) + if future is not None: + # a short prefetched chunk is a legal short read for RawIOBase consumers + data = future.result() + self._schedule_prefetch(start + max(len(data), 1), chunk_len) + return data + + # position changed or first read: pending prefetches no longer line up + self._discard_prefetch() + data = self._range_get(start, end) + self._schedule_prefetch(end + 1, chunk_len) + return data + + def _schedule_prefetch(self, next_start: int, chunk_len: int) -> None: + """Queue reads ahead of the current position, up to the concurrency window.""" + size = self._known_size() + executor = self._ensure_executor() + if size is None or chunk_len <= 0 or executor is None: + return + start = next_start + while len(self._prefetch) < self._max_concurrency and start < size: + if start not in self._prefetch: + self._prefetch[start] = executor.submit( + self._range_get, start, min(start + chunk_len, size) - 1 + ) + start += chunk_len + def _range_get(self, start: int, end: int) -> bytes: return self._client._range_download(self._cloud_path, start, end) def _get_size(self) -> int: return self._client._get_content_length(self._cloud_path) + def _known_size(self) -> Optional[int]: + """Fetch and memoize the object size, attempting the lookup at most once.""" + if self._size is None and not self._size_fetch_failed: + try: + self._size = self._get_size() + except Exception: + self._size_fetch_failed = True + return self._size + def _is_eof_error(self, error: Exception) -> bool: """ Check if an error indicates EOF/out of range. @@ -229,7 +328,8 @@ class _CloudMultipartStorageRaw(_CloudStorageRaw): def __init__(self, client: Client, cloud_path: CloudPath, mode: str = "rb") -> None: super().__init__(client, cloud_path, mode) self._upload_id: Optional[str] = None - self._parts: list[dict[str, Any]] = [] + self._parts: Dict[int, dict[str, Any]] = {} + self._part_futures: Dict[int, Future] = {} self._part_number = 1 self._write_buffer = bytearray() @@ -252,13 +352,43 @@ def _upload_buffered_part(self, size: int) -> None: if self._upload_id is None: self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) data = bytes(self._write_buffer[:size]) - part = self._client._upload_part( - self._cloud_path, self._upload_id, self._part_number, data - ) del self._write_buffer[:size] - self._parts.append(part) + part_number = self._part_number self._part_number += 1 + executor = self._ensure_executor() + if executor is None: + self._parts[part_number] = self._client._upload_part( + self._cloud_path, self._upload_id, part_number, data + ) + return + + # bound in-flight parts (and their buffered bytes) to the concurrency window + self._harvest_part_futures(block=len(self._part_futures) >= self._max_concurrency) + self._part_futures[part_number] = executor.submit( + self._client._upload_part, self._cloud_path, self._upload_id, part_number, data + ) + + def _harvest_part_futures(self, block: bool = False, drain: bool = False) -> None: + """Collect finished background part uploads, re-raising the first failure.""" + if not self._part_futures: + return + if drain: + wait(list(self._part_futures.values())) + elif block: + wait(list(self._part_futures.values()), return_when=FIRST_COMPLETED) + + error: Optional[BaseException] = None + for part_number in [n for n, f in self._part_futures.items() if f.done()]: + future = self._part_futures.pop(part_number) + try: + self._parts[part_number] = future.result() + except BaseException as e: + if error is None: + error = e + if error is not None: + raise error + def _upload_chunk(self, data: bytes) -> None: if not data: return @@ -271,14 +401,19 @@ def _upload_chunk(self, data: bytes) -> None: def _finalize_upload(self) -> None: if self._write_buffer: self._upload_buffered_part(len(self._write_buffer)) + self._harvest_part_futures(drain=True) if self._upload_id is None: self._client._put_empty_object(self._cloud_path) return - self._client._complete_multipart_upload(self._cloud_path, self._upload_id, self._parts) + ordered_parts = [self._parts[number] for number in sorted(self._parts)] + self._client._complete_multipart_upload(self._cloud_path, self._upload_id, ordered_parts) self._reset_upload() def _abort_upload(self) -> None: try: + for future in self._part_futures.values(): + future.cancel() + wait(list(self._part_futures.values())) if self._upload_id is not None: self._client._abort_multipart_upload(self._cloud_path, self._upload_id) finally: @@ -287,6 +422,7 @@ def _abort_upload(self) -> None: def _reset_upload(self) -> None: self._upload_id = None self._parts.clear() + self._part_futures.clear() self._part_number = 1 self._write_buffer.clear() @@ -300,7 +436,8 @@ def __init__( client: Client, cloud_path: CloudPath, mode: str = "rb", - buffer_size: int = 64 * 1024, + buffer_size: int = DEFAULT_BUFFER_SIZE, + pre_finalize: Optional[Callable[[], None]] = None, ) -> None: _validate_file_mode(mode) if "b" not in mode: @@ -311,6 +448,8 @@ def __init__( ) raw = raw_io_class(client, cloud_path, mode) + if pre_finalize is not None: + raw._pre_finalize = pre_finalize if "r" in mode: self._buffer: Union[io.BufferedReader, io.BufferedWriter] @@ -403,8 +542,9 @@ def __init__( encoding: Optional[str] = None, errors: Optional[str] = None, newline: Optional[str] = None, - buffer_size: int = 64 * 1024, + buffer_size: int = DEFAULT_BUFFER_SIZE, line_buffering: bool = False, + pre_finalize: Optional[Callable[[], None]] = None, ) -> None: _validate_file_mode(mode) if "b" in mode: @@ -414,19 +554,23 @@ def __init__( "append and update modes require the local-cache implementation" ) + # only r/w/x can reach here: 'b' was rejected above and 'a'/'+' raised earlier if "t" not in mode and "r" in mode: binary_mode = mode.replace("r", "rb", 1) elif "t" not in mode and "w" in mode: binary_mode = mode.replace("w", "wb", 1) - elif "t" not in mode and "a" in mode: - binary_mode = mode.replace("a", "ab", 1) elif "t" not in mode and "x" in mode: binary_mode = mode.replace("x", "xb", 1) else: binary_mode = mode.replace("t", "b") buffered = CloudBufferedIO( - raw_io_class, client, cloud_path, mode=binary_mode, buffer_size=buffer_size + raw_io_class, + client, + cloud_path, + mode=binary_mode, + buffer_size=buffer_size, + pre_finalize=pre_finalize, ) super().__init__( diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 6fdf22bc..2bb8043b 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -415,8 +415,8 @@ def __fspath__(self) -> str: # Check if streaming mode is enabled if self.client.file_cache_mode == FileCacheMode.streaming: raise CloudPathNotImplementedError( - "fspath is not available in streaming mode. " - "Streaming mode does not create cached files on disk. " + "fspath is not available in streaming mode, which avoids the local file cache " + "(except for append/update modes of `open`, which fall back to it). " "Use CloudPath.open() to read/write data directly." ) @@ -854,8 +854,6 @@ def open( raise ValueError("binary mode doesn't take a newline argument") if not binary_mode and buffering == 0: raise ValueError("can't have unbuffered text I/O") - if buffering < -1: - raise ValueError("invalid buffering size") if buffer_size is not None and buffer_size <= 0: raise ValueError("buffer_size must be greater than zero") @@ -881,24 +879,34 @@ def open( _streaming_unsupported = any(m in mode for m in ("a", "+")) if self.client.file_cache_mode == FileCacheMode.streaming and not _streaming_unsupported: # Import here to keep it localized to streaming functionality - from .cloud_io import CloudBufferedIO, CloudTextIO + from .cloud_io import DEFAULT_BUFFER_SIZE, CloudBufferedIO, CloudTextIO # Get the raw IO class from the cloud implementation raw_io_class = self._cloud_meta.raw_io_class if raw_io_class is None: - raise NotImplementedError( + raise CloudPathNotImplementedError( f"Streaming I/O is not implemented for {self._cloud_meta.name}" ) + # Overwrite protection mirroring the cached path's upload conflict check + pre_finalize = None + if "w" in mode or "x" in mode: + pre_finalize = self._streaming_overwrite_check( + exists_on_cloud, force_overwrite_to_cloud + ) + # Calculate buffer size from buffering or buffer_size parameter if buffer_size is None: if buffering == 0: # A raw provider adapter is the streaming equivalent of FileIO. - return raw_io_class(self.client, self, mode) # type: ignore[return-value] + raw = raw_io_class(self.client, self, mode) + if pre_finalize is not None: + raw._pre_finalize = pre_finalize + return raw # type: ignore[return-value] elif buffering > 0: buffer_size = buffering else: - buffer_size = 64 * 1024 # Default 64 KiB + buffer_size = DEFAULT_BUFFER_SIZE # Return appropriate streaming I/O object if "b" in mode: @@ -908,6 +916,7 @@ def open( cloud_path=self, mode=mode, buffer_size=buffer_size, + pre_finalize=pre_finalize, ) else: return CloudTextIO( # type: ignore[return-value] @@ -920,6 +929,7 @@ def open( newline=newline, buffer_size=buffer_size, line_buffering=buffering == 1, + pre_finalize=pre_finalize, ) # Standard cached mode @@ -992,6 +1002,38 @@ def _patched_close_empty_cache(*args, **kwargs): return buffer + def _streaming_overwrite_check( + self, exists_on_cloud: bool, force_overwrite_to_cloud: Optional[bool] + ) -> Optional[Callable[[], None]]: + """Build the pre-upload conflict check for a streaming write, mirroring the cached + path's `OverwriteNewerCloudError` protection in `_upload_file_to_cloud`. Returns None + when overwriting is forced.""" + if force_overwrite_to_cloud is None: + force_overwrite_to_cloud = os.environ.get( + "CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD", "False" + ).lower() in ["1", "true"] + + if force_overwrite_to_cloud: + return None + + original_mtime = self.stat().st_mtime if exists_on_cloud else None + + def check() -> None: + try: + stats = self.stat() + except (NoStatError, CloudPathFileNotFoundError, FileNotFoundError): + # nothing on the cloud to conflict with + return + if original_mtime is None or stats.st_mtime > original_mtime: + raise OverwriteNewerCloudError( + f"Cloud path ({self}) changed while it was open for streaming write, " + f"but is being requested to be overwritten on close. Either (1) pass " + f"`force_overwrite_to_cloud=True` to overwrite; or (2) set env var " + f"CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD=1." + ) + + return check + def replace(self, target: Self) -> Self: if type(self) is not type(target): raise TypeError( @@ -1396,19 +1438,43 @@ def _copy( else: if not destination.exists() or destination.is_file(): - return cast( - Union[Path, Self], - destination.upload_from( - self.fspath, force_overwrite_to_cloud=force_overwrite_to_cloud - ), - ) + target_path: CloudPath = destination else: - return cast( - Union[Path, Self], - (destination / self.name).upload_from( - self.fspath, force_overwrite_to_cloud=force_overwrite_to_cloud - ), - ) + target_path = destination / self.name + + # streaming mode has no local cache to round-trip through (fspath is + # unavailable), so copy by streaming between the two clients directly + if self.client.file_cache_mode == FileCacheMode.streaming: + if force_overwrite_to_cloud is None: + force_overwrite_to_cloud = os.environ.get( + "CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD", "False" + ).lower() in ["1", "true"] + + if ( + not force_overwrite_to_cloud + and target_path.exists() + and target_path.stat().st_mtime >= self.stat().st_mtime + ): + raise OverwriteNewerCloudError( + f"File ({target_path}) is newer than ({self}). " + f"To overwrite " + f"pass `force_overwrite_to_cloud=True`." + ) + + with ( + self.open("rb") as src_file, + target_path.open("wb", force_overwrite_to_cloud=True) as dst_file, + ): + shutil.copyfileobj(src_file, dst_file) + + return cast(Union[Path, Self], target_path) + + return cast( + Union[Path, Self], + target_path.upload_from( + self.fspath, force_overwrite_to_cloud=force_overwrite_to_cloud + ), + ) @overload def copy( diff --git a/cloudpathlib/gs/gs_io.py b/cloudpathlib/gs/gs_io.py index e53ec968..6b9bf298 100644 --- a/cloudpathlib/gs/gs_io.py +++ b/cloudpathlib/gs/gs_io.py @@ -1,39 +1,16 @@ """Google Cloud Storage streaming I/O.""" -from __future__ import annotations - -from typing import Optional - -from ..client import Client, _CloudWriteStream -from ..cloud_io import _CloudStorageRaw -from ..cloudpath import CloudPath, register_raw_io_class +from ..cloud_io import _CloudMultipartStorageRaw +from ..cloudpath import register_raw_io_class @register_raw_io_class("gs") -class _GSStorageRaw(_CloudStorageRaw): - """GCS range reads and resumable writes.""" - - def __init__(self, client: Client, cloud_path: CloudPath, mode: str = "rb") -> None: - super().__init__(client, cloud_path, mode) - self._writer: Optional[_CloudWriteStream] = None - - def _upload_chunk(self, data: bytes) -> None: - if not data: - return - if self._writer is None: - self._writer = self._client._open_write_stream(self._cloud_path) - self._client._write_stream(self._writer, data) - - def _finalize_upload(self) -> None: - if self._writer is None: - self._client._put_empty_object(self._cloud_path) - return - self._client._close_write_stream(self._writer) - self._writer = None - - def _abort_upload(self) -> None: - if self._writer is not None: - try: - self._client._abort_write_stream(self._writer) - finally: - self._writer = None +class _GSStorageRaw(_CloudMultipartStorageRaw): + """GCS range reads and XML multipart-upload writes.""" + + # GCS XML multipart uploads require non-final parts of at least 5 MiB. + _INITIAL_PART_SIZE = 5 * 1024 * 1024 + _MAX_PART_SIZE = 5 * 1024 * 1024 * 1024 + _MAX_PARTS = 10_000 + _PARTS_PER_SIZE_TIER = 1_000 + _PROVIDER_NAME = "GCS multipart" diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index baf30a33..99795a93 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -1,13 +1,15 @@ from datetime import datetime, timedelta +from functools import lru_cache import mimetypes import os from pathlib import Path, PurePosixPath -from typing import Any, Callable, Dict, Iterable, Optional, TYPE_CHECKING, Tuple, Union +from typing import Any, Callable, Dict, Iterable, Optional, TYPE_CHECKING, Tuple, Union, Sequence import warnings -from ..client import Client, _CloudWriteStream, register_client_class +from ..client import Client, _UploadPart, register_client_class from ..cloudpath import implementation_registry from ..enums import FileCacheMode +from ..exceptions import CloudPathFileNotFoundError, CloudPathNotImplementedError from .gspath import GSPath try: @@ -18,7 +20,7 @@ from google.api_core.exceptions import NotFound as GCSNotFound from google.auth import default as google_default_auth from google.auth.exceptions import DefaultCredentialsError - from google.cloud.storage import Client as StorageClient + from google.cloud.storage.client import Client as StorageClient except ModuleNotFoundError: implementation_registry["gs"].dependencies_loaded = False @@ -26,9 +28,49 @@ try: - from google.cloud.storage import transfer_manager + import google.cloud.storage.transfer_manager as transfer_manager except ImportError: - transfer_manager = None + transfer_manager = None # type: ignore[assignment] + +try: + from google.cloud.storage._media.requests import XMLMPUContainer, XMLMPUPart +except ImportError: + try: + # older google-cloud-storage versions expose these via google-resumable-media + from google.resumable_media.requests import ( # type: ignore[assignment,no-redef] + XMLMPUContainer, + XMLMPUPart, + ) + except ImportError: + XMLMPUContainer = None # type: ignore[assignment,misc] + XMLMPUPart = None # type: ignore[assignment,misc] + + +@lru_cache(maxsize=1) +def _bytes_mpu_part_class() -> type: + """XMLMPUPart subclass that uploads an in-memory payload instead of a file slice.""" + + class _BytesXMLMPUPart(XMLMPUPart): + def __init__(self, upload_url, upload_id, data, part_number, headers=None): + super().__init__( + upload_url, + upload_id, + filename="", + start=0, + end=len(data), + part_number=part_number, + headers=headers, + checksum=None, + ) + self._data = bytes(data) + + def _prepare_upload_request(self): + if self.finished: + raise ValueError("This part has already been uploaded.") + query = f"?partNumber={self._part_number}&uploadId={self._upload_id}" + return "PUT", self.upload_url + query, self._data, self._headers + + return _BytesXMLMPUPart @register_client_class("gs") @@ -48,6 +90,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + streaming_max_concurrency: int = 1, download_chunks_concurrently_kwargs: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, retry: Optional["Retry"] = None, @@ -84,6 +127,9 @@ def __init__( the `CLOUDPATHLIB_LOCAL_CACHE_DIR` environment variable. content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when writing a file to the cloud. Defaults to `mimetypes.guess_type`. Must return a tuple (content type, content encoding). + streaming_max_concurrency (int): Maximum concurrent requests per open streaming + stream (background part uploads and read prefetch) when using + `FileCacheMode.streaming`; defaults to 1 (sequential). download_chunks_concurrently_kwargs (Optional[Dict[str, Any]]): Keyword arguments to pass to [`download_chunks_concurrently`](https://cloud.google.com/python/docs/reference/storage/latest/google.cloud.storage.transfer_manager#google_cloud_storage_transfer_manager_download_chunks_concurrently) for sliced parallel downloads; Only available in `google-cloud-storage` version 2.7.0 or later, otherwise ignored and a warning is emitted. @@ -124,6 +170,7 @@ def __init__( local_cache_dir=local_cache_dir, content_type_method=content_type_method, file_cache_mode=file_cache_mode, + streaming_max_concurrency=streaming_max_concurrency, ) def _get_metadata(self, cloud_path: GSPath) -> Optional[Dict[str, Any]]: @@ -318,12 +365,14 @@ def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: try: return blob.download_as_bytes(start=start, end=end, **self.blob_kwargs) except GCSNotFound: - raise FileNotFoundError(f"GCS object not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") except Exception as e: - error_str = str(e) - if "416" in error_str or "Requested Range Not Satisfiable" in error_str: - return b"" - if hasattr(e, "code") and e.code == 416: + # match a range-past-EOF error structurally (status 416) rather than by + # substring, so unrelated errors are not silently treated as EOF + status = getattr(e, "code", None) + if status is None: + status = getattr(getattr(e, "response", None), "status_code", None) + if status == 416 or "Requested Range Not Satisfiable" in str(e): return b"" raise @@ -334,20 +383,63 @@ def _get_content_length(self, cloud_path: GSPath) -> int: blob.reload(**self.blob_kwargs) return blob.size except GCSNotFound: - raise FileNotFoundError(f"GCS object not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") - def _open_write_stream(self, cloud_path: GSPath) -> _CloudWriteStream: - """Open a GCS resumable upload.""" - blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) - kwargs: Dict[str, Any] = {} + def _mpu_url(self, cloud_path: GSPath) -> str: + """XML API URL for a multipart upload of this object.""" + from urllib.parse import quote + + connection = self.client._connection + hostname = ( + connection.get_api_base_url_for_mtls() + if hasattr(connection, "get_api_base_url_for_mtls") + else connection.API_BASE_URL + ) + return f"{hostname}/{cloud_path.bucket}/{quote(cloud_path.blob)}" + + def _initiate_multipart_upload(self, cloud_path: GSPath) -> str: + """Start a GCS XML multipart upload, threading content type and encoding.""" + if XMLMPUContainer is None: + raise CloudPathNotImplementedError( + "Streaming writes require google-cloud-storage with XML multipart support." + ) + content_type = None + headers = {} if self.content_type_method is not None: - content_type, _ = self.content_type_method(str(cloud_path)) - if content_type is not None: - kwargs["content_type"] = content_type - for k in ("timeout", "retry"): - if k in self.blob_kwargs: - kwargs[k] = self.blob_kwargs[k] - return blob.open("wb", **kwargs) + content_type, content_encoding = self.content_type_method(str(cloud_path)) + if content_encoding is not None: + headers["Content-Encoding"] = content_encoding + container = XMLMPUContainer(self._mpu_url(cloud_path), cloud_path.blob, headers=headers) + container.initiate( + transport=self.client._http, content_type=content_type or "application/octet-stream" + ) + return container.upload_id + + def _upload_part( + self, cloud_path: GSPath, upload_id: str, part_number: int, data: bytes + ) -> _UploadPart: + """Upload one part of a GCS XML multipart upload.""" + part = _bytes_mpu_part_class()(self._mpu_url(cloud_path), upload_id, data, part_number) + part.upload(self.client._http) + return {"part_number": part_number, "etag": part.etag} + + def _complete_multipart_upload( + self, cloud_path: GSPath, upload_id: str, parts: Sequence[_UploadPart] + ) -> None: + """Finalize a GCS XML multipart upload.""" + container = XMLMPUContainer( + self._mpu_url(cloud_path), cloud_path.blob, upload_id=upload_id + ) + for part in parts: + container.register_part(part["part_number"], part["etag"]) + container.finalize(self.client._http) + + def _abort_multipart_upload(self, cloud_path: GSPath, upload_id: str) -> None: + """Cancel a GCS XML multipart upload, discarding uploaded parts.""" + container = XMLMPUContainer( + self._mpu_url(cloud_path), cloud_path.blob, upload_id=upload_id + ) + container.cancel(self.client._http) def _put_empty_object(self, cloud_path: GSPath) -> None: """Upload a zero-byte GCS object.""" diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 5dcecbb6..790a5043 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -13,6 +13,7 @@ from cloudpathlib.client import Client, register_client_class from cloudpathlib.enums import FileCacheMode +from cloudpathlib.exceptions import CloudPathFileNotFoundError, CloudPathNotImplementedError from .httppath import HttpPath @@ -24,6 +25,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + streaming_max_concurrency: int = 1, auth: Optional[urllib.request.BaseHandler] = None, custom_list_page_parser: Optional[Callable[[str], Iterable[str]]] = None, custom_dir_matcher: Optional[Callable[[str], bool]] = None, @@ -41,12 +43,20 @@ def __init__( the `CLOUDPATHLIB_LOCAL_CACHE_DIR` environment variable. content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when uploading files. Defaults to `mimetypes.guess_type`. + streaming_max_concurrency (int): Maximum concurrent requests per open streaming + stream (background part uploads and read prefetch) when using + `FileCacheMode.streaming`; defaults to 1 (sequential). auth (Optional[urllib.request.BaseHandler]): Authentication handler to use for the client. Defaults to None, which will use the default handler. custom_list_page_parser (Optional[Callable[[str], Iterable[str]]]): Function to call to parse pages that list directories. Defaults to looking for `` tags with `href`. custom_dir_matcher (Optional[Callable[[str], bool]]): Function to call to identify a url that is a directory. Defaults to a lambda that checks if the path ends with a `/`. write_file_http_method (Optional[str]): HTTP method to use when writing files. Defaults to "PUT", but some servers may want "POST". """ - super().__init__(file_cache_mode, local_cache_dir, content_type_method) + super().__init__( + file_cache_mode, + local_cache_dir, + content_type_method, + streaming_max_concurrency=streaming_max_concurrency, + ) self.auth = auth if self.auth is None: @@ -105,8 +115,14 @@ def _exists(self, cloud_path: HttpPath) -> bool: raise def _move_file(self, src: HttpPath, dst: HttpPath, remove_src: bool = True) -> HttpPath: - # .fspath will download the file so the local version can be uploaded - self._upload_file(src.fspath, dst) + if self.file_cache_mode == FileCacheMode.streaming: + # streaming mode has no local cache to round-trip through (fspath is + # unavailable), so stream between the two paths directly + with src.open("rb") as src_file, dst.open("wb") as dst_file: + shutil.copyfileobj(src_file, dst_file) + else: + # .fspath will download the file so the local version can be uploaded + self._upload_file(src.fspath, dst) if remove_src: try: self._remove(src) @@ -221,7 +237,7 @@ def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes raise OSError(f"Unexpected status {status} for range request on {cloud_path}") except urllib.error.HTTPError as e: if e.code == 404: - raise FileNotFoundError(f"HTTP resource not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") elif e.code == 416: return b"" raise @@ -237,7 +253,7 @@ def _get_content_length(self, cloud_path: "HttpPath") -> int: raise ValueError(f"HTTP resource does not provide Content-Length: {cloud_path}") except urllib.error.HTTPError as e: if e.code == 404: - raise FileNotFoundError(f"HTTP resource not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") raise def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) -> None: @@ -258,7 +274,7 @@ def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) ) except urllib.error.HTTPError as e: if e.code == 405: - raise NotImplementedError( + raise CloudPathNotImplementedError( f"HTTP server does not support {self.write_file_http_method} requests for {url}" ) raise OSError(f"HTTP upload failed: {e}") diff --git a/cloudpathlib/local/localclient.py b/cloudpathlib/local/localclient.py index 77d131be..e09e0f91 100644 --- a/cloudpathlib/local/localclient.py +++ b/cloudpathlib/local/localclient.py @@ -7,7 +7,6 @@ import sys from tempfile import TemporaryDirectory from time import sleep -from types import TracebackType from typing import ( Any, Callable, @@ -18,14 +17,14 @@ Optional, Sequence, Tuple, - Type, Union, ) from urllib.parse import parse_qsl, urlencode, urlsplit, urlunsplit -from ..client import Client, _CloudWriteStream, _UploadPart +from ..client import Client, _UploadPart from ..cloudpath import _ensure_local_path_within_base from ..enums import FileCacheMode +from ..exceptions import CloudPathFileNotFoundError from .localpath import LocalPath # Destination-parent FileNotFoundError retries after the first copy attempt. @@ -51,6 +50,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + streaming_max_concurrency: int = 1, **kwargs: Any, ) -> None: self._local_storage_dir = local_storage_dir @@ -60,6 +60,7 @@ def __init__( local_cache_dir=local_cache_dir, content_type_method=content_type_method, file_cache_mode=file_cache_mode, + streaming_max_concurrency=streaming_max_concurrency, ) @classmethod @@ -251,7 +252,7 @@ def _range_download(self, cloud_path: LocalPath, start: int, end: int) -> bytes: """Download a byte range from local storage.""" local_path = self._cloud_path_to_local(cloud_path) if not local_path.exists(): - raise FileNotFoundError(f"File not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"File not found: {cloud_path}") with open(local_path, "rb") as f: f.seek(start) @@ -262,7 +263,7 @@ def _get_content_length(self, cloud_path: LocalPath) -> int: """Get the size of a local file.""" local_path = self._cloud_path_to_local(cloud_path) if not local_path.exists(): - raise FileNotFoundError(f"File not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"File not found: {cloud_path}") return local_path.stat().st_size def _initiate_multipart_upload(self, cloud_path: LocalPath) -> str: @@ -297,10 +298,6 @@ def _complete_multipart_upload( def _abort_multipart_upload(self, cloud_path: LocalPath, upload_id: str) -> None: self._local_upload_buffers.pop(upload_id, None) - def _open_write_stream(self, cloud_path: LocalPath) -> _CloudWriteStream: - local_path = self._cloud_path_to_local(cloud_path) - return _LocalWriteStream(local_path) - def _put_empty_object(self, cloud_path: LocalPath) -> None: """Create a zero-byte local file.""" local_path = self._cloud_path_to_local(cloud_path) @@ -308,42 +305,6 @@ def _put_empty_object(self, cloud_path: LocalPath) -> None: local_path.write_bytes(b"") -class _LocalWriteStream: - """Buffered local write stream.""" - - def __init__(self, local_path: Path) -> None: - self._local_path = local_path - self._buf: bytearray = bytearray() - self._closed: bool = False - - def write(self, data: bytes) -> int: - if self._closed: - raise ValueError("I/O operation on closed stream") - self._buf.extend(data) - return len(data) - - def close(self) -> None: - if not self._closed: - self._closed = True - self._local_path.parent.mkdir(parents=True, exist_ok=True) - self._local_path.write_bytes(bytes(self._buf)) - - def terminate(self) -> None: - self._closed = True - self._buf.clear() - - def __enter__(self) -> "_LocalWriteStream": - return self - - def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[TracebackType], - ) -> None: - self.close() - - _temp_dirs_to_clean: List[TemporaryDirectory] = [] diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index f3e03804..b6e22c59 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -1,3 +1,4 @@ +from functools import lru_cache import mimetypes import os from pathlib import Path, PurePosixPath @@ -6,7 +7,7 @@ from ..client import Client, _UploadPart, register_client_class from ..cloudpath import implementation_registry from ..enums import FileCacheMode -from ..exceptions import CloudPathException +from ..exceptions import CloudPathException, CloudPathFileNotFoundError from .s3path import S3Path try: @@ -19,6 +20,12 @@ implementation_registry["s3"].dependencies_loaded = False +@lru_cache(maxsize=None) +def _botocore_s3_operation_model(operation_name: str): + """Operation model from the installed botocore's bundled S3 service data (no network).""" + return botocore.session.get_session().get_service_model("s3").operation_model(operation_name) + + @register_client_class("s3") class S3Client(Client): """Client class for AWS S3 which handles authentication with AWS for [`S3Path`](../s3path/) @@ -40,6 +47,7 @@ def __init__( addressing_style: Optional[str] = None, boto3_transfer_config: Optional["TransferConfig"] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + streaming_max_concurrency: int = 1, extra_args: Optional[dict] = None, ): """Class constructor. Sets up a boto3 [`Session`]( @@ -78,6 +86,9 @@ def __init__( [s3 transfers](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.TransferConfig) content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when writing a file to the cloud. Defaults to `mimetypes.guess_type`. Must return a tuple (content type, content encoding). + streaming_max_concurrency (int): Maximum concurrent requests per open streaming + stream (background part uploads and read prefetch) when using + `FileCacheMode.streaming`; defaults to 1 (sequential). extra_args (Optional[dict]): A dictionary of extra args passed to download, upload, copy, and list functions as relevant. You can include any keys supported by upload, download, or copy operations, and we will pass on only the relevant args. To see the @@ -133,6 +144,7 @@ def __init__( local_cache_dir=local_cache_dir, content_type_method=content_type_method, file_cache_mode=file_cache_mode, + streaming_max_concurrency=streaming_max_concurrency, ) def _get_boto3_config(self, signature_version: Optional[str] = None): @@ -417,7 +429,7 @@ def _range_download(self, cloud_path: S3Path, start: int, end: int) -> bytes: except ClientError as e: code = e.response["Error"]["Code"] if code in ("404", "NoSuchKey"): - raise FileNotFoundError(f"S3 object not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") if code in ("InvalidRange", "416"): return b"" raise @@ -441,64 +453,19 @@ def _get_content_length(self, cloud_path: S3Path) -> int: except ClientError as e: code = e.response["Error"]["Code"] if code in ("404", "NoSuchKey"): - raise FileNotFoundError(f"S3 object not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") raise def _streaming_extra_args(self, operation_name: str) -> Dict[str, Any]: """Return upload extras accepted by a specific low-level S3 operation.""" try: operation = self.client.meta.service_model.operation_model(operation_name) - allowed = set(operation.input_shape.members) except AttributeError: - # The test client intentionally implements only a small boto3 surface. - fallback_allowed = { - "CreateMultipartUpload": { - "ACL", - "CacheControl", - "ChecksumAlgorithm", - "ContentDisposition", - "ContentEncoding", - "ContentLanguage", - "ContentType", - "ExpectedBucketOwner", - "Expires", - "Metadata", - "ObjectLockLegalHoldStatus", - "ObjectLockMode", - "ObjectLockRetainUntilDate", - "RequestPayer", - "SSECustomerAlgorithm", - "SSECustomerKey", - "SSECustomerKeyMD5", - "SSEKMSEncryptionContext", - "SSEKMSKeyId", - "ServerSideEncryption", - "StorageClass", - "Tagging", - "WebsiteRedirectLocation", - }, - "UploadPart": { - "ChecksumAlgorithm", - "ExpectedBucketOwner", - "RequestPayer", - "SSECustomerAlgorithm", - "SSECustomerKey", - "SSECustomerKeyMD5", - }, - "CompleteMultipartUpload": { - "ChecksumCRC32", - "ChecksumCRC32C", - "ChecksumCRC64NVME", - "ChecksumSHA1", - "ChecksumSHA256", - "ChecksumType", - "ExpectedBucketOwner", - "MpuObjectSize", - "RequestPayer", - }, - "PutObject": set(self.boto3_ul_extra_args), - } - allowed = fallback_allowed[operation_name] + # client objects that do not expose botocore's meta (e.g. test doubles): + # consult the installed botocore service model directly so filtering + # behaves identically to a real boto3 client + operation = _botocore_s3_operation_model(operation_name) + allowed = set(operation.input_shape.members) return {key: value for key, value in self.boto3_ul_extra_args.items() if key in allowed} def _streaming_object_args(self, operation_name: str, cloud_path: S3Path) -> Dict[str, Any]: diff --git a/docs/docs/caching.ipynb b/docs/docs/caching.ipynb index 28d40135..a7bb5157 100644 --- a/docs/docs/caching.ipynb +++ b/docs/docs/caching.ipynb @@ -483,7 +483,7 @@ " - `\"tmp_dir\"` (_default_) - Cached files are saved using Python's [`TemporaryDirectory`](https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory). This provides three potential avenues for the cache to get cleared. First, cached files are removed by `cloudpathlib` when the `*Client` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called. Second, Python clears a temporary directory if all references to that directory leave scope. Finally since the folder is in an operating system temp directory, it will be cleared by the OS (which, depending on the OS, may not happen until system restart).\n", " - `\"cloudpath_object\"` - cached files are removed when the `CloudPath` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called.\n", " - `\"close_file\"` - since we only download a file to the cache on read/write, we can ensure the cache is empty by removing the cached file as soon as the read/write is finished. Reading/writing the same `CloudPath` multiple times will result in re-downloading the file from the cloud. Note: For this to work, `cloudpath` needs to be in control of the reading/writing of files. This means your code base should use the `CloudPath.write_*`, `CloudPath.read_*`, and `CloudPath.open` methods. Using `CloudPath.fspath` (or passing the `CloudPath` as a `PathLike` object to another library) will not clear the cache on file close since it was not opened by `cloudpathlib`.\n", - " - `\"streaming\"` - files are never written to disk. Data is streamed directly from/to cloud storage using range requests for reads and multipart/block uploads for writes. This mode uses only small in-memory buffers and is ideal for large files or memory-constrained environments. Note: `.fspath` and similar properties are not available in streaming mode. Currently supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (read-only).\n", + " - `\"streaming\"` - supported read/write modes stream directly from/to cloud storage using range requests for reads and multipart/block uploads for writes, without writing cache files to disk (append and update modes are the exception: they fall back to the local cache, which is cleaned up when the client is garbage collected). This mode uses only small in-memory buffers and is ideal for large files or memory-constrained environments. Note: `.fspath` and similar properties are not available in streaming mode. Currently supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (read-only).\n", "\n", "Note: Although we use it in the examples below, for `\"cloudpath_object\"` and `\"tmp_dir\"` you normally shouldn't need to explicitly call `del`. Letting Python garbage collection run on its own once all references to the object leave scope should be sufficient. See details [in the Python docs](https://docs.python.org/3/reference/datamodel.html?highlight=__del__#object.__del__)).\n" ] diff --git a/docs/docs/streaming_io.md b/docs/docs/streaming_io.md index e0fcddf6..d0e67730 100644 --- a/docs/docs/streaming_io.md +++ b/docs/docs/streaming_io.md @@ -132,7 +132,7 @@ CloudPath.open( - `encoding`: Text encoding (default: platform locale, text mode only) - `errors`: Error handling strategy (default: `"strict"`, text mode only) - `newline`: Newline handling (text mode only) -- `buffer_size`: Size of read/write buffer in bytes (default: 64 KiB) +- `buffer_size`: Size of read/write buffer in bytes (default: 5 MiB) **Returns:** @@ -140,6 +140,25 @@ CloudPath.open( - `CloudTextIO` for text modes (when streaming) - Standard file object (when not streaming) +### Compatibility with standard interfaces + +Streaming file objects subclass the standard `io` base classes, so code written +against Python's file protocol works without modification: + +- `CloudBufferedIO` is an `io.BufferedIOBase` (and `io.IOBase`); `CloudTextIO` + is an `io.TextIOWrapper`. `isinstance` checks against the `io` ABCs pass. +- `CloudPath.open()` keeps the same signature and mode grammar as + `pathlib.Path.open()`, so call sites that accept either a `Path` or a + `CloudPath` behave the same in both cases. +- Any library that accepts an open file object works with streaming streams: + `json`, `csv`, `pickle`, `zipfile`, `tarfile`, `pandas`, `PIL.Image.open`, + `pyarrow`, etc. Read streams are seekable, so formats that require random + access (zip archives, parquet) also work. +- The one intentional gap is `os.PathLike`: `os.fspath(path)` / + `path.fspath` raise `CloudPathNotImplementedError` in streaming mode because + there is no local file to point at. Pass the open file object instead of the + path to libraries that require a filesystem path. + ### `CloudBufferedIO` Binary file-like object implementing `io.BufferedIOBase`. @@ -292,6 +311,36 @@ with write_path.open("wt") as f: df.to_csv(f, index=False) ``` + +### Using with parquet + +Streaming read streams are seekable, which is exactly what columnar formats +need: `pyarrow` seeks to the parquet footer to read the file metadata, then +fetches only the byte ranges for the row groups and columns you ask for — the +rest of the object is never downloaded. + +```python +import pyarrow.parquet as pq +from cloudpathlib import S3Path, S3Client +from cloudpathlib.enums import FileCacheMode + +client = S3Client(file_cache_mode=FileCacheMode.streaming) +path = S3Path("s3://bucket/data.parquet", client=client) + +with path.open("rb") as f: + parquet_file = pq.ParquetFile(f) + + # metadata comes from the footer alone + print(parquet_file.metadata.num_rows, parquet_file.schema_arrow) + + # reads only the column chunks for "user_id" + table = parquet_file.read(columns=["user_id"]) +``` + +For column-slicing workloads, a smaller `buffer_size` (e.g. 64 KiB - 1 MiB) +reduces over-fetch around the footer and column chunk boundaries; for reading +most of the file, keep the default. + ### Using with PIL/Pillow ```python @@ -321,14 +370,14 @@ from cloudpathlib.enums import FileCacheMode client = S3Client(file_cache_mode=FileCacheMode.streaming) -# Use larger buffer for better throughput on fast connections +# Use a larger buffer for better throughput on fast connections path = S3Path("s3://bucket/large-file.bin", client=client) -with path.open("rb", buffer_size=1024*1024) as f: +with path.open("rb", buffer_size=16 * 1024 * 1024) as f: data = f.read() -# Use smaller buffer for memory-constrained environments +# Use a smaller buffer for memory-constrained environments path = S3Path("s3://bucket/file.txt", client=client) -with path.open("rt", buffer_size=8192) as f: +with path.open("rt", buffer_size=64 * 1024) as f: for line in f: process(line) ``` @@ -339,9 +388,23 @@ with path.open("rt", buffer_size=8192) as f: The `buffer_size` parameter controls how much data is fetched from/written to cloud storage in each request: -- **Larger buffers** (256 KiB - 1 MiB): Better throughput, fewer requests, more memory -- **Smaller buffers** (8 KiB - 64 KiB): Lower memory usage, more requests, lower throughput -- **Default** (64 KiB): Good balance for most use cases +- **Default** (5 MiB): Matches the multi-MiB block sizes used by comparable + tools (fsspec/s3fs/gcsfs) so per-request latency does not dominate sequential + throughput. Reads never fetch past EOF, so small objects only pay for their + actual size. +- **Smaller buffers** (64 KiB - 1 MiB): Less memory per open stream and less + over-fetch when reading small slices of large objects, at the cost of more + requests for sequential scans. +- **Larger buffers**: Fewer, bigger requests; memory per open stream grows to + match. + +Two request-count notes: + +- A full-object `read()` is always satisfied with a single ranged request + regardless of `buffer_size`. +- Each buffered refill costs one ranged request, so a sequential scan of a + 1 GiB object makes ~205 requests at the 5 MiB default versus ~16,000 at + 64 KiB. ### Read Patterns @@ -349,6 +412,47 @@ The `buffer_size` parameter controls how much data is fetched from/written to cl - **Random seeks**: Each seek may trigger a new range request - less efficient - **Small random reads**: Consider downloading the file to cache instead +### Concurrency + +Pass `streaming_max_concurrency=N` when constructing a client to let each open +streaming stream issue up to `N` requests in parallel (the default of `1` is +fully sequential): + +```python +client = S3Client( + file_cache_mode=FileCacheMode.streaming, + streaming_max_concurrency=4, +) +``` + +- **Writes**: completed parts upload in a background thread pool while your + code keeps writing; the stream blocks only when `N` parts are already in + flight, so buffered memory is bounded by roughly `N x` part size. Works for + S3, Azure, and GCS (all use order-independent multipart/block uploads); + HTTP writes are a single request and are unaffected. +- **Reads**: the next `N` byte ranges are prefetched in the background while + you consume the current one, pipelining sequential scans. Seeking outside + the prefetched window discards it. +- Failures in background requests surface on the next `write()`/`close()` + (aborting the upload) or the next `read()`, exactly like sequential errors. + +Semantics that no configuration changes: + +- **Streams are not thread-safe.** Like ordinary Python file objects, a single + `CloudBufferedIO`/`CloudTextIO` instance must not be shared between threads + without external locking. Open one stream per thread instead. +- **Concurrent readers are safe.** Any number of streams (across threads or + processes) can read the same object simultaneously; each issues independent + range requests and holds independent positions. +- **Concurrent writers to the same object are last-committer-wins.** Each + writer's upload is isolated (S3 multipart upload IDs; per-session Azure block + IDs), so writers cannot corrupt each other's data — whichever stream closes + last determines the final object. +- **Conflict detection**: open a write stream with + `force_overwrite_to_cloud=False` and closing raises `OverwriteNewerCloudError` + instead of overwriting a version of the object that was uploaded while the + stream was open. + ### Write Contract Object storage is fundamentally a **sequential, write-once** medium. @@ -359,10 +463,27 @@ Streaming mode reflects that contract: | `wb`, `w`, `xb`, `x` | True streaming — data is forwarded to the provider as it arrives | | `ab`, `a`, `r+b`, `r+`, `w+b`, `w+` | **Falls back to cache** — the object is downloaded, mutated locally, then re-uploaded on close. Semantics are correct; performance matches the cached path. | -Attempting to seek backward on a write-only streaming stream raises +!!! warning "There is no true streaming append" + Object stores cannot append to (or modify a byte range of) an existing + object — every write creates a whole new object. Anything that opens an + existing file for appending or in-place update (`a`, `a+`, `r+`, `w+`) + therefore cannot stream: cloudpathlib downloads the entire object to the + local cache, applies the writes there, and re-uploads the entire object on + close. That is correct but costs a full download plus a full upload (and + temporary disk space) proportional to the object's size — for a + log-appending workload, prefer writing many small objects or a + provider-native mechanism instead. + +Attempting to seek on a write-only streaming stream raises `io.UnsupportedOperation` because the provider has already accepted the earlier bytes. +Streaming writes honor `force_overwrite_to_cloud` (and the +`CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD` environment variable): when it +resolves to `False`, closing the stream raises `OverwriteNewerCloudError` +instead of clobbering a version of the object that was uploaded while the +stream was open. + ### Multipart/Block Uploads For write operations, the streaming I/O system automatically handles: @@ -372,8 +493,10 @@ For write operations, the streaming I/O system automatically handles: The final part may be smaller than 5 MiB. - **Azure**: Block blob staging — blocks grow adaptively during very large uploads and are committed on close. -- **GCS**: Resumable upload (`blob.open("wb")`) — data streams - incrementally to GCS without in-memory buffering. +- **GCS**: XML API multipart upload — parts are buffered to the provider + minimum of **5 MiB** and assembled on close, mirroring the S3 mechanism + (set an `AbortIncompleteMultipartUpload` bucket lifecycle rule to expire + uploads orphaned by hardware failure). ## Provider-Specific Behavior @@ -414,7 +537,8 @@ with path.open("rt") as f: ### Google Cloud Storage - Uses GCS SDK `download_as_bytes()` with start/end for reads -- Uses a resumable `blob.open("wb")` stream for writes +- Uses the XML API multipart upload for writes (via the SDK's transfer-manager + machinery), which supports concurrent part uploads - Supports GCS-specific features through client configuration ```python @@ -511,7 +635,7 @@ f.close() # Easy to forget! ### Streaming Mode Limitations -When using `FileCacheMode.streaming`, certain CloudPath features are not available because streaming mode doesn't create cached files on disk: +When using `FileCacheMode.streaming`, certain CloudPath features are not available because streaming mode avoids the local file cache (the append/update modes of `open` are the exception — they fall back to the cache, which is cleaned up when the client is garbage collected): **Not Available:** - `.fspath` property - Raises `CloudPathNotImplementedError` @@ -601,7 +725,7 @@ client = S3Client(file_cache_mode=FileCacheMode.streaming) path = S3Path("s3://bucket/file.txt", client=client) # Larger buffer for faster networks -with path.open("rb", buffer_size=1024*1024) as f: +with path.open("rb", buffer_size=16 * 1024 * 1024) as f: data = f.read() ``` diff --git a/requirements-dev.txt b/requirements-dev.txt index 2280894d..54c6a45e 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -20,6 +20,7 @@ nbautoexport pandas pillow psutil +pyarrow pydantic pytest<9.1 pytest-cases>=3.9.1 diff --git a/tests/http_fixtures.py b/tests/http_fixtures.py index dec3479a..dbf86f43 100644 --- a/tests/http_fixtures.py +++ b/tests/http_fixtures.py @@ -105,12 +105,14 @@ def _handle_range_request(self, range_header): else: end = file_size - 1 - # Validate range - if start < 0 or end >= file_size or start > end: + # Validate range (RFC 7233: a range is unsatisfiable only when start is past + # EOF; an end past EOF is clamped to the final byte, as real servers do) + if start < 0 or start >= file_size or start > end: self.send_error(416, "Requested Range Not Satisfiable") self.send_header("Content-Range", f"bytes */{file_size}") self.end_headers() return + end = min(end, file_size - 1) # Read the requested range with path.open("rb") as f: diff --git a/tests/mock_clients/mock_azureblob.py b/tests/mock_clients/mock_azureblob.py index 8370d05f..f110c168 100644 --- a/tests/mock_clients/mock_azureblob.py +++ b/tests/mock_clients/mock_azureblob.py @@ -8,7 +8,7 @@ from azure.storage.blob import BlobProperties from azure.storage.blob._list_blobs_helper import BlobPrefix from azure.storage.blob._shared.authentication import SharedKeyCredentialPolicy -from azure.core.exceptions import ResourceNotFoundError +from azure.core.exceptions import HttpResponseError, ResourceNotFoundError from .utils import delete_empty_parents_up_to_root @@ -135,6 +135,14 @@ def get_blob_properties(self): raise ResourceNotFoundError def download_blob(self, offset=None, length=None): + path = self.root / self.key + if not (path.exists() and path.is_file()): + raise ResourceNotFoundError + if offset is not None and offset >= path.stat().st_size: + # real Azure rejects ranges starting past EOF (an end past EOF is clamped) + error = HttpResponseError("The range specified is invalid for the current size") + error.status_code = 416 + raise error return MockStorageStreamDownloader(self.root, self.key, offset=offset, length=length) def set_blob_metadata(self, metadata): diff --git a/tests/mock_clients/mock_gs.py b/tests/mock_clients/mock_gs.py index 165034ba..a2d67dc9 100644 --- a/tests/mock_clients/mock_gs.py +++ b/tests/mock_clients/mock_gs.py @@ -4,7 +4,12 @@ import shutil from tempfile import TemporaryDirectory -from google.api_core.exceptions import NotFound +import urllib.parse +from uuid import uuid4 +from xml.etree import ElementTree + +from google.api_core.exceptions import NotFound, RequestRangeNotSatisfiable +import requests from .utils import delete_empty_parents_up_to_root @@ -21,6 +26,8 @@ def __init__(self, *args, **kwargs): shutil.copytree(TEST_ASSETS, self.tmp_path / test_dir) self.metadata_cache = {} + self._connection = _MockConnection() + self._http = MockMPUTransport(self) @classmethod def create_anonymous_client(cls): @@ -83,8 +90,14 @@ def download_as_bytes(self, start=None, end=None, timeout=None, retry=None): retry.mocked_retries = 1 from_path = self.bucket / self.name + if not (from_path.exists() and from_path.is_file()): + raise NotFound(f"blob not found: {self.name}") data = from_path.read_bytes() + # real GCS rejects ranges starting past EOF (an end past EOF is clamped) + if start is not None and start >= len(data): + raise RequestRangeNotSatisfiable("The requested range is not satisfiable") + # Handle byte range if specified if start is not None: if end is not None: @@ -110,7 +123,9 @@ def reload( timeout=None, retry=None, ): - pass + path = self.bucket / self.name + if not (path.exists() and path.is_file()): + raise NotFound(f"blob not found: {self.name}") def upload_from_filename(self, filename, content_type=None, timeout=None, retry=None): # if timeout is not None, assume that the test wants a timeout and throw it @@ -176,42 +191,6 @@ def public_url(self) -> str: def generate_signed_url(self, version: str, expiration: timedelta, method: str): return f"https://storage.googleapis.com{self.bucket}/{self.name}?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=TEST&X-Goog-Date=20240131T185515Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=TEST" - def open(self, mode="rb", **kwargs): - """Return a file-like writer/reader for resumable uploads (mock implementation).""" - if mode == "wb": - return _MockBlobWriter(self) - raise NotImplementedError(f"Mock blob.open() only supports 'wb', not {mode!r}") - - -class _MockBlobWriter: - """Simulates a GCS resumable upload stream (blob.open('wb')).""" - - def __init__(self, blob: "MockBlob") -> None: - self._blob = blob - self._buf: bytearray = bytearray() - self._closed: bool = False - - def write(self, data: bytes) -> int: - if self._closed: - raise ValueError("I/O operation on closed stream") - self._buf.extend(data) - return len(data) - - def close(self) -> None: - if not self._closed: - self._closed = True - self._blob.upload_from_string(bytes(self._buf)) - - def terminate(self) -> None: - self._closed = True - self._buf.clear() - - def __enter__(self): - return self - - def __exit__(self, *args): - self.close() - class MockBucket: def __init__(self, name, bucket_name, client=None): @@ -308,3 +287,86 @@ def download_chunks_concurrently( def mock_default_auth(): return "fake-credentials", "fake-default-project" + + +class _MockConnection: + """Just enough of google.cloud.storage._http.Connection for the XML MPU URL.""" + + API_BASE_URL = "https://storage.googleapis.com" + + +def _mpu_response(status, headers=None, body=b""): + response = requests.Response() + response.status_code = status + response.headers.update(headers or {}) + response._content = body if isinstance(body, bytes) else body.encode() + return response + + +class MockMPUTransport: + """Fake authorized session implementing the GCS XML multipart-upload API.""" + + _XMLNS = "http://s3.amazonaws.com/doc/2006-03-01/" + + def __init__(self, client): + self.client = client + self.uploads = {} + + def request(self, method, url, data=None, headers=None, **kwargs): + parsed = urllib.parse.urlsplit(url) + query = dict(urllib.parse.parse_qsl(parsed.query, keep_blank_values=True)) + # url path is /{bucket}/{blob}; the mock stores blobs under tmp_path directly + _, _, blob = parsed.path.lstrip("/").partition("/") + blob = urllib.parse.unquote(blob) + + if method == "POST" and "uploads" in query: + upload_id = uuid4().hex + self.uploads[upload_id] = { + "blob": blob, + "parts": {}, + "content_type": (headers or {}).get("content-type"), + } + body = ( + f'' + f"{upload_id}" + ) + return _mpu_response(200, body=body) + + upload_id = query.get("uploadId") + if upload_id not in self.uploads: + return _mpu_response(404, body="NoSuchUpload") + + if method == "PUT" and "partNumber" in query: + part_number = int(query["partNumber"]) + etag = f'"mock-etag-{part_number}"' + self.uploads[upload_id]["parts"][part_number] = (etag, bytes(data)) + return _mpu_response(200, headers={"etag": etag}) + + if method == "POST": + upload = self.uploads.pop(upload_id) + root = ElementTree.fromstring(data) + parts = [] + for part_element in root.findall("Part"): + part_number = int(part_element.find("PartNumber").text) + etag = part_element.find("ETag").text + stored_etag, part_data = upload["parts"][part_number] + assert etag == stored_etag, "ETag mismatch in CompleteMultipartUpload" + parts.append(part_data) + # real GCS enforces a 5 MiB minimum for all non-final parts at finalize + if any(len(part_data) < 5 * 1024 * 1024 for part_data in parts[:-1]): + return _mpu_response(400, body="EntityTooSmall") + content = b"".join(parts) + target = self.client.tmp_path / upload["blob"] + target.parent.mkdir(parents=True, exist_ok=True) + target.write_bytes(content) + if upload["content_type"] is not None: + self.client.metadata_cache[self.client.tmp_path / upload["blob"]] = upload[ + "content_type" + ] + return _mpu_response(200, body="") + + if method == "DELETE": + self.uploads.pop(upload_id, None) + return _mpu_response(204) + + return _mpu_response(400, body="Unsupported mock MPU request") diff --git a/tests/mock_clients/mock_s3.py b/tests/mock_clients/mock_s3.py index da181703..c049fbee 100644 --- a/tests/mock_clients/mock_s3.py +++ b/tests/mock_clients/mock_s3.py @@ -278,6 +278,17 @@ def get_object(self, Bucket, Key, Range=None, **kwargs): match = re.match(r"bytes=(\d+)-(\d+)", Range) if match: start, end = int(match.group(1)), int(match.group(2)) + if start >= len(data): + # real S3 rejects ranges starting past EOF (an end past EOF is clamped) + raise ClientError( + { + "Error": { + "Code": "InvalidRange", + "Message": "The requested range is not satisfiable", + } + }, + {}, + ) data = data[start : end + 1] else: raise ClientError( diff --git a/tests/test_caching.py b/tests/test_caching.py index 9360f11b..07c3b5ab 100644 --- a/tests/test_caching.py +++ b/tests/test_caching.py @@ -536,3 +536,54 @@ def test_reuse_cache_after_manual_cache_clear(rig: CloudProviderTestRig): _ = f.read() assert cp._local.exists() + + +def test_write_mtime_tie_does_not_raise(rig: CloudProviderTestRig): + """A save that leaves the cache file's mtime exactly equal to the cloud version's + (coarse-resolution filesystems, no-op writes) must bump the mtime and upload rather + than raise OverwriteNewerCloudError.""" + client = rig.client_class(**rig.required_client_kwargs) + cp = rig.create_cloud_path("dir_0/file0_0.txt", client=client) + + cp.write_text("v1") + _sync_filesystem() + + # re-sync the cache from the cloud so the cache file's mtime equals the cloud mtime + cp.clear_cache() + cp.read_text() + cloud_mtime = cp.stat().st_mtime + + with cp.open("w") as f: + f.write("v2") + f.flush() + # simulate a write that leaves the mtime unchanged (e.g. same-second write on a + # coarse-resolution filesystem) + os.utime(cp._local, times=(cloud_mtime, cloud_mtime)) + + assert cp.read_text() == "v2" + + +def test_streaming_append_fallback_cache_cleaned_up(rig: CloudProviderTestRig): + """Append/update modes fall back to the cache in streaming mode; those cache files + must be cleaned up when the client is garbage collected, like other cache modes.""" + client = rig.client_class( + file_cache_mode=FileCacheMode.streaming, **rig.required_client_kwargs + ) + cp = rig.create_cloud_path("dir_0/file0_0.txt", client=client) + + with cp.open("a") as f: + f.write("appended") + + # the fallback created a real cache file + assert cp._local.exists() + + cache_path = cp._local + client_cache_dir = client._local_cache_dir + del f # the with-statement target outlives the block and holds the path + del cp + del client + # the patched close handle forms a reference cycle, so collection is not immediate + gc.collect() + + assert not cache_path.exists() + assert not client_cache_dir.exists() diff --git a/tests/test_client.py b/tests/test_client.py index 1e63961c..d12b396a 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -209,7 +209,6 @@ def test_custom_mys3client_default_client(custom_s3_path): lambda client, path: Client._upload_part(client, path, "upload", 1, b"data"), lambda client, path: Client._complete_multipart_upload(client, path, "upload", []), lambda client, path: Client._abort_multipart_upload(client, path, "upload"), - lambda client, path: Client._open_write_stream(client, path), lambda client, path: Client._put_empty_object(client, path), ], ) @@ -218,27 +217,3 @@ def test_default_streaming_hooks_raise_not_implemented(local_s3_rig, call): with pytest.raises(NotImplementedError, match="streaming I/O"): call(path.client, path) - - -def test_default_write_stream_hooks_delegate(local_s3_rig): - class Stream: - def __init__(self): - self.calls = [] - - def write(self, data): - self.calls.append(("write", data)) - return len(data) - - def close(self): - self.calls.append(("close",)) - - def terminate(self): - self.calls.append(("terminate",)) - - client = local_s3_rig.client_class(**local_s3_rig.required_client_kwargs) - stream = Stream() - - assert Client._write_stream(client, stream, b"data") == 4 - Client._close_write_stream(client, stream) - Client._abort_write_stream(client, stream) - assert stream.calls == [("write", b"data"), ("close",), ("terminate",)] diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 84b07283..6bea2f5b 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -7,12 +7,19 @@ import io import threading +import time +import zipfile import pytest from cloudpathlib import S3Path, AzureBlobPath, GSPath from cloudpathlib import CloudBufferedIO, CloudTextIO from cloudpathlib.cloud_io import _CloudStorageRaw from cloudpathlib.enums import FileCacheMode +from cloudpathlib.exceptions import ( + CloudPathFileNotFoundError, + CloudPathNotImplementedError, + OverwriteNewerCloudError, +) # Sample test data BINARY_DATA = b"Hello, World! This is binary data.\n" * 100 @@ -835,8 +842,8 @@ def test_azure_block_upload(rig): pass -def test_gs_resumable_upload(rig): - """Test that GCS upload works.""" +def test_gs_multipart_streaming_upload(rig): + """Test that GCS streaming upload works (XML multipart under the hood).""" if rig.path_class.cloud_prefix != "gs://": pytest.skip("Not testing GCS") @@ -1446,7 +1453,7 @@ def test_custom_client_without_raw_io_class_instantiates(local_s3_rig, monkeypat assert path.read_text() == "cached" path.client.file_cache_mode = FileCacheMode.streaming - with pytest.raises(NotImplementedError, match="Streaming I/O is not implemented"): + with pytest.raises(CloudPathNotImplementedError, match="Streaming I/O is not implemented"): path.open("r") @@ -1830,3 +1837,936 @@ def _abort_upload(self): with pytest.raises(OSError, match="original failure"): raw.close() + + +# ============================================================================ +# Regression tests — PR #535 review fixes +# ============================================================================ + +_STREAMING_PREFIXES = ("s3://", "az://", "gs://", "http://", "https://") + + +def _skip_if_no_streaming(rig): + if rig.path_class.cloud_prefix not in _STREAMING_PREFIXES: + pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + + +@pytest.fixture +def streaming_rig(rig): + """The rig with its default client switched to streaming mode for the test.""" + _skip_if_no_streaming(rig) + client = rig.client_class._default_client + original_mode = client.file_cache_mode + client.file_cache_mode = FileCacheMode.streaming + yield rig + client.file_cache_mode = original_mode + + +def test_write_tell_tracks_position(streaming_rig): + """tell() on streaming write streams must report total bytes written, not just + the bytes pending in the buffer (write() previously never advanced the raw position).""" + path = streaming_rig.create_cloud_path("test_write_tell.bin") + + try: + # small buffer so most bytes reach the raw layer instead of sitting in the buffer + with path.open("wb", buffer_size=64 * 1024) as f: + assert f.tell() == 0 + f.write(b"x" * 200_000) # larger than the buffer + assert f.tell() == 200_000 + f.write(b"y" * 100) # small write held in the buffer + assert f.tell() == 200_100 + assert path.read_bytes() == b"x" * 200_000 + b"y" * 100 + finally: + try: + path.unlink() + except Exception: + pass + + +def test_streaming_zipfile_write_roundtrip(streaming_rig): + """Position-dependent writers like zipfile rely on tell(); a streaming write + stream must produce a valid archive.""" + path = streaming_rig.create_cloud_path("test_streaming_archive.zip") + big_member = b"data" * 50_000 # > the 64 KiB buffer below so bytes reach the raw layer + + try: + with path.open("wb", buffer_size=64 * 1024) as f: + with zipfile.ZipFile(f, "w") as zf: + zf.writestr("a.txt", b"hello world") + zf.writestr("b.bin", big_member) + + with zipfile.ZipFile(io.BytesIO(path.read_bytes())) as zf: + assert zf.testzip() is None + assert zf.read("a.txt") == b"hello world" + assert zf.read("b.bin") == big_member + finally: + try: + path.unlink() + except Exception: + pass + + +def test_raw_write_stream_rejects_seek(streaming_rig): + """seek() on a write-only raw stream must raise io.UnsupportedOperation instead of + silently succeeding while writes keep appending.""" + path = streaming_rig.create_cloud_path("test_raw_seek_write.bin") + + try: + with path.open("wb", buffering=0) as f: + assert not f.seekable() + f.write(b"data") + with pytest.raises(io.UnsupportedOperation): + f.seek(0) + assert path.read_bytes() == b"data" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_streaming_full_read_uses_single_range_request(streaming_rig, monkeypatch): + """read() to EOF must fetch the remaining bytes in one ranged request (readall), + not fall back to one request per 8 KiB default chunk.""" + rig = streaming_rig + content = bytes(range(256)) * 2048 # 512 KiB + + # write in cached mode, then stream the read + client = rig.client_class._default_client + client.file_cache_mode = FileCacheMode.tmp_dir + path = rig.create_cloud_path("test_readall.bin") + path.write_bytes(content) + client.file_cache_mode = FileCacheMode.streaming + + calls = [] + original_range_download = type(client)._range_download + + def counting_range_download(self, cloud_path, start, end): + calls.append((start, end)) + return original_range_download(self, cloud_path, start, end) + + monkeypatch.setattr(type(client), "_range_download", counting_range_download) + + try: + with path.open("rb") as f: + data = f.read() + assert data == content + assert len(calls) <= 2, f"expected a single ranged request, got {calls}" + finally: + monkeypatch.undo() + try: + path.unlink() + except Exception: + pass + + +def test_streaming_size_fetch_failure_is_memoized(streaming_rig, monkeypatch): + """A failing content-length lookup must be attempted at most once per stream, + not re-issued before every chunk read.""" + rig = streaming_rig + content = b"z" * (200 * 1024) + + client = rig.client_class._default_client + client.file_cache_mode = FileCacheMode.tmp_dir + path = rig.create_cloud_path("test_size_memo.bin") + path.write_bytes(content) + client.file_cache_mode = FileCacheMode.streaming + + calls = {"n": 0} + + def failing_get_content_length(self, cloud_path): + calls["n"] += 1 + raise OSError("no size available") + + monkeypatch.setattr(type(client), "_get_content_length", failing_get_content_length) + + try: + with path.open("rb", buffer_size=16 * 1024) as f: + data = f.read() + assert data == content + assert calls["n"] == 1 + finally: + monkeypatch.undo() + try: + path.unlink() + except Exception: + pass + + +def test_gs_range_download_transient_error_not_treated_as_eof(gs_rig, monkeypatch): + """Errors that merely contain '416' in their message (request IDs, generation + numbers) must propagate; only true 416 range errors read as EOF.""" + path = gs_rig.create_cloud_path("test_416_matching.bin") + + class FakeServiceUnavailable(Exception): + code = 503 + + class FakeRangeError(Exception): + code = 416 + + def make_stub(error): + class StubBlob: + def download_as_bytes(self, start=None, end=None, **kwargs): + raise error + + class StubBucket: + def blob(self, name): + return StubBlob() + + return lambda name: StubBucket() + + # transient error whose message contains "416" must raise, not return EOF + monkeypatch.setattr( + path.client.client, + "bucket", + make_stub(FakeServiceUnavailable("503 GET /o/file?generation=1234164 backend error")), + ) + with pytest.raises(FakeServiceUnavailable): + path.client._range_download(path, 0, 9) + + # structured 416 still reads as EOF + monkeypatch.setattr( + path.client.client, "bucket", make_stub(FakeRangeError("range not satisfiable")) + ) + assert path.client._range_download(path, 0, 9) == b"" + + # exact reason phrase still reads as EOF (some layers do not expose a code) + monkeypatch.setattr( + path.client.client, "bucket", make_stub(Exception("Requested Range Not Satisfiable")) + ) + assert path.client._range_download(path, 0, 9) == b"" + + +def test_azure_block_ids_namespaced_per_upload(azure_rig): + """Concurrent streaming writers to the same blob must stage blocks under distinct + IDs so they cannot clobber each other's uncommitted blocks.""" + path = azure_rig.create_cloud_path("test_block_ids.bin") + + upload_a = path.client._initiate_multipart_upload(path) + upload_b = path.client._initiate_multipart_upload(path) + assert upload_a and upload_b and upload_a != upload_b + + try: + part_a = path.client._upload_part(path, upload_a, 1, b"A" * 16) + part_b = path.client._upload_part(path, upload_b, 1, b"B" * 16) + assert part_a["block_id"] != part_b["block_id"] + + # committing B yields exactly B's data even though A staged the same part number + path.client._complete_multipart_upload(path, upload_b, [part_b]) + assert path.read_bytes() == b"B" * 16 + finally: + try: + path.unlink() + except Exception: + pass + + +def test_streaming_cross_client_copy(streaming_rig): + """copy() between paths on different client instances must work in streaming mode + (the cached implementation round-trips through fspath, which streaming forbids).""" + rig = streaming_rig + content = b"copy me" * 100 + + client = rig.client_class._default_client + client.file_cache_mode = FileCacheMode.tmp_dir + src = rig.create_cloud_path("test_copy_src.bin") + src.write_bytes(content) + client.file_cache_mode = FileCacheMode.streaming + + other_client = rig.client_class(**rig.required_client_kwargs) + dst = other_client.CloudPath(str(rig.create_cloud_path("test_copy_dst.bin"))) + assert src.client is not dst.client + + try: + result = src.copy(dst) + assert result.read_bytes() == content + finally: + for p in (src, dst): + try: + p.unlink() + except Exception: + pass + + +def test_http_rename_in_streaming_mode(rig): + """rename()/replace() on HTTP paths must work in streaming mode without fspath.""" + if rig.path_class.cloud_prefix not in ("http://", "https://"): + pytest.skip("HTTP/HTTPS-specific test") + + path = rig.create_cloud_path("test_rename_src.bin") + path.write_bytes(b"move me") + target = rig.create_cloud_path("test_rename_dst.bin") + + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + try: + result = path.rename(target) + assert result.read_bytes() == b"move me" + assert not path.exists() + finally: + path.client.file_cache_mode = original_mode + for p in (path, target): + try: + p.unlink() + except Exception: + pass + + +def test_streaming_write_conflict_raises(streaming_rig): + """A streaming write with force_overwrite_to_cloud=False must not clobber a + version uploaded while the stream was open.""" + rig = streaming_rig + path = rig.create_cloud_path("test_stream_conflict.bin") + path.write_bytes(b"original") + + try: + f = path.open("wb", force_overwrite_to_cloud=False) + f.write(b"mine") + + # a concurrent writer replaces the object with a strictly newer version + time.sleep(1.1) # some providers report modification times in whole seconds + path.write_bytes(b"concurrent") + + with pytest.raises(OverwriteNewerCloudError): + f.close() + + assert path.read_bytes() == b"concurrent" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_streaming_write_conflict_force_overwrites(streaming_rig): + """force_overwrite_to_cloud=True skips the conflict check and wins.""" + rig = streaming_rig + path = rig.create_cloud_path("test_stream_conflict_force.bin") + path.write_bytes(b"original") + + try: + f = path.open("wb", force_overwrite_to_cloud=True) + f.write(b"mine") + path.write_bytes(b"concurrent") + f.close() + + assert path.read_bytes() == b"mine" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_streaming_write_overwrite_unchanged_cloud_succeeds(streaming_rig): + """Overwriting an object that did not change while the stream was open is a + normal write and must not raise.""" + rig = streaming_rig + path = rig.create_cloud_path("test_stream_overwrite_ok.bin") + path.write_bytes(b"v1") + + try: + with path.open("wb", force_overwrite_to_cloud=False) as f: + f.write(b"v2") + assert path.read_bytes() == b"v2" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_negative_buffering_accepted(rig): + """Any negative buffering value means 'use the default', matching builtins.open.""" + path = rig.create_cloud_path("test_neg_buffering.txt") + + try: + # cached mode passes buffering through to the local filesystem open + with path.open("w", buffering=-2) as f: + f.write("cached") + assert path.read_text() == "cached" + + if rig.path_class.cloud_prefix in _STREAMING_PREFIXES: + original_mode = path.client.file_cache_mode + path.client.file_cache_mode = FileCacheMode.streaming + try: + with path.open("rb", buffering=-2) as f: + assert f.read() == b"cached" + finally: + path.client.file_cache_mode = original_mode + finally: + try: + path.unlink() + except Exception: + pass + + +def test_streaming_not_found_errors_are_cloudpathlib_exceptions(rig): + """Streaming hooks must raise cloudpathlib's exception types so callers catching + CloudPathException (or CloudPathFileNotFoundError) see streaming errors too.""" + _skip_if_no_streaming(rig) + missing = rig.create_cloud_path("definitely_missing_for_streaming.bin") + + with pytest.raises(CloudPathFileNotFoundError): + missing.client._range_download(missing, 0, 9) + + with pytest.raises(CloudPathFileNotFoundError): + missing.client._get_content_length(missing) + + +# ============================================================================ +# Coverage-gap tests — raw-stream edge semantics, provider EOF mapping, guards +# ============================================================================ + + +def test_raw_stream_edge_semantics(local_s3_rig): + """Raw adapter edge cases follow file-object semantics.""" + path = local_s3_rig.create_cloud_path("raw-edges.bin") + path.write_bytes(b"0123456789") + raw = path._cloud_meta.raw_io_class(path.client, path, "rb") + + # empty destination buffer reads zero bytes + assert raw.readinto(bytearray(0)) == 0 + + # relative seek and whence validation at the raw layer + raw.seek(4) + assert raw.seek(2, io.SEEK_CUR) == 6 + with pytest.raises(ValueError, match="invalid whence"): + raw.seek(0, 42) + + # readall from a mid-stream position, then again at EOF + assert raw.readall() == b"6789" + assert raw.readall() == b"" + raw.close() + + # write-only streams cannot readall; closed streams cannot readall + writer = path._cloud_meta.raw_io_class(path.client, path, "wb") + with pytest.raises(io.UnsupportedOperation): + writer.readall() + writer.write(b"replaced") + writer.close() + writer.close() # double close is a no-op + with pytest.raises(ValueError, match="closed file"): + writer.readall() + assert path.read_bytes() == b"replaced" + + +def test_multipart_part_limit_enforced(local_s3_rig): + """Exceeding the provider's maximum part count raises a clear OSError.""" + path = local_s3_rig.create_cloud_path("part-limit.bin") + + class TinyParts(path._cloud_meta.raw_io_class): + _INITIAL_PART_SIZE = 4 + _MAX_PART_SIZE = 4 + _MAX_PARTS = 2 + _PARTS_PER_SIZE_TIER = 1_000 + + raw = TinyParts(path.client, path, "wb") + raw.write(b"x" * 8) # exactly two full parts — at the limit + with pytest.raises(OSError, match="part limit"): + raw.write(b"x" * 4) + with pytest.raises(OSError, match="part limit"): + raw.close() # the write failure is sticky and aborts the upload + + +def test_buffered_io_direct_construction_guards(local_s3_rig): + """Direct construction validates modes that the open() path never forwards.""" + path = local_s3_rig.create_cloud_path("direct-construction.bin") + path.write_bytes(b"0123456789") + raw_cls = path._cloud_meta.raw_io_class + + with pytest.raises(io.UnsupportedOperation, match="append and update"): + CloudBufferedIO(raw_cls, path.client, path, mode="ab") + with pytest.raises(io.UnsupportedOperation, match="append and update"): + CloudTextIO(raw_cls, path.client, path, mode="a") + + # readinto1 delegates to the buffered reader + with CloudBufferedIO(raw_cls, path.client, path, mode="rb") as f: + buf = bytearray(4) + assert f.readinto1(buf) == 4 + assert bytes(buf) == b"0123" + + +def test_streaming_text_exclusive_create(streaming_rig): + """mode='x' in text form creates a new object via streaming and rejects existing ones.""" + from cloudpathlib.exceptions import CloudPathFileExistsError + + path = streaming_rig.create_cloud_path("test_x_create.txt") + try: + with path.open(mode="x") as f: + f.write("created") + assert path.read_text() == "created" + with pytest.raises(CloudPathFileExistsError): + path.open(mode="x") + finally: + try: + path.unlink() + except Exception: + pass + + +def test_range_download_past_eof_returns_empty(streaming_rig): + """A range starting past EOF maps to EOF (empty bytes) on every provider.""" + path = streaming_rig.create_cloud_path("past_eof.bin") + path.write_bytes(b"0123456789") + try: + assert path.client._range_download(path, 100, 199) == b"" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_raw_empty_write_is_noop(streaming_rig): + """Writing b'' at the raw layer uploads nothing but still finalizes correctly.""" + path = streaming_rig.create_cloud_path("empty_chunk.bin") + try: + with path.open("wb", buffering=0) as f: + assert f.write(b"") == 0 + f.write(b"payload") + assert f.write(b"") == 0 + assert path.read_bytes() == b"payload" + finally: + try: + path.unlink() + except Exception: + pass + + +def test_s3_streaming_extra_args_uses_service_model(s3_rig): + """When the boto3 client exposes a service model, allowed params come from it, + and unknown params are dropped.""" + from types import SimpleNamespace + + client = s3_rig.client_class(**s3_rig.required_client_kwargs) + client.boto3_ul_extra_args = {"StorageClass": "STANDARD_IA", "NotARealParam": "x"} + + shape = SimpleNamespace(members={"StorageClass": None}) + operation_model = SimpleNamespace(input_shape=shape) + service_model = SimpleNamespace(operation_model=lambda name: operation_model) + client.client = SimpleNamespace(meta=SimpleNamespace(service_model=service_model)) + + assert client._streaming_extra_args("CreateMultipartUpload") == {"StorageClass": "STANDARD_IA"} + + +def test_s3_streaming_extra_args_fallback_matches_botocore(s3_rig): + """The hard-coded fallback table must filter identically to botocore's real + service model, so it cannot silently drop newly added parameters.""" + from types import SimpleNamespace + + botocore_session = pytest.importorskip("botocore.session") + service_model = botocore_session.get_session().get_service_model("s3") + + for operation in ( + "CreateMultipartUpload", + "UploadPart", + "CompleteMultipartUpload", + "PutObject", + ): + members = set(service_model.operation_model(operation).input_shape.members) + extra_args = {name: "value" for name in sorted(members)} + + fallback_client = s3_rig.client_class(**s3_rig.required_client_kwargs) + fallback_client.boto3_ul_extra_args = extra_args + fallback_client.client = SimpleNamespace() # no .meta -> fallback table + + real_client = s3_rig.client_class(**s3_rig.required_client_kwargs) + real_client.boto3_ul_extra_args = extra_args + real_client.client = SimpleNamespace(meta=SimpleNamespace(service_model=service_model)) + + assert fallback_client._streaming_extra_args( + operation + ) == real_client._streaming_extra_args( + operation + ), f"fallback table diverges from botocore for {operation}" + + +def test_s3_streaming_content_encoding_threaded(s3_rig): + """Encodings from content_type_method are added to streaming upload args.""" + import mimetypes + + client = s3_rig.client_class( + content_type_method=mimetypes.guess_type, **s3_rig.required_client_kwargs + ) + path = s3_rig.create_cloud_path("encoded.txt.gz", client=client) + + args = client._streaming_object_args("CreateMultipartUpload", path) + assert args.get("ContentType") == "text/plain" + assert args.get("ContentEncoding") == "gzip" + + +def test_azure_streaming_content_settings_branches(azure_rig): + """Content settings resolve for absent, empty, and populated content type methods.""" + client_none = azure_rig.client_class( + content_type_method=None, **azure_rig.required_client_kwargs + ) + path = azure_rig.create_cloud_path("content-settings.bin", client=client_none) + assert client_none._streaming_content_settings(path) is None + + client_empty = azure_rig.client_class( + content_type_method=lambda name: (None, None), **azure_rig.required_client_kwargs + ) + assert client_empty._streaming_content_settings(path) is None + + client_full = azure_rig.client_class( + content_type_method=lambda name: ("text/plain", "gzip"), + **azure_rig.required_client_kwargs, + ) + settings = client_full._streaming_content_settings(path) + assert settings.content_type == "text/plain" + assert settings.content_encoding == "gzip" + + # abort is a documented no-op: uncommitted blocks simply expire server-side + client_none._abort_multipart_upload(path, "upload-id") + + +def test_gs_multipart_upload_hooks(gs_rig): + """GS streaming writes use the XML multipart API: unique upload IDs, ordered + assembly of size-compliant parts, and cancellable uploads.""" + client = gs_rig.client_class(**gs_rig.required_client_kwargs) + path = gs_rig.create_cloud_path("mpu-hooks.bin", client=client) + + upload_a = client._initiate_multipart_upload(path) + upload_b = client._initiate_multipart_upload(path) + assert upload_a and upload_b and upload_a != upload_b + + head = b"A" * (5 * 1024 * 1024) # non-final parts must be at least 5 MiB + tail = b"B" * 16 + part_1 = client._upload_part(path, upload_a, 1, head) + part_2 = client._upload_part(path, upload_a, 2, tail) + client._complete_multipart_upload(path, upload_a, [part_1, part_2]) + client._abort_multipart_upload(path, upload_b) + + try: + assert path.read_bytes() == head + tail + finally: + try: + path.unlink() + except Exception: + pass + + +def test_gs_mpu_initiate_threads_content_type_and_encoding(gs_rig): + """Initiate carries the content type and encoding from content_type_method.""" + from types import SimpleNamespace + + client = gs_rig.client_class( + content_type_method=lambda name: ("text/plain", "gzip"), + **gs_rig.required_client_kwargs, + ) + path = gs_rig.create_cloud_path("mpu-headers.txt.gz", client=client) + + captured = {} + + class StubTransport: + def request(self, method, url, data=None, headers=None, **kwargs): + import requests + + captured["method"] = method + captured["url"] = url + captured["headers"] = {key.lower(): value for key, value in (headers or {}).items()} + response = requests.Response() + response.status_code = 200 + response._content = ( + b'' + b"stub-upload" + ) + return response + + client.client = SimpleNamespace( + _connection=SimpleNamespace(API_BASE_URL="https://storage.googleapis.com"), + _http=StubTransport(), + ) + + upload_id = client._initiate_multipart_upload(path) + assert upload_id == "stub-upload" + assert captured["method"] == "POST" + assert captured["url"].endswith("?uploads") + assert captured["headers"]["content-type"] == "text/plain" + assert captured["headers"]["content-encoding"] == "gzip" + + +def test_http_streaming_error_paths(http_rig, monkeypatch): + """HTTP: unexpected range status, missing Content-Length, failing PUT status, + and unsupported PUT method all map to clear errors.""" + import urllib.error + + path = http_rig.create_cloud_path("http_errors.bin") + path.write_bytes(b"0123456789") + + class FakeResponse: + def __init__(self, status, headers=None): + self.status = status + self.headers = headers if headers is not None else {} + self.reason = "stub" + + def read(self, *args): + return b"" + + def __enter__(self): + return self + + def __exit__(self, *args): + return False + + # a non-206/200 success status for a range request is unexpected + monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(204)) + with pytest.raises(OSError, match="Unexpected status"): + path.client._range_download(path, 0, 3) + + # HEAD without Content-Length cannot size the stream + monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(200)) + with pytest.raises(ValueError, match="Content-Length"): + path.client._get_content_length(path) + + # a failing PUT status raises OSError + monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(500)) + with pytest.raises(OSError, match="HTTP PUT failed"): + path.client._put_data(path, io.BytesIO(b"x"), 1) + + # non-404 HTTP errors propagate from reads and size checks + def raise_403(req): + raise urllib.error.HTTPError("url", 403, "Forbidden", {}, None) + + monkeypatch.setattr(path.client.opener, "open", raise_403) + with pytest.raises(urllib.error.HTTPError): + path.client._range_download(path, 0, 3) + with pytest.raises(urllib.error.HTTPError): + path.client._get_content_length(path) + + # servers that reject the write method surface CloudPathNotImplementedError + def raise_405(req): + raise urllib.error.HTTPError("url", 405, "Method Not Allowed", {}, None) + + monkeypatch.setattr(path.client.opener, "open", raise_405) + with pytest.raises(CloudPathNotImplementedError): + path.client._put_data(path, io.BytesIO(b"x"), 1) + + monkeypatch.undo() + try: + path.unlink() + except Exception: + pass + + +def test_open_buffer_size_must_be_positive(streaming_rig): + """buffer_size=0 is rejected up front.""" + path = streaming_rig.create_cloud_path("bad_buffer.bin") + with pytest.raises(ValueError, match="buffer_size"): + path.open("wb", buffer_size=0) + + +def test_open_directory_raises(local_s3_rig): + """Opening a directory raises CloudPathIsADirectoryError in any cache mode.""" + from cloudpathlib.exceptions import CloudPathIsADirectoryError + + file_path = local_s3_rig.create_cloud_path("adir/inner.txt") + file_path.write_text("x") + dir_path = local_s3_rig.create_cloud_path("adir") + + with pytest.raises(CloudPathIsADirectoryError): + dir_path.open("rb") + + +def test_streaming_parquet_metadata_and_column_read(streaming_rig): + """Parquet readers work over a seekable streaming stream: the footer and a + single column can be read without downloading the whole object.""" + pa = pytest.importorskip("pyarrow") + pq = pytest.importorskip("pyarrow.parquet") + + rig = streaming_rig + client = rig.client_class._default_client + client.file_cache_mode = FileCacheMode.tmp_dir + path = rig.create_cloud_path("test_columns.parquet") + table = pa.table({"a": list(range(10_000)), "b": ["x" * 20] * 10_000}) + sink = io.BytesIO() + pq.write_table(table, sink) + path.write_bytes(sink.getvalue()) + client.file_cache_mode = FileCacheMode.streaming + + try: + with path.open("rb", buffer_size=64 * 1024) as f: + parquet_file = pq.ParquetFile(f) + assert parquet_file.metadata.num_rows == 10_000 + column = parquet_file.read(columns=["a"]) + assert column.column("a").to_pylist()[:3] == [0, 1, 2] + finally: + try: + path.unlink() + except Exception: + pass + + +# ============================================================================ +# streaming_max_concurrency — concurrent part uploads and read prefetch +# ============================================================================ + + +def test_streaming_max_concurrency_validation(local_s3_rig): + """The concurrency knob must be a positive integer.""" + with pytest.raises(ValueError, match="streaming_max_concurrency"): + local_s3_rig.client_class( + streaming_max_concurrency=0, **local_s3_rig.required_client_kwargs + ) + + +def test_concurrent_multipart_write_correctness(streaming_rig): + """A multi-part streaming write with concurrency > 1 produces identical content, + even when an early part finishes after later ones.""" + from cloudpathlib.cloud_io import _CloudMultipartStorageRaw + + rig = streaming_rig + if not issubclass(rig.raw_io_class, _CloudMultipartStorageRaw): + pytest.skip("provider does not use multipart streaming writes") + + client = rig.client_class( + file_cache_mode=FileCacheMode.streaming, + streaming_max_concurrency=4, + **rig.required_client_kwargs, + ) + path = rig.create_cloud_path("test_concurrent_parts.bin", client=client) + data = bytes(range(256)) * (48 * 1024) # 12 MiB -> two 5 MiB parts + final part + + part_numbers = [] + real_upload_part = client._upload_part + + def delaying_upload_part(cloud_path, upload_id, part_number, part_data): + if part_number == 1: + time.sleep(0.2) # force part 1 to finish after later parts + part_numbers.append(part_number) + return real_upload_part(cloud_path, upload_id, part_number, part_data) + + client._upload_part = delaying_upload_part + + try: + with path.open("wb") as f: + f.write(data) + assert sorted(part_numbers) == list(range(1, len(part_numbers) + 1)) + assert len(part_numbers) >= 2 + assert path.read_bytes() == data + finally: + try: + path.unlink() + except Exception: + pass + + +def test_concurrent_multipart_write_parallelism_observed(local_s3_rig): + """With concurrency 2, two part uploads genuinely run at the same time.""" + path = local_s3_rig.create_cloud_path("test_parallel_parts.bin") + client = local_s3_rig.client_class( + file_cache_mode=FileCacheMode.streaming, + streaming_max_concurrency=2, + **local_s3_rig.required_client_kwargs, + ) + path = local_s3_rig.create_cloud_path("test_parallel_parts.bin", client=client) + + barrier = threading.Barrier(2, timeout=30) + overlapped = [] + real_upload_part = client._upload_part + + def rendezvous_upload_part(cloud_path, upload_id, part_number, part_data): + if part_number <= 2: + barrier.wait() # only passes if both uploads are in flight simultaneously + overlapped.append(part_number) + return real_upload_part(cloud_path, upload_id, part_number, part_data) + + client._upload_part = rendezvous_upload_part + + data = b"Z" * (12 * 1024 * 1024) # two 5 MiB parts + final part + try: + with path.open("wb") as f: + f.write(data) + assert sorted(overlapped) == [1, 2] + assert path.read_bytes() == data + finally: + try: + path.unlink() + except Exception: + pass + + +def test_concurrent_multipart_write_failure_is_sticky_and_aborts(local_s3_rig): + """A failing background part upload surfaces on a later write/close and aborts.""" + client = local_s3_rig.client_class( + file_cache_mode=FileCacheMode.streaming, + streaming_max_concurrency=2, + **local_s3_rig.required_client_kwargs, + ) + path = local_s3_rig.create_cloud_path("test_failing_part.bin", client=client) + + aborted = [] + real_abort = client._abort_multipart_upload + + def spy_abort(cloud_path, upload_id): + aborted.append(upload_id) + return real_abort(cloud_path, upload_id) + + def failing_upload_part(cloud_path, upload_id, part_number, part_data): + raise OSError("part upload failed") + + client._upload_part = failing_upload_part + client._abort_multipart_upload = spy_abort + + f = path.open("wb") + with pytest.raises(OSError, match="part upload failed"): + # keep writing until the background failure is harvested + for _ in range(10): + f.write(b"Q" * (6 * 1024 * 1024)) + f.close() + with pytest.raises(OSError, match="part upload failed"): + f.close() + + assert aborted, "failed upload was not aborted" + assert not path.exists() + + +def test_read_prefetch_correctness_and_no_wasted_requests(streaming_rig): + """Sequential reads with prefetch fetch each byte range exactly once and + return identical data; seeking invalidates the prefetch window correctly.""" + rig = streaming_rig + client = rig.client_class( + file_cache_mode=FileCacheMode.streaming, + streaming_max_concurrency=3, + **rig.required_client_kwargs, + ) + path = rig.create_cloud_path("test_prefetch.bin", client=client) + chunk = 128 * 1024 + data = bytes(range(256)) * (4 * 1024) # 1 MiB -> 8 chunks + + path.write_bytes(data) + + calls = [] + real_range_download = client._range_download + + def counting_range_download(cloud_path, start, end): + calls.append((start, end)) + return real_range_download(cloud_path, start, end) + + client._range_download = counting_range_download + + try: + with path.open("rb", buffer_size=chunk) as f: + read_back = b"" + while True: + piece = f.read1(chunk) + if not piece: + break + read_back = read_back + piece + assert read_back == data + starts = sorted(start for start, _ in calls) + assert starts == list(range(0, len(data), chunk)), f"unexpected requests: {calls}" + + # seeking back re-reads correctly even though prefetched chunks are discarded + with path.open("rb", buffer_size=chunk) as f: + f.read1(chunk) + f.seek(3 * chunk) + assert f.read1(chunk) == data[3 * chunk : 4 * chunk] + f.seek(0) + assert f.read1(chunk) == data[:chunk] + finally: + try: + path.unlink() + except Exception: + pass From 880179a9149cb29097e3d9fc8c4c299b45223484 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:04:40 -0700 Subject: [PATCH 12/35] Restore gc import lost in rebase Co-Authored-By: Claude Fable 5.1 --- tests/test_caching.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_caching.py b/tests/test_caching.py index 07c3b5ab..f757b7b7 100644 --- a/tests/test_caching.py +++ b/tests/test_caching.py @@ -1,3 +1,4 @@ +import gc import os from pathlib import Path From c36932a8471472da7ec37e982c614de042fee372 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:16:14 -0700 Subject: [PATCH 13/35] Make streaming_max_concurrency keyword-only and last in client constructors Inserting it before existing positional parameters (S3 extra_args, GCS download_chunks_concurrently_kwargs/timeout/retry, HTTP auth and parsers) silently shifted positional callers. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/azure/azblobclient.py | 1 + cloudpathlib/client.py | 1 + cloudpathlib/gs/gsclient.py | 9 +++++---- cloudpathlib/http/httpclient.py | 9 +++++---- cloudpathlib/s3/s3client.py | 9 +++++---- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index 92f01c7a..44405db7 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -57,6 +57,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + *, streaming_max_concurrency: int = 1, ): """Class constructor. Sets up a [`BlobServiceClient`]( diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index 85621400..dbe2bb96 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -47,6 +47,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, + *, streaming_max_concurrency: int = 1, ) -> None: self.file_cache_mode = None diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 99795a93..72c07bfe 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -90,10 +90,11 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, - streaming_max_concurrency: int = 1, download_chunks_concurrently_kwargs: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, retry: Optional["Retry"] = None, + *, + streaming_max_concurrency: int = 1, ): """Class constructor. Sets up a [`Storage Client`](https://googleapis.dev/python/storage/latest/client.html). @@ -127,14 +128,14 @@ def __init__( the `CLOUDPATHLIB_LOCAL_CACHE_DIR` environment variable. content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when writing a file to the cloud. Defaults to `mimetypes.guess_type`. Must return a tuple (content type, content encoding). - streaming_max_concurrency (int): Maximum concurrent requests per open streaming - stream (background part uploads and read prefetch) when using - `FileCacheMode.streaming`; defaults to 1 (sequential). download_chunks_concurrently_kwargs (Optional[Dict[str, Any]]): Keyword arguments to pass to [`download_chunks_concurrently`](https://cloud.google.com/python/docs/reference/storage/latest/google.cloud.storage.transfer_manager#google_cloud_storage_transfer_manager_download_chunks_concurrently) for sliced parallel downloads; Only available in `google-cloud-storage` version 2.7.0 or later, otherwise ignored and a warning is emitted. timeout (Optional[float]): Cloud Storage [timeout value](https://cloud.google.com/python/docs/reference/storage/1.39.0/retry_timeout) retry (Optional[google.api_core.retry.Retry]): Cloud Storage [retry configuration](https://cloud.google.com/python/docs/reference/storage/1.39.0/retry_timeout#configuring-retries) + streaming_max_concurrency (int): Maximum concurrent requests per open streaming + stream (background part uploads and read prefetch) when using + `FileCacheMode.streaming`; defaults to 1 (sequential). """ # don't check `GOOGLE_APPLICATION_CREDENTIALS` since `google_default_auth` already does that # use explicit client diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 790a5043..9200adee 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -25,11 +25,12 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, - streaming_max_concurrency: int = 1, auth: Optional[urllib.request.BaseHandler] = None, custom_list_page_parser: Optional[Callable[[str], Iterable[str]]] = None, custom_dir_matcher: Optional[Callable[[str], bool]] = None, write_file_http_method: Optional[str] = "PUT", + *, + streaming_max_concurrency: int = 1, ): """Class constructor. Creates an HTTP client that can be used to interact with HTTP servers using the cloudpathlib library. @@ -43,13 +44,13 @@ def __init__( the `CLOUDPATHLIB_LOCAL_CACHE_DIR` environment variable. content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when uploading files. Defaults to `mimetypes.guess_type`. - streaming_max_concurrency (int): Maximum concurrent requests per open streaming - stream (background part uploads and read prefetch) when using - `FileCacheMode.streaming`; defaults to 1 (sequential). auth (Optional[urllib.request.BaseHandler]): Authentication handler to use for the client. Defaults to None, which will use the default handler. custom_list_page_parser (Optional[Callable[[str], Iterable[str]]]): Function to call to parse pages that list directories. Defaults to looking for `` tags with `href`. custom_dir_matcher (Optional[Callable[[str], bool]]): Function to call to identify a url that is a directory. Defaults to a lambda that checks if the path ends with a `/`. write_file_http_method (Optional[str]): HTTP method to use when writing files. Defaults to "PUT", but some servers may want "POST". + streaming_max_concurrency (int): Maximum concurrent requests per open streaming + stream (background part uploads and read prefetch) when using + `FileCacheMode.streaming`; defaults to 1 (sequential). """ super().__init__( file_cache_mode, diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index b6e22c59..d97a8d3f 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -47,8 +47,9 @@ def __init__( addressing_style: Optional[str] = None, boto3_transfer_config: Optional["TransferConfig"] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, - streaming_max_concurrency: int = 1, extra_args: Optional[dict] = None, + *, + streaming_max_concurrency: int = 1, ): """Class constructor. Sets up a boto3 [`Session`]( https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html). @@ -86,14 +87,14 @@ def __init__( [s3 transfers](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.TransferConfig) content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when writing a file to the cloud. Defaults to `mimetypes.guess_type`. Must return a tuple (content type, content encoding). - streaming_max_concurrency (int): Maximum concurrent requests per open streaming - stream (background part uploads and read prefetch) when using - `FileCacheMode.streaming`; defaults to 1 (sequential). extra_args (Optional[dict]): A dictionary of extra args passed to download, upload, copy, and list functions as relevant. You can include any keys supported by upload, download, or copy operations, and we will pass on only the relevant args. To see the extra args that are supported look at the upload, download, and copy lists in the [boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.S3Transfer). + streaming_max_concurrency (int): Maximum concurrent requests per open streaming + stream (background part uploads and read prefetch) when using + `FileCacheMode.streaming`; defaults to 1 (sequential). """ endpoint_url = endpoint_url or os.getenv("AWS_ENDPOINT_URL") if boto3_session is not None: From ae9fa1ecccbd6d7f16ad3d0aacedf5b295dc45e6 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:17:29 -0700 Subject: [PATCH 14/35] Share one content-type helper between cached and streaming uploads GCS streaming writes were sending Content-Encoding (e.g. gzip for .gz names), which the cached upload path deliberately omits because GCS then applies decompressive transcoding and the bytes no longer round-trip. S3 and Azure duplicated the guessing logic in both paths. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/azure/azblobclient.py | 38 +++++++++++------------------- cloudpathlib/gs/gsclient.py | 37 ++++++++++++++++------------- cloudpathlib/s3/s3client.py | 29 +++++++++++------------ tests/test_cloud_io.py | 13 +++++----- 4 files changed, 56 insertions(+), 61 deletions(-) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index 44405db7..d818000a 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -463,22 +463,22 @@ def _upload_file( container=cloud_path.container, blob=cloud_path.blob ) - extra_args = {} - if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(local_path)) - - if content_type is not None: - extra_args["content_type"] = content_type - if content_encoding is not None: - extra_args["content_encoding"] = content_encoding - - content_settings = ContentSettings(**extra_args) - with Path(local_path).open("rb") as data: - blob.upload_blob(data, overwrite=True, content_settings=content_settings) # type: ignore + blob.upload_blob( + data, overwrite=True, content_settings=self._content_settings(cloud_path) + ) # type: ignore return cloud_path + def _content_settings(self, cloud_path: AzureBlobPath) -> Optional["ContentSettings"]: + """Content type/encoding guessed from the object name, for uploads.""" + if self.content_type_method is None: + return None + content_type, content_encoding = self.content_type_method(str(cloud_path)) + if content_type is None and content_encoding is None: + return None + return ContentSettings(content_type=content_type, content_encoding=content_encoding) + def _get_public_url(self, cloud_path: AzureBlobPath) -> str: blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob @@ -559,19 +559,9 @@ def _complete_multipart_upload( ) block_ids = [part["block_id"] for part in parts] blob_client.commit_block_list( - block_ids, content_settings=self._streaming_content_settings(cloud_path) + block_ids, content_settings=self._content_settings(cloud_path) ) - def _streaming_content_settings( - self, cloud_path: AzureBlobPath - ) -> Optional["ContentSettings"]: - if self.content_type_method is None: - return None - content_type, content_encoding = self.content_type_method(str(cloud_path)) - if not content_type and not content_encoding: - return None - return ContentSettings(content_type=content_type, content_encoding=content_encoding) - def _abort_multipart_upload(self, cloud_path: AzureBlobPath, upload_id: str) -> None: """Let Azure expire uncommitted blocks.""" pass @@ -582,7 +572,7 @@ def _put_empty_object(self, cloud_path: AzureBlobPath) -> None: container=cloud_path.container, blob=cloud_path.blob ) blob_client.upload_blob( - b"", overwrite=True, content_settings=self._streaming_content_settings(cloud_path) + b"", overwrite=True, content_settings=self._content_settings(cloud_path) ) diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 72c07bfe..5bb5fade 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -339,14 +339,22 @@ def _upload_file(self, local_path: Union[str, os.PathLike], cloud_path: GSPath) bucket = self.client.bucket(cloud_path.bucket) blob = bucket.blob(cloud_path.blob) - extra_args = {} - if self.content_type_method is not None: - content_type, _ = self.content_type_method(str(local_path)) - extra_args["content_type"] = content_type - - blob.upload_from_filename(str(local_path), **extra_args, **self.blob_kwargs) + blob.upload_from_filename( + str(local_path), content_type=self._content_type(cloud_path), **self.blob_kwargs + ) return cloud_path + def _content_type(self, cloud_path: GSPath) -> Optional[str]: + """Content type guessed from the object name, for uploads. + + The guessed encoding is deliberately not sent: GCS applies decompressive transcoding to + objects with `Content-Encoding: gzip`, so a `.gz` object would no longer round-trip. + """ + if self.content_type_method is None: + return None + content_type, _ = self.content_type_method(str(cloud_path)) + return content_type + def _get_public_url(self, cloud_path: GSPath) -> str: bucket = self.client.get_bucket(cloud_path.bucket) blob = bucket.blob(cloud_path.blob) @@ -399,20 +407,15 @@ def _mpu_url(self, cloud_path: GSPath) -> str: return f"{hostname}/{cloud_path.bucket}/{quote(cloud_path.blob)}" def _initiate_multipart_upload(self, cloud_path: GSPath) -> str: - """Start a GCS XML multipart upload, threading content type and encoding.""" + """Start a GCS XML multipart upload, threading the content type.""" if XMLMPUContainer is None: raise CloudPathNotImplementedError( "Streaming writes require google-cloud-storage with XML multipart support." ) - content_type = None - headers = {} - if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(cloud_path)) - if content_encoding is not None: - headers["Content-Encoding"] = content_encoding - container = XMLMPUContainer(self._mpu_url(cloud_path), cloud_path.blob, headers=headers) + container = XMLMPUContainer(self._mpu_url(cloud_path), cloud_path.blob) container.initiate( - transport=self.client._http, content_type=content_type or "application/octet-stream" + transport=self.client._http, + content_type=self._content_type(cloud_path) or "application/octet-stream", ) return container.upload_id @@ -445,7 +448,9 @@ def _abort_multipart_upload(self, cloud_path: GSPath, upload_id: str) -> None: def _put_empty_object(self, cloud_path: GSPath) -> None: """Upload a zero-byte GCS object.""" blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) - blob.upload_from_string(b"", **self.blob_kwargs) + blob.upload_from_string( + b"", content_type=self._content_type(cloud_path), **self.blob_kwargs + ) GSClient.GSPath = GSClient.CloudPath # type: ignore diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index d97a8d3f..7d0fcfed 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -377,17 +377,20 @@ def _remove(self, cloud_path: S3Path, missing_ok: bool = True) -> None: def _upload_file(self, local_path: Union[str, os.PathLike], cloud_path: S3Path) -> S3Path: obj = self.s3.Object(cloud_path.bucket, cloud_path.key) - extra_args = self.boto3_ul_extra_args.copy() + extra_args = {**self.boto3_ul_extra_args, **self._content_type_args(cloud_path)} + obj.upload_file(str(local_path), Config=self.boto3_transfer_config, ExtraArgs=extra_args) + return cloud_path + def _content_type_args(self, cloud_path: S3Path) -> Dict[str, Any]: + """`ContentType`/`ContentEncoding` guessed from the object name, for uploads.""" + args: Dict[str, Any] = {} if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(local_path)) + content_type, content_encoding = self.content_type_method(str(cloud_path)) if content_type is not None: - extra_args["ContentType"] = content_type + args["ContentType"] = content_type if content_encoding is not None: - extra_args["ContentEncoding"] = content_encoding - - obj.upload_file(str(local_path), Config=self.boto3_transfer_config, ExtraArgs=extra_args) - return cloud_path + args["ContentEncoding"] = content_encoding + return args def _get_public_url(self, cloud_path: S3Path) -> str: """Apparently the best way to get the public URL is to generate a presigned URL @@ -470,14 +473,10 @@ def _streaming_extra_args(self, operation_name: str) -> Dict[str, Any]: return {key: value for key, value in self.boto3_ul_extra_args.items() if key in allowed} def _streaming_object_args(self, operation_name: str, cloud_path: S3Path) -> Dict[str, Any]: - extra_args = self._streaming_extra_args(operation_name) - if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(cloud_path)) - if content_type is not None: - extra_args["ContentType"] = content_type - if content_encoding is not None: - extra_args["ContentEncoding"] = content_encoding - return extra_args + return { + **self._streaming_extra_args(operation_name), + **self._content_type_args(cloud_path), + } def _initiate_multipart_upload(self, cloud_path: S3Path) -> str: """Start an S3 multipart upload, threading content-type and upload extra args.""" diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 6bea2f5b..7cede605 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -2402,18 +2402,18 @@ def test_azure_streaming_content_settings_branches(azure_rig): content_type_method=None, **azure_rig.required_client_kwargs ) path = azure_rig.create_cloud_path("content-settings.bin", client=client_none) - assert client_none._streaming_content_settings(path) is None + assert client_none._content_settings(path) is None client_empty = azure_rig.client_class( content_type_method=lambda name: (None, None), **azure_rig.required_client_kwargs ) - assert client_empty._streaming_content_settings(path) is None + assert client_empty._content_settings(path) is None client_full = azure_rig.client_class( content_type_method=lambda name: ("text/plain", "gzip"), **azure_rig.required_client_kwargs, ) - settings = client_full._streaming_content_settings(path) + settings = client_full._content_settings(path) assert settings.content_type == "text/plain" assert settings.content_encoding == "gzip" @@ -2447,8 +2447,9 @@ def test_gs_multipart_upload_hooks(gs_rig): pass -def test_gs_mpu_initiate_threads_content_type_and_encoding(gs_rig): - """Initiate carries the content type and encoding from content_type_method.""" +def test_gs_mpu_initiate_threads_content_type_only(gs_rig): + """Initiate carries the content type from content_type_method but, like the cached + upload path, never the encoding: GCS would otherwise transcode `.gz` objects on read.""" from types import SimpleNamespace client = gs_rig.client_class( @@ -2484,7 +2485,7 @@ def request(self, method, url, data=None, headers=None, **kwargs): assert captured["method"] == "POST" assert captured["url"].endswith("?uploads") assert captured["headers"]["content-type"] == "text/plain" - assert captured["headers"]["content-encoding"] == "gzip" + assert "content-encoding" not in captured["headers"] def test_http_streaming_error_paths(http_rig, monkeypatch): From 90c1a6b1cf4b624f142050f325f4ecba19c41669 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:18:53 -0700 Subject: [PATCH 15/35] Deduplicate force-overwrite resolution and use 3.9-compatible with syntax The env-var fallback for force_overwrite_to_cloud was copied in four places and the streaming copy branch used a parenthesized with-statement (3.10+). Stream-to-stream copies now move 5 MiB per iteration instead of shutil's 64 KiB default. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/cloudpath.py | 96 +++++++++++++++------------------ cloudpathlib/http/httpclient.py | 3 +- 2 files changed, 44 insertions(+), 55 deletions(-) diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 2bb8043b..baf723cc 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -134,6 +134,21 @@ def _ensure_local_path_within_base( return candidate +def _env_flag(name: str) -> bool: + """Boolean from an environment variable (`1`/`true`, case-insensitive).""" + return os.environ.get(name, "False").lower() in ["1", "true"] + + +def _force_overwrite_to_cloud(flag: Optional[bool]) -> bool: + """Resolve `force_overwrite_to_cloud`, falling back to the environment variable.""" + return _env_flag("CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD") if flag is None else flag + + +def _force_overwrite_from_cloud(flag: Optional[bool]) -> bool: + """Resolve `force_overwrite_from_cloud`, falling back to the environment variable.""" + return _env_flag("CLOUDPATHLIB_FORCE_OVERWRITE_FROM_CLOUD") if flag is None else flag + + class CloudImplementation: name: Optional[str] = None dependencies_loaded: bool = True @@ -175,6 +190,10 @@ def raw_io_class(self) -> Optional[Type]: implementation_registry: Dict[str, CloudImplementation] = defaultdict(CloudImplementation) +# chunk size for stream-to-stream copies in streaming mode; shutil's 64 KiB default would +# split every multi-MiB buffered read into dozens of Python-level iterations +_STREAM_COPY_CHUNK_SIZE = 5 * 1024 * 1024 + T = TypeVar("T") CloudPathT = TypeVar("CloudPathT", bound="CloudPath") @@ -1008,12 +1027,7 @@ def _streaming_overwrite_check( """Build the pre-upload conflict check for a streaming write, mirroring the cached path's `OverwriteNewerCloudError` protection in `_upload_file_to_cloud`. Returns None when overwriting is forced.""" - if force_overwrite_to_cloud is None: - force_overwrite_to_cloud = os.environ.get( - "CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD", "False" - ).lower() in ["1", "true"] - - if force_overwrite_to_cloud: + if _force_overwrite_to_cloud(force_overwrite_to_cloud): return None original_mtime = self.stat().st_mtime if exists_on_cloud else None @@ -1034,6 +1048,20 @@ def check() -> None: return check + def _raise_if_copy_target_newer( + self, target: "CloudPath", force_overwrite_to_cloud: Optional[bool] + ) -> None: + """Refuse a cloud-to-cloud copy that would clobber a target at least as new as the + source, unless overwriting is forced.""" + if _force_overwrite_to_cloud(force_overwrite_to_cloud): + return + if target.exists() and target.stat().st_mtime >= self.stat().st_mtime: + raise OverwriteNewerCloudError( + f"File ({target}) is newer than ({self}). " + f"To overwrite " + f"pass `force_overwrite_to_cloud=True`." + ) + def replace(self, target: Self) -> Self: if type(self) is not type(target): raise TypeError( @@ -1418,21 +1446,7 @@ def _copy( if destination.exists() and destination.is_dir(): destination = destination / self.name - if force_overwrite_to_cloud is None: - force_overwrite_to_cloud = os.environ.get( - "CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD", "False" - ).lower() in ["1", "true"] - - if ( - not force_overwrite_to_cloud - and destination.exists() - and destination.stat().st_mtime >= self.stat().st_mtime - ): - raise OverwriteNewerCloudError( - f"File ({destination}) is newer than ({self}). " - f"To overwrite " - f"pass `force_overwrite_to_cloud=True`." - ) + self._raise_if_copy_target_newer(destination, force_overwrite_to_cloud) return cast(Self, self.client._move_file(self, destination, remove_src=remove_src)) @@ -1445,27 +1459,11 @@ def _copy( # streaming mode has no local cache to round-trip through (fspath is # unavailable), so copy by streaming between the two clients directly if self.client.file_cache_mode == FileCacheMode.streaming: - if force_overwrite_to_cloud is None: - force_overwrite_to_cloud = os.environ.get( - "CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD", "False" - ).lower() in ["1", "true"] - - if ( - not force_overwrite_to_cloud - and target_path.exists() - and target_path.stat().st_mtime >= self.stat().st_mtime - ): - raise OverwriteNewerCloudError( - f"File ({target_path}) is newer than ({self}). " - f"To overwrite " - f"pass `force_overwrite_to_cloud=True`." - ) - - with ( - self.open("rb") as src_file, - target_path.open("wb", force_overwrite_to_cloud=True) as dst_file, - ): - shutil.copyfileobj(src_file, dst_file) + self._raise_if_copy_target_newer(target_path, force_overwrite_to_cloud) + + with self.open("rb") as src_file: + with target_path.open("wb", force_overwrite_to_cloud=True) as dst_file: + shutil.copyfileobj(src_file, dst_file, _STREAM_COPY_CHUNK_SIZE) return cast(Union[Path, Self], target_path) @@ -1780,14 +1778,9 @@ def _refresh_cache(self, force_overwrite_from_cloud: Optional[bool] = None) -> N # new files that will be uploaded return - if force_overwrite_from_cloud is None: - force_overwrite_from_cloud = os.environ.get( - "CLOUDPATHLIB_FORCE_OVERWRITE_FROM_CLOUD", "False" - ).lower() in ["1", "true"] - # if not exist or cloud newer if ( - force_overwrite_from_cloud + _force_overwrite_from_cloud(force_overwrite_from_cloud) or not self._local.exists() or (self._local.stat().st_mtime < stats.st_mtime) ): @@ -1848,12 +1841,7 @@ def _upload_file_to_cloud( """Uploads file at `local_path` to the cloud if there is not a newer file already there. """ - if force_overwrite_to_cloud is None: - force_overwrite_to_cloud = os.environ.get( - "CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD", "False" - ).lower() in ["1", "true"] - - if force_overwrite_to_cloud: + if _force_overwrite_to_cloud(force_overwrite_to_cloud): # If we are overwriting no need to perform any checks, so we can save time self.client._upload_file( local_path, diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 9200adee..9170d1c4 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -12,6 +12,7 @@ import warnings from cloudpathlib.client import Client, register_client_class +from cloudpathlib.cloudpath import _STREAM_COPY_CHUNK_SIZE from cloudpathlib.enums import FileCacheMode from cloudpathlib.exceptions import CloudPathFileNotFoundError, CloudPathNotImplementedError @@ -120,7 +121,7 @@ def _move_file(self, src: HttpPath, dst: HttpPath, remove_src: bool = True) -> H # streaming mode has no local cache to round-trip through (fspath is # unavailable), so stream between the two paths directly with src.open("rb") as src_file, dst.open("wb") as dst_file: - shutil.copyfileobj(src_file, dst_file) + shutil.copyfileobj(src_file, dst_file, _STREAM_COPY_CHUNK_SIZE) else: # .fspath will download the file so the local version can be uploaded self._upload_file(src.fspath, dst) From ed92582cc38cc9401794cc67c1dcae4b3fdca1b0 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:23:47 -0700 Subject: [PATCH 16/35] Return stdlib file objects from streaming open and fix buffering semantics Drop the CloudBufferedIO/CloudTextIO wrappers: io.BufferedReader, io.BufferedWriter and io.TextIOWrapper already proxy name/mode from the raw stream, so open_stream() now builds the same stack the builtin open does. The redundant buffer_size kwarg is gone; buffering means what it means for open (0 raw, 1 line-buffered text with the default size, N bytes otherwise) instead of buffering=1 producing a 1-byte buffer. Text mode previously issued one ranged request per 8 KiB regardless of the buffer size because TextIOWrapper reads via read1, which BufferedReader passes straight to the raw stream; the wrapper's _CHUNK_SIZE now matches the buffer, so a 100 KB file is one request instead of thirteen. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/__init__.py | 3 - cloudpathlib/cloud_io.py | 252 ++++++++++++----------------------- cloudpathlib/cloudpath.py | 120 ++++++++--------- cloudpathlib/http/http_io.py | 12 +- docs/docs/caching.ipynb | 2 +- tests/test_cloud_io.py | 196 ++++++++++++++------------- 6 files changed, 249 insertions(+), 336 deletions(-) diff --git a/cloudpathlib/__init__.py b/cloudpathlib/__init__.py index c858a672..9810ab92 100644 --- a/cloudpathlib/__init__.py +++ b/cloudpathlib/__init__.py @@ -4,7 +4,6 @@ from .anypath import AnyPath from .azure.azblobclient import AzureBlobClient from .azure.azblobpath import AzureBlobPath -from .cloud_io import CloudBufferedIO, CloudTextIO from .cloudpath import CloudPath, implementation_registry from .patches import patch_open, patch_os_functions, patch_glob, patch_all_builtins from .gs.gsclient import GSClient @@ -21,9 +20,7 @@ "AnyPath", "AzureBlobClient", "AzureBlobPath", - "CloudBufferedIO", "CloudPath", - "CloudTextIO", "implementation_registry", "GSClient", "GSPath", diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 3351ced3..eded2afd 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -5,8 +5,8 @@ import io from abc import abstractmethod from concurrent.futures import FIRST_COMPLETED, Future, ThreadPoolExecutor, wait -from types import TracebackType -from typing import TYPE_CHECKING, Any, Callable, Dict, Optional, Type, Union +from typing import IO, TYPE_CHECKING, Any, Callable, Dict, Optional, Type, Union +import warnings if TYPE_CHECKING: from _typeshed import ReadableBuffer as _ReadableBuffer @@ -47,6 +47,7 @@ def __init__( client: Client, cloud_path: CloudPath, mode: str = "rb", + pre_finalize: Optional[Callable[[], None]] = None, ) -> None: super().__init__() self._client = client @@ -58,12 +59,21 @@ def __init__( self._closed = False self._upload_error: Optional[BaseException] = None # Optional conflict check run just before a write is finalized (set by CloudPath.open) - self._pre_finalize: Optional[Callable[[], None]] = None + self._pre_finalize = pre_finalize # concurrent requests for this stream (read prefetch / background part uploads) self._max_concurrency = max(1, int(getattr(client, "streaming_max_concurrency", 1))) self._executor: Optional[ThreadPoolExecutor] = None self._prefetch: Dict[int, Future] = {} + @property + def name(self) -> str: + """The cloud URL; surfaced as `.name` by the buffered and text wrappers too.""" + return str(self._cloud_path) + + @property + def mode(self) -> str: + return self._mode + def readable(self) -> bool: """Return whether object was opened for reading.""" return "r" in self._mode or "+" in self._mode @@ -325,8 +335,14 @@ class _CloudMultipartStorageRaw(_CloudStorageRaw): _PARTS_PER_SIZE_TIER: int _PROVIDER_NAME: str - def __init__(self, client: Client, cloud_path: CloudPath, mode: str = "rb") -> None: - super().__init__(client, cloud_path, mode) + def __init__( + self, + client: Client, + cloud_path: CloudPath, + mode: str = "rb", + pre_finalize: Optional[Callable[[], None]] = None, + ) -> None: + super().__init__(client, cloud_path, mode, pre_finalize) self._upload_id: Optional[str] = None self._parts: Dict[int, dict[str, Any]] = {} self._part_futures: Dict[int, Future] = {} @@ -427,169 +443,67 @@ def _reset_upload(self) -> None: self._write_buffer.clear() -class CloudBufferedIO(io.BufferedIOBase): - """Buffered binary I/O backed by a cloud client.""" - - def __init__( - self, - raw_io_class: Type[_CloudStorageRaw], - client: Client, - cloud_path: CloudPath, - mode: str = "rb", - buffer_size: int = DEFAULT_BUFFER_SIZE, - pre_finalize: Optional[Callable[[], None]] = None, - ) -> None: - _validate_file_mode(mode) - if "b" not in mode: - raise ValueError("CloudBufferedIO requires binary mode (must include 'b')") - if "a" in mode or "+" in mode: - raise io.UnsupportedOperation( - "append and update modes require the local-cache implementation" - ) - - raw = raw_io_class(client, cloud_path, mode) - if pre_finalize is not None: - raw._pre_finalize = pre_finalize - - if "r" in mode: - self._buffer: Union[io.BufferedReader, io.BufferedWriter] - self._buffer = io.BufferedReader(raw, buffer_size=buffer_size) # type: ignore[arg-type,assignment] - else: - self._buffer = io.BufferedWriter(raw, buffer_size=buffer_size) # type: ignore[arg-type,assignment] - - self._cloud_path = cloud_path - self._mode = mode - self._buffer_size_val = buffer_size - - @property - def name(self) -> str: - """File name (the cloud URL).""" - return str(self._cloud_path) - - @property - def mode(self) -> str: - """File mode.""" - return self._mode - - @property - def _buffer_size(self) -> int: - """Buffer size for compatibility with tests.""" - return self._buffer_size_val - - def read(self, size: Optional[int] = -1, /) -> bytes: - return self._buffer.read(size) - - def read1(self, size: int = -1, /) -> bytes: - return self._buffer.read1(size) # type: ignore[attr-defined] - - def readinto(self, b: _WriteableBuffer, /) -> int: - return self._buffer.readinto(b) - - def readinto1(self, b: _WriteableBuffer, /) -> int: - return self._buffer.readinto1(b) # type: ignore[attr-defined] - - def write(self, b: _ReadableBuffer, /) -> int: - return self._buffer.write(b) - - def seek(self, offset: int, whence: int = io.SEEK_SET, /) -> int: - return self._buffer.seek(offset, whence) - - def tell(self) -> int: - return self._buffer.tell() - - def flush(self) -> None: - self._buffer.flush() - - def close(self) -> None: - if hasattr(self, "_buffer") and not self._buffer.closed: - self._buffer.close() - - def readable(self) -> bool: - return self._buffer.readable() - - def writable(self) -> bool: - return self._buffer.writable() - - def seekable(self) -> bool: - return self._buffer.seekable() - - @property - def closed(self) -> bool: - return self._buffer.closed - - def __enter__(self) -> CloudBufferedIO: - return self - - def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[TracebackType], - /, - ) -> None: - self.close() - - -class CloudTextIO(io.TextIOWrapper): - """Text I/O backed by a cloud client.""" - - def __init__( - self, - raw_io_class: Type[_CloudStorageRaw], - client: Client, - cloud_path: CloudPath, - mode: str = "rt", - encoding: Optional[str] = None, - errors: Optional[str] = None, - newline: Optional[str] = None, - buffer_size: int = DEFAULT_BUFFER_SIZE, - line_buffering: bool = False, - pre_finalize: Optional[Callable[[], None]] = None, - ) -> None: - _validate_file_mode(mode) - if "b" in mode: - raise ValueError("CloudTextIO requires text mode (no 'b' in mode)") - if "a" in mode or "+" in mode: - raise io.UnsupportedOperation( - "append and update modes require the local-cache implementation" - ) - - # only r/w/x can reach here: 'b' was rejected above and 'a'/'+' raised earlier - if "t" not in mode and "r" in mode: - binary_mode = mode.replace("r", "rb", 1) - elif "t" not in mode and "w" in mode: - binary_mode = mode.replace("w", "wb", 1) - elif "t" not in mode and "x" in mode: - binary_mode = mode.replace("x", "xb", 1) - else: - binary_mode = mode.replace("t", "b") - - buffered = CloudBufferedIO( - raw_io_class, - client, - cloud_path, - mode=binary_mode, - buffer_size=buffer_size, - pre_finalize=pre_finalize, +def open_stream( + raw_io_class: Type[_CloudStorageRaw], + client: Client, + cloud_path: CloudPath, + mode: str, + buffering: int = -1, + encoding: Optional[str] = None, + errors: Optional[str] = None, + newline: Optional[str] = None, + pre_finalize: Optional[Callable[[], None]] = None, +) -> IO[Any]: + """Build a file object over a provider raw stream the way the builtin `open` does. + + Returns the raw stream for `buffering=0`, an `io.BufferedReader`/`io.BufferedWriter` + for binary modes, and an `io.TextIOWrapper` for text modes. `buffering` has the same + meaning as for `open`: `-1` for the default buffer size, `1` for line buffering in + text mode, otherwise the buffer size in bytes (which is also the size of each ranged + request for reads). + """ + _validate_file_mode(mode) + binary = "b" in mode + if "a" in mode or "+" in mode: + raise io.UnsupportedOperation( + "append and update modes require the local-cache implementation" ) - - super().__init__( - buffered, - encoding=encoding, - errors=errors, - newline=newline, - line_buffering=line_buffering, + if binary and buffering == 1: + warnings.warn( + "line buffering (buffering=1) isn't supported in binary mode, " + "the default buffer size will be used", + RuntimeWarning, + stacklevel=2, ) - - self._cloud_path = cloud_path - self._mode = mode - - @property - def name(self) -> str: - """File name (the cloud URL).""" - return str(self._cloud_path) - - @property - def mode(self) -> str: - """File mode.""" - return self._mode + buffering = -1 + if not binary and buffering == 0: + raise ValueError("can't have unbuffered text I/O") + + raw_mode = mode.replace("t", "") if binary else mode.replace("t", "") + "b" + raw = raw_io_class(client, cloud_path, raw_mode, pre_finalize) + if buffering == 0: + return raw # type: ignore[return-value] + + line_buffering = buffering == 1 + buffer_size = DEFAULT_BUFFER_SIZE if buffering < 2 else buffering + buffered: Union[io.BufferedReader, io.BufferedWriter] + if "r" in mode: + buffered = io.BufferedReader(raw, buffer_size) + else: + buffered = io.BufferedWriter(raw, buffer_size) + if binary: + return buffered # type: ignore[return-value] + + text = io.TextIOWrapper( + buffered, + encoding=encoding, + errors=errors, + newline=newline, + line_buffering=line_buffering, + ) + # TextIOWrapper pulls from the buffer in 8 KiB `read1` calls, and BufferedReader + # passes a `read1` straight through to the raw stream when its buffer is empty; without + # this, every text read would become an 8 KiB ranged request regardless of `buffering`. + text._CHUNK_SIZE = buffer_size # type: ignore[attr-defined] + text.mode = mode # type: ignore[misc] # the builtin open sets this too + return text diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index baf723cc..597aa160 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -769,7 +769,6 @@ def open( newline: Optional[str] = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, - buffer_size: Optional[int] = None, ) -> "TextIOWrapper": ... @overload @@ -782,7 +781,6 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, - buffer_size: Optional[int] = None, ) -> "FileIO": ... @overload @@ -795,7 +793,6 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, - buffer_size: Optional[int] = None, ) -> "BufferedRandom": ... @overload @@ -808,7 +805,6 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, - buffer_size: Optional[int] = None, ) -> "BufferedWriter": ... @overload @@ -821,7 +817,6 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, - buffer_size: Optional[int] = None, ) -> "BufferedReader": ... @overload @@ -834,7 +829,6 @@ def open( newline: None = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, - buffer_size: Optional[int] = None, ) -> "BinaryIO": ... @overload @@ -847,7 +841,6 @@ def open( newline: Optional[str] = None, force_overwrite_from_cloud: Optional[bool] = None, force_overwrite_to_cloud: Optional[bool] = None, - buffer_size: Optional[int] = None, ) -> "IO[Any]": ... def open( @@ -859,7 +852,6 @@ def open( newline: Optional[str] = None, force_overwrite_from_cloud: Optional[bool] = None, # extra kwarg not in pathlib force_overwrite_to_cloud: Optional[bool] = None, # extra kwarg not in pathlib - buffer_size: Optional[int] = None, # extra kwarg for streaming mode ) -> "IO[Any]": from .cloud_io import _validate_file_mode @@ -873,8 +865,6 @@ def open( raise ValueError("binary mode doesn't take a newline argument") if not binary_mode and buffering == 0: raise ValueError("can't have unbuffered text I/O") - if buffer_size is not None and buffer_size <= 0: - raise ValueError("buffer_size must be greater than zero") # if trying to call open on a directory that exists exists_on_cloud = self.exists() @@ -892,64 +882,20 @@ def open( if "x" in mode and exists_on_cloud: raise CloudPathFileExistsError(f"Cannot open existing file ({self}) for creation.") - # Use streaming I/O if file_cache_mode is streaming AND the mode is supported. - # Append (a) and update/random (+) modes cannot be done correctly as pure streaming - # over object storage; fall through to the cached path for correct semantics. - _streaming_unsupported = any(m in mode for m in ("a", "+")) - if self.client.file_cache_mode == FileCacheMode.streaming and not _streaming_unsupported: - # Import here to keep it localized to streaming functionality - from .cloud_io import DEFAULT_BUFFER_SIZE, CloudBufferedIO, CloudTextIO - - # Get the raw IO class from the cloud implementation - raw_io_class = self._cloud_meta.raw_io_class - if raw_io_class is None: - raise CloudPathNotImplementedError( - f"Streaming I/O is not implemented for {self._cloud_meta.name}" - ) - - # Overwrite protection mirroring the cached path's upload conflict check - pre_finalize = None - if "w" in mode or "x" in mode: - pre_finalize = self._streaming_overwrite_check( - exists_on_cloud, force_overwrite_to_cloud - ) - - # Calculate buffer size from buffering or buffer_size parameter - if buffer_size is None: - if buffering == 0: - # A raw provider adapter is the streaming equivalent of FileIO. - raw = raw_io_class(self.client, self, mode) - if pre_finalize is not None: - raw._pre_finalize = pre_finalize - return raw # type: ignore[return-value] - elif buffering > 0: - buffer_size = buffering - else: - buffer_size = DEFAULT_BUFFER_SIZE - - # Return appropriate streaming I/O object - if "b" in mode: - return CloudBufferedIO( # type: ignore[return-value] - raw_io_class=raw_io_class, - client=self.client, - cloud_path=self, - mode=mode, - buffer_size=buffer_size, - pre_finalize=pre_finalize, - ) - else: - return CloudTextIO( # type: ignore[return-value] - raw_io_class=raw_io_class, - client=self.client, - cloud_path=self, - mode=mode, - encoding=encoding, - errors=errors, - newline=newline, - buffer_size=buffer_size, - line_buffering=buffering == 1, - pre_finalize=pre_finalize, - ) + # Append (a) and update (+) modes cannot be done as pure streaming over object + # storage; they fall through to the cached path for correct semantics. + if self.client.file_cache_mode == FileCacheMode.streaming and not any( + m in mode for m in ("a", "+") + ): + return self._open_streaming( + mode, + buffering, + encoding, + errors, + newline, + exists_on_cloud=exists_on_cloud, + force_overwrite_to_cloud=force_overwrite_to_cloud, + ) # Standard cached mode self._refresh_cache(force_overwrite_from_cloud=force_overwrite_from_cloud) @@ -1021,6 +967,44 @@ def _patched_close_empty_cache(*args, **kwargs): return buffer + def _open_streaming( + self, + mode: str, + buffering: int, + encoding: Optional[str], + errors: Optional[str], + newline: Optional[str], + exists_on_cloud: bool, + force_overwrite_to_cloud: Optional[bool], + ) -> "IO[Any]": + """`open` without the local cache: ranged reads and multipart writes.""" + from .cloud_io import open_stream + + raw_io_class = self._cloud_meta.raw_io_class + if raw_io_class is None: + raise CloudPathNotImplementedError( + f"Streaming I/O is not implemented for {self._cloud_meta.name}" + ) + + # overwrite protection mirroring the cached path's upload conflict check + pre_finalize = None + if "w" in mode or "x" in mode: + pre_finalize = self._streaming_overwrite_check( + exists_on_cloud, force_overwrite_to_cloud + ) + + return open_stream( + raw_io_class, + self.client, + self, + mode, + buffering=buffering, + encoding=encoding, + errors=errors, + newline=newline, + pre_finalize=pre_finalize, + ) + def _streaming_overwrite_check( self, exists_on_cloud: bool, force_overwrite_to_cloud: Optional[bool] ) -> Optional[Callable[[], None]]: diff --git a/cloudpathlib/http/http_io.py b/cloudpathlib/http/http_io.py index 77ff0761..756f8771 100644 --- a/cloudpathlib/http/http_io.py +++ b/cloudpathlib/http/http_io.py @@ -3,7 +3,7 @@ from __future__ import annotations import tempfile -from typing import Protocol, cast +from typing import Callable, Optional, Protocol, cast from ..client import Client from ..cloud_io import _CloudStorageRaw @@ -24,8 +24,14 @@ def _put_data( class _HttpStorageRaw(_CloudStorageRaw): """HTTP range reads and single-request writes.""" - def __init__(self, client: Client, cloud_path: CloudPath, mode: str = "rb") -> None: - super().__init__(client, cloud_path, mode) + def __init__( + self, + client: Client, + cloud_path: CloudPath, + mode: str = "rb", + pre_finalize: Optional[Callable[[], None]] = None, + ) -> None: + super().__init__(client, cloud_path, mode, pre_finalize) self._upload_buffer = tempfile.SpooledTemporaryFile(max_size=8 * 1024 * 1024) def _upload_chunk(self, data: bytes) -> None: diff --git a/docs/docs/caching.ipynb b/docs/docs/caching.ipynb index a7bb5157..4fb4a99d 100644 --- a/docs/docs/caching.ipynb +++ b/docs/docs/caching.ipynb @@ -803,7 +803,7 @@ "# Read file in 8KB chunks without loading entire file\n", "print(\"Reading file in chunks:\")\n", "chunk_count = 0\n", - "with flood_image.open(\"rb\", buffer_size=8192) as f:\n", + "with flood_image.open(\"rb\", buffering=8192) as f:\n", " while chunk := f.read(8192):\n", " chunk_count += 1\n", "\n", diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 7cede605..424b4d7f 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1,8 +1,6 @@ """ -Tests for cloud storage streaming I/O. - -Tests CloudBufferedIO, CloudTextIO, and streaming mode for direct -streaming without local caching. +Tests for cloud storage streaming I/O: `FileCacheMode.streaming` makes `CloudPath.open` +return stdlib file objects over provider raw streams, without local caching. """ import io @@ -12,8 +10,7 @@ import pytest from cloudpathlib import S3Path, AzureBlobPath, GSPath -from cloudpathlib import CloudBufferedIO, CloudTextIO -from cloudpathlib.cloud_io import _CloudStorageRaw +from cloudpathlib.cloud_io import _CloudStorageRaw, open_stream from cloudpathlib.enums import FileCacheMode from cloudpathlib.exceptions import ( CloudPathFileNotFoundError, @@ -21,6 +18,14 @@ OverwriteNewerCloudError, ) + +def _is_streaming(f) -> bool: + """Whether an open file object is backed by a provider raw stream (vs. a cache file).""" + if isinstance(f, io.TextIOBase): + f = f.buffer + return isinstance(getattr(f, "raw", f), _CloudStorageRaw) + + # Sample test data BINARY_DATA = b"Hello, World! This is binary data.\n" * 100 TEXT_DATA = "Hello, World! This is text data.\n" * 100 @@ -98,7 +103,7 @@ def temp_cloud_multiline_file(rig): # ============================================================================ -# CloudBufferedIO tests (binary streaming) +# Binary streaming tests # ============================================================================ @@ -106,7 +111,8 @@ def test_read_binary_stream(temp_cloud_binary_file): """Test reading binary data via streaming.""" with temp_cloud_binary_file.open(mode="rb") as f: # Verify it's the right type - assert isinstance(f, CloudBufferedIO) + assert isinstance(f, io.BufferedIOBase) + assert _is_streaming(f) assert isinstance(f, io.BufferedIOBase) # Read all data @@ -215,7 +221,8 @@ def test_write_binary_stream(rig): # Write data with path.open(mode="wb") as f: - assert isinstance(f, CloudBufferedIO) + assert isinstance(f, io.BufferedIOBase) + assert _is_streaming(f) assert f.writable() assert not f.readable() @@ -249,7 +256,7 @@ def test_write_chunks(rig): path.client.file_cache_mode = FileCacheMode.streaming chunk_size = 100 - with path.open(mode="wb", buffer_size=chunk_size) as f: + with path.open(mode="wb", buffering=chunk_size) as f: for i in range(0, len(BINARY_DATA), chunk_size): chunk = BINARY_DATA[i : i + chunk_size] f.write(chunk) @@ -313,7 +320,7 @@ def test_not_found_error(rig): # ============================================================================ -# CloudTextIO tests (text streaming) +# Text streaming tests # ============================================================================ @@ -321,7 +328,8 @@ def test_read_text_stream(temp_cloud_file): """Test reading text data via streaming.""" with temp_cloud_file.open(mode="rt") as f: # Verify it's the right type - assert isinstance(f, CloudTextIO) + assert isinstance(f, io.TextIOWrapper) + assert _is_streaming(f) assert isinstance(f, io.TextIOBase) # Read all data @@ -332,7 +340,8 @@ def test_read_text_stream(temp_cloud_file): def test_read_text_mode_without_t(temp_cloud_file): """Test reading text with mode 'r' (without explicit 't').""" with temp_cloud_file.open(mode="r") as f: - assert isinstance(f, CloudTextIO) + assert isinstance(f, io.TextIOWrapper) + assert _is_streaming(f) data = f.read() assert data == TEXT_DATA @@ -408,7 +417,8 @@ def test_write_text_stream(rig): path.client.file_cache_mode = FileCacheMode.streaming with path.open(mode="wt") as f: - assert isinstance(f, CloudTextIO) + assert isinstance(f, io.TextIOWrapper) + assert _is_streaming(f) n = f.write(TEXT_DATA) assert n == len(TEXT_DATA) @@ -464,7 +474,8 @@ def test_buffer_property(temp_cloud_file): """Test access to underlying binary buffer.""" with temp_cloud_file.open(mode="rt") as f: assert hasattr(f, "buffer") - assert isinstance(f.buffer, CloudBufferedIO) + assert isinstance(f.buffer, io.BufferedReader) + assert _is_streaming(f) # ============================================================================ @@ -476,7 +487,8 @@ def test_cloudpath_stream_read(temp_cloud_file): """Test CloudPath.open with streaming mode for reading.""" # The temp_cloud_file fixture already sets streaming mode with temp_cloud_file.open(mode="r") as f: - assert isinstance(f, CloudTextIO) + assert isinstance(f, io.TextIOWrapper) + assert _is_streaming(f) data = f.read() assert data == TEXT_DATA @@ -495,7 +507,8 @@ def test_cloudpath_stream_write(rig): path.client.file_cache_mode = FileCacheMode.streaming with path.open(mode="w") as f: - assert isinstance(f, CloudTextIO) + assert isinstance(f, io.TextIOWrapper) + assert _is_streaming(f) f.write(TEXT_DATA) # Restore original mode @@ -513,7 +526,8 @@ def test_cloudpath_stream_binary(temp_cloud_binary_file): """Test CloudPath.open with streaming mode for binary.""" # The temp_cloud_binary_file fixture already sets streaming mode with temp_cloud_binary_file.open(mode="rb") as f: - assert isinstance(f, CloudBufferedIO) + assert isinstance(f, io.BufferedIOBase) + assert _is_streaming(f) data = f.read() assert data == BINARY_DATA @@ -532,8 +546,7 @@ def test_cloudpath_stream_false_uses_cache(rig): assert path.client.file_cache_mode != FileCacheMode.streaming with path.open(mode="r") as f: - # Should not be a CloudTextIO instance - assert not isinstance(f, CloudTextIO) + assert not _is_streaming(f) # Should still read correctly data = f.read() assert data == TEXT_DATA @@ -559,7 +572,7 @@ def test_cloudpath_default_no_streaming(rig): with path.open(mode="r") as f: # Default should not use streaming - assert not isinstance(f, CloudTextIO) + assert not _is_streaming(f) data = f.read() assert data == TEXT_DATA finally: @@ -611,11 +624,47 @@ def test_explicit_client(temp_cloud_file): assert len(data) > 0 -def test_buffer_size_parameter(temp_cloud_binary_file): - """Test custom buffer size.""" - buffer_size = 1024 - with temp_cloud_binary_file.open(mode="rb", buffer_size=buffer_size) as f: - assert f._buffer_size == buffer_size +def test_buffering_controls_request_size(streaming_rig, monkeypatch): + """`buffering=N` is the size of each ranged request, in binary and text mode alike + (TextIOWrapper's 8 KiB read1 chunks must not leak through as request sizes).""" + path = streaming_rig.create_cloud_path("buffering.txt") + path.write_text("line\n" * 20_000) # 100 KB + size = len(path.read_bytes()) + client = path.client + + requests = [] + original = client._range_download + + def spy(cloud_path, start, end): + requests.append(end - start + 1) + return original(cloud_path, start, end) + + monkeypatch.setattr(client, "_range_download", spy) + + for mode, kwargs in [("rb", {}), ("r", {}), ("r", {"buffering": 1})]: + requests.clear() + with path.open(mode, **kwargs) as f: + while f.read(4096): + pass + assert len(requests) == 1, (mode, kwargs, requests) + + for mode in ("rb", "r"): + requests.clear() + with path.open(mode, buffering=16 * 1024) as f: + while f.read(4096): + pass + assert len(requests) == -(-size // (16 * 1024)), (mode, requests) + assert max(requests) == 16 * 1024 + + requests.clear() + with path.open("r", buffering=16 * 1024) as f: + for _ in f: + pass + assert len(requests) == -(-size // (16 * 1024)) + + with pytest.warns(RuntimeWarning, match="line buffering"): + with path.open("rb", buffering=1) as f: + assert isinstance(f, io.BufferedReader) def test_text_parameters(rig): @@ -698,7 +747,7 @@ def test_large_file_streaming(rig): path.write_bytes(large_data) # Read in chunks - with path.open(mode="rb", buffer_size=8192) as f: + with path.open(mode="rb", buffering=8192) as f: chunks = [] while True: chunk = f.read(8192) @@ -742,39 +791,6 @@ def test_closed_file_operations(temp_cloud_file): f.readline() -def test_binary_mode_required_for_buffered(temp_cloud_file): - """Test that CloudBufferedIO requires binary mode.""" - # Get the raw IO class - raw_io_class = temp_cloud_file._cloud_meta.raw_io_class - if raw_io_class is None: - pytest.skip("No raw IO class registered") - - # This should raise an error - with pytest.raises(ValueError, match="binary mode"): - CloudBufferedIO( - raw_io_class=raw_io_class, - client=temp_cloud_file.client, - cloud_path=temp_cloud_file, - mode="r", - ) - - -def test_text_mode_required_for_text(temp_cloud_file): - """Test that CloudTextIO requires text mode.""" - # Get the raw IO class - raw_io_class = temp_cloud_file._cloud_meta.raw_io_class - if raw_io_class is None: - pytest.skip("No raw IO class registered") - - with pytest.raises(ValueError, match="text mode"): - CloudTextIO( - raw_io_class=raw_io_class, - client=temp_cloud_file.client, - cloud_path=temp_cloud_file, - mode="rb", - ) - - def test_unsupported_operations(temp_cloud_file): """Test unsupported operations raise appropriate errors.""" with temp_cloud_file.open(mode="rt") as f: @@ -810,7 +826,7 @@ def test_s3_multipart_upload(rig): large_data = b"X" * (200 * 1024) # 200 KB try: - with path.open(mode="wb", buffer_size=64 * 1024) as f: + with path.open(mode="wb", buffering=64 * 1024) as f: f.write(large_data) # Verify data was uploaded correctly @@ -869,14 +885,14 @@ def test_gs_multipart_streaming_upload(rig): def test_small_buffer_many_reads(temp_cloud_binary_file): """Test reading with small buffer size.""" - with temp_cloud_binary_file.open(mode="rb", buffer_size=128) as f: + with temp_cloud_binary_file.open(mode="rb", buffering=128) as f: data = f.read() assert data == BINARY_DATA def test_large_buffer_few_reads(temp_cloud_binary_file): """Test reading with large buffer size.""" - with temp_cloud_binary_file.open(mode="rb", buffer_size=1024 * 1024) as f: + with temp_cloud_binary_file.open(mode="rb", buffering=1024 * 1024) as f: data = f.read() assert data == BINARY_DATA @@ -1081,9 +1097,7 @@ def mock_get_size(): raise OSError("Cannot determine size") with path.open(mode="rb") as f: - # CloudBufferedIO has a _buffer attribute that wraps the raw IO - # Access the raw IO object through _buffer - raw = f._buffer.raw if hasattr(f, "_buffer") else f.raw + raw = f.raw monkeypatch.setattr(raw, "_get_size", mock_get_size) monkeypatch.setattr(raw, "_size", None) @@ -1178,12 +1192,7 @@ def _finalize_upload(self) -> None: try: with pytest.raises(RuntimeError, match="simulated upload failure"): - with CloudBufferedIO( - raw_io_class=_FailingRaw, - client=path.client, - cloud_path=path, - mode="wb", - ) as f: + with open_stream(_FailingRaw, path.client, path, "wb") as f: f.write(b"data that should not survive") finally: path.client.file_cache_mode = original_mode @@ -1256,7 +1265,7 @@ def test_append_mode_uses_cache_fallback(rig): try: with path.open("ab") as f: - assert not isinstance(f, CloudBufferedIO), "append mode must use cache, not streaming" + assert not _is_streaming(f), "append mode must use cache, not streaming" f.write(b"world") path.client.file_cache_mode = original_mode @@ -1293,7 +1302,7 @@ def test_rplus_mode_uses_cache_fallback(rig): try: with path.open("r+b") as f: - assert not isinstance(f, CloudBufferedIO), "r+b must use cache, not streaming" + assert not _is_streaming(f), "r+b must use cache, not streaming" f.seek(6) f.write(b"there") @@ -1471,7 +1480,7 @@ def test_http_range_read_returns_correct_bytes(rig): path.client.file_cache_mode = FileCacheMode.streaming try: - with path.open("rb", buffer_size=4) as f: + with path.open("rb", buffering=4) as f: chunk = f.read(4) assert chunk == b"0123", f"Expected first 4 bytes, got {chunk!r}" chunk2 = f.read(4) @@ -1869,7 +1878,7 @@ def test_write_tell_tracks_position(streaming_rig): try: # small buffer so most bytes reach the raw layer instead of sitting in the buffer - with path.open("wb", buffer_size=64 * 1024) as f: + with path.open("wb", buffering=64 * 1024) as f: assert f.tell() == 0 f.write(b"x" * 200_000) # larger than the buffer assert f.tell() == 200_000 @@ -1890,7 +1899,7 @@ def test_streaming_zipfile_write_roundtrip(streaming_rig): big_member = b"data" * 50_000 # > the 64 KiB buffer below so bytes reach the raw layer try: - with path.open("wb", buffer_size=64 * 1024) as f: + with path.open("wb", buffering=64 * 1024) as f: with zipfile.ZipFile(f, "w") as zf: zf.writestr("a.txt", b"hello world") zf.writestr("b.bin", big_member) @@ -1981,7 +1990,7 @@ def failing_get_content_length(self, cloud_path): monkeypatch.setattr(type(client), "_get_content_length", failing_get_content_length) try: - with path.open("rb", buffer_size=16 * 1024) as f: + with path.open("rb", buffering=16 * 1024) as f: data = f.read() assert data == content assert calls["n"] == 1 @@ -2269,19 +2278,20 @@ class TinyParts(path._cloud_meta.raw_io_class): raw.close() # the write failure is sticky and aborts the upload -def test_buffered_io_direct_construction_guards(local_s3_rig): - """Direct construction validates modes that the open() path never forwards.""" +def test_open_stream_direct_construction_guards(local_s3_rig): + """`open_stream` validates modes that the open() path never forwards.""" path = local_s3_rig.create_cloud_path("direct-construction.bin") path.write_bytes(b"0123456789") raw_cls = path._cloud_meta.raw_io_class with pytest.raises(io.UnsupportedOperation, match="append and update"): - CloudBufferedIO(raw_cls, path.client, path, mode="ab") + open_stream(raw_cls, path.client, path, "ab") with pytest.raises(io.UnsupportedOperation, match="append and update"): - CloudTextIO(raw_cls, path.client, path, mode="a") + open_stream(raw_cls, path.client, path, "a") + with pytest.raises(ValueError, match="unbuffered text"): + open_stream(raw_cls, path.client, path, "r", buffering=0) - # readinto1 delegates to the buffered reader - with CloudBufferedIO(raw_cls, path.client, path, mode="rb") as f: + with open_stream(raw_cls, path.client, path, "rb") as f: buf = bytearray(4) assert f.readinto1(buf) == 4 assert bytes(buf) == b"0123" @@ -2551,11 +2561,13 @@ def raise_405(req): pass -def test_open_buffer_size_must_be_positive(streaming_rig): - """buffer_size=0 is rejected up front.""" - path = streaming_rig.create_cloud_path("bad_buffer.bin") - with pytest.raises(ValueError, match="buffer_size"): - path.open("wb", buffer_size=0) +def test_open_unbuffered_write_returns_raw(streaming_rig): + """buffering=0 on a binary write returns the raw provider stream, like the builtin open.""" + path = streaming_rig.create_cloud_path("unbuffered_write.bin") + with path.open("wb", buffering=0) as f: + assert isinstance(f, io.RawIOBase) + f.write(b"raw bytes") + assert path.read_bytes() == b"raw bytes" def test_open_directory_raises(local_s3_rig): @@ -2587,7 +2599,7 @@ def test_streaming_parquet_metadata_and_column_read(streaming_rig): client.file_cache_mode = FileCacheMode.streaming try: - with path.open("rb", buffer_size=64 * 1024) as f: + with path.open("rb", buffering=64 * 1024) as f: parquet_file = pq.ParquetFile(f) assert parquet_file.metadata.num_rows == 10_000 column = parquet_file.read(columns=["a"]) @@ -2748,7 +2760,7 @@ def counting_range_download(cloud_path, start, end): client._range_download = counting_range_download try: - with path.open("rb", buffer_size=chunk) as f: + with path.open("rb", buffering=chunk) as f: read_back = b"" while True: piece = f.read1(chunk) @@ -2760,7 +2772,7 @@ def counting_range_download(cloud_path, start, end): assert starts == list(range(0, len(data), chunk)), f"unexpected requests: {calls}" # seeking back re-reads correctly even though prefetched chunks are discarded - with path.open("rb", buffer_size=chunk) as f: + with path.open("rb", buffering=chunk) as f: f.read1(chunk) f.seek(3 * chunk) assert f.read1(chunk) == data[3 * chunk : 4 * chunk] From 36c4bf70bee75bafc9d7b4b2cbc42b406f92bca8 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:28:07 -0700 Subject: [PATCH 17/35] Configure streaming on the client instead of a raw-class registry register_raw_io_class, CloudImplementation._raw_io_class and the four per-provider *_io.py modules existed only to map a provider key to a few part-size constants. Each Client now declares _streaming_raw_class and its multipart limits as class attributes, so custom client subclasses inherit streaming support automatically and the local mock clients no longer need import-for-side-effect registration. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/azure/__init__.py | 1 - cloudpathlib/azure/azblobclient.py | 7 +++ cloudpathlib/azure/azure_io.py | 23 -------- cloudpathlib/client.py | 10 ++++ cloudpathlib/cloud_io.py | 33 ++++++----- cloudpathlib/cloudpath.py | 34 ++--------- cloudpathlib/gs/__init__.py | 1 - cloudpathlib/gs/gs_io.py | 16 ----- cloudpathlib/gs/gsclient.py | 3 + cloudpathlib/http/__init__.py | 1 - cloudpathlib/http/http_io.py | 52 ----------------- cloudpathlib/http/httpclient.py | 38 +++++++++++- cloudpathlib/local/implementations/azure.py | 9 +-- cloudpathlib/local/implementations/gs.py | 6 +- cloudpathlib/local/implementations/s3.py | 6 +- cloudpathlib/s3/__init__.py | 1 - cloudpathlib/s3/s3_io.py | 17 ------ cloudpathlib/s3/s3client.py | 3 + tests/conftest.py | 2 +- tests/test_client.py | 13 +---- tests/test_cloud_io.py | 65 +++++++++------------ 21 files changed, 125 insertions(+), 216 deletions(-) delete mode 100644 cloudpathlib/azure/azure_io.py delete mode 100644 cloudpathlib/gs/gs_io.py delete mode 100644 cloudpathlib/http/http_io.py delete mode 100644 cloudpathlib/s3/s3_io.py diff --git a/cloudpathlib/azure/__init__.py b/cloudpathlib/azure/__init__.py index 1647fe96..e29ada6a 100644 --- a/cloudpathlib/azure/__init__.py +++ b/cloudpathlib/azure/__init__.py @@ -1,6 +1,5 @@ from .azblobclient import AzureBlobClient from .azblobpath import AzureBlobPath -from .azure_io import _AzureBlobStorageRaw # noqa: F401 - imported for registration __all__ = [ "AzureBlobClient", diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index d818000a..adae1e1c 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -8,6 +8,7 @@ from uuid import uuid4 from ..client import Client, _UploadPart, register_client_class +from ..cloud_io import _CloudMultipartStorageRaw from ..cloudpath import implementation_registry from ..enums import FileCacheMode from ..exceptions import CloudPathFileNotFoundError, MissingCredentialsError @@ -47,6 +48,12 @@ class AzureBlobClient(Client): authentication options. """ + _streaming_raw_class = _CloudMultipartStorageRaw + # Azure block blobs: 4 MiB default blocks, 4000 MiB maximum, 50,000 committed blocks + _multipart_min_part_size = 4 * 1024 * 1024 + _multipart_max_part_size = 4_000 * 1024 * 1024 + _multipart_max_parts = 50_000 + def __init__( self, account_url: Optional[str] = None, diff --git a/cloudpathlib/azure/azure_io.py b/cloudpathlib/azure/azure_io.py deleted file mode 100644 index ee68fe3a..00000000 --- a/cloudpathlib/azure/azure_io.py +++ /dev/null @@ -1,23 +0,0 @@ -"""Azure Blob Storage streaming I/O.""" - -from ..cloud_io import _CloudMultipartStorageRaw -from ..cloudpath import register_raw_io_class - - -@register_raw_io_class("azure") -class _AzureBlobStorageRaw(_CloudMultipartStorageRaw): - """Azure range reads and block writes.""" - - # Azure permits at most 50,000 committed blocks. - _INITIAL_PART_SIZE = 4 * 1024 * 1024 - _BLOCK_SIZE = _INITIAL_PART_SIZE - _MAX_PART_SIZE = 4_000 * 1024 * 1024 - _MAX_BLOCK_SIZE = _MAX_PART_SIZE - _MAX_PARTS = 50_000 - _BLOCKS_PER_SIZE_TIER = 1_000 - _PARTS_PER_SIZE_TIER = _BLOCKS_PER_SIZE_TIER - _PROVIDER_NAME = "Azure block" - - @classmethod - def _block_size_for_number(cls, block_number: int) -> int: - return cls._part_size_for_number(block_number) diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index dbe2bb96..14e72572 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -14,10 +14,12 @@ Optional, Sequence, Tuple, + Type, TypeVar, Union, ) +from .cloud_io import _CloudStorageRaw from .cloudpath import CloudImplementation, CloudPath, implementation_registry from .enums import FileCacheMode from .exceptions import InvalidConfigurationException @@ -42,6 +44,14 @@ class Client(abc.ABC, Generic[BoundedCloudPath]): _cloud_meta: CloudImplementation _default_client: ClassVar[Optional["Client[BoundedCloudPath]"]] = None + # Streaming I/O (`FileCacheMode.streaming`): the raw stream class `CloudPath.open` wraps, + # or None when the provider has no streaming support. Multipart providers use + # `_CloudMultipartStorageRaw` and the part limits below (S3's by default). + _streaming_raw_class: ClassVar[Optional[Type[_CloudStorageRaw]]] = None + _multipart_min_part_size: ClassVar[int] = 5 * 1024 * 1024 + _multipart_max_part_size: ClassVar[int] = 5 * 1024 * 1024 * 1024 + _multipart_max_parts: ClassVar[int] = 10_000 + def __init__( self, file_cache_mode: Optional[Union[str, FileCacheMode]] = None, diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index eded2afd..06fbe3bd 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -15,8 +15,9 @@ _ReadableBuffer = Union[bytes, bytearray, memoryview] _WriteableBuffer = Union[bytearray, memoryview] -from .client import Client -from .cloudpath import CloudPath +if TYPE_CHECKING: + from .client import Client + from .cloudpath import CloudPath # Bytes fetched/buffered per request for buffered streaming I/O. Sized to match the # multi-MiB block sizes used by comparable tools (fsspec/s3fs/gcsfs) so per-request @@ -327,13 +328,14 @@ def _is_eof_error(self, error: Exception) -> bool: class _CloudMultipartStorageRaw(_CloudStorageRaw): - """Shared buffered multipart upload lifecycle.""" + """Buffered multipart upload lifecycle shared by S3, Azure, and GCS. + + Part sizes start at the client's minimum part size and double every + `_PARTS_PER_SIZE_TIER` parts (capped at the maximum part size) so that very large + streams stay within the provider's part-count limit. + """ - _INITIAL_PART_SIZE: int - _MAX_PART_SIZE: int - _MAX_PARTS: int - _PARTS_PER_SIZE_TIER: int - _PROVIDER_NAME: str + _PARTS_PER_SIZE_TIER = 1_000 def __init__( self, @@ -343,24 +345,27 @@ def __init__( pre_finalize: Optional[Callable[[], None]] = None, ) -> None: super().__init__(client, cloud_path, mode, pre_finalize) + self._min_part_size = client._multipart_min_part_size + self._max_part_size = client._multipart_max_part_size + self._max_parts = client._multipart_max_parts self._upload_id: Optional[str] = None self._parts: Dict[int, dict[str, Any]] = {} self._part_futures: Dict[int, Future] = {} self._part_number = 1 self._write_buffer = bytearray() - @classmethod - def _part_size_for_number(cls, part_number: int) -> int: - tier = (part_number - 1) // cls._PARTS_PER_SIZE_TIER - return min(cls._INITIAL_PART_SIZE * (2**tier), cls._MAX_PART_SIZE) + def _part_size_for_number(self, part_number: int) -> int: + tier = (part_number - 1) // self._PARTS_PER_SIZE_TIER + return min(self._min_part_size * (2**tier), self._max_part_size) def _target_part_size(self) -> int: return self._part_size_for_number(self._part_number) def _check_part_limit(self) -> None: - if self._part_number > self._MAX_PARTS: + if self._part_number > self._max_parts: raise OSError( - f"{self._PROVIDER_NAME} upload exceeded the {self._MAX_PARTS:,}-part limit" + f"{type(self._client).__name__} multipart upload exceeded the " + f"{self._max_parts:,}-part limit" ) def _upload_buffered_part(self, size: int) -> None: diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 597aa160..701cfe05 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -150,14 +150,12 @@ def _force_overwrite_from_cloud(flag: Optional[bool]) -> bool: class CloudImplementation: - name: Optional[str] = None + name: str dependencies_loaded: bool = True _client_class: Type["Client"] _path_class: Type["CloudPath"] - _raw_io_class: Optional[Type] = None def validate_completeness(self) -> None: - # raw_io_class is optional; streaming raises NotImplementedError when absent expected = ["client_class", "path_class"] missing = [cls for cls in expected if getattr(self, f"_{cls}") is None] if missing: @@ -165,11 +163,9 @@ def validate_completeness(self) -> None: f"Implementation is missing registered components: {missing}" ) if not self.dependencies_loaded: - # Use name if available, otherwise fall back to client class name - pkg_name = self.name if self.name else self._client_class.__name__.lower() raise MissingDependenciesError( f"Missing dependencies for {self._client_class.__name__}. You can install them " - f"with 'pip install cloudpathlib[{pkg_name}]'." + f"with 'pip install cloudpathlib[{self.name}]'." ) @property @@ -182,11 +178,6 @@ def path_class(self) -> Type["CloudPath"]: self.validate_completeness() return self._path_class - @property - def raw_io_class(self) -> Optional[Type]: - self.validate_completeness() - return self._raw_io_class - implementation_registry: Dict[str, CloudImplementation] = defaultdict(CloudImplementation) @@ -210,23 +201,6 @@ def decorator(cls: Type[CloudPathT]) -> Type[CloudPathT]: return decorator -def register_raw_io_class(key: str) -> Callable[[Type[T]], Type[T]]: - """Decorator to register a raw I/O class for a cloud provider. - - Args: - key: The cloud provider key (e.g., 's3', 'azure', 'gs') - - Returns: - Decorator function - """ - - def decorator(cls: Type[T]) -> Type[T]: - implementation_registry[key]._raw_io_class = cls - return cls - - return decorator - - class CloudPathMeta(abc.ABCMeta): @overload def __call__( @@ -980,10 +954,10 @@ def _open_streaming( """`open` without the local cache: ranged reads and multipart writes.""" from .cloud_io import open_stream - raw_io_class = self._cloud_meta.raw_io_class + raw_io_class = self.client._streaming_raw_class if raw_io_class is None: raise CloudPathNotImplementedError( - f"Streaming I/O is not implemented for {self._cloud_meta.name}" + f"Streaming I/O is not implemented for {type(self.client).__name__}" ) # overwrite protection mirroring the cached path's upload conflict check diff --git a/cloudpathlib/gs/__init__.py b/cloudpathlib/gs/__init__.py index d4c5e24a..d68a41c4 100644 --- a/cloudpathlib/gs/__init__.py +++ b/cloudpathlib/gs/__init__.py @@ -1,6 +1,5 @@ from .gsclient import GSClient from .gspath import GSPath -from .gs_io import _GSStorageRaw # noqa: F401 - imported for registration __all__ = [ "GSClient", diff --git a/cloudpathlib/gs/gs_io.py b/cloudpathlib/gs/gs_io.py deleted file mode 100644 index 6b9bf298..00000000 --- a/cloudpathlib/gs/gs_io.py +++ /dev/null @@ -1,16 +0,0 @@ -"""Google Cloud Storage streaming I/O.""" - -from ..cloud_io import _CloudMultipartStorageRaw -from ..cloudpath import register_raw_io_class - - -@register_raw_io_class("gs") -class _GSStorageRaw(_CloudMultipartStorageRaw): - """GCS range reads and XML multipart-upload writes.""" - - # GCS XML multipart uploads require non-final parts of at least 5 MiB. - _INITIAL_PART_SIZE = 5 * 1024 * 1024 - _MAX_PART_SIZE = 5 * 1024 * 1024 * 1024 - _MAX_PARTS = 10_000 - _PARTS_PER_SIZE_TIER = 1_000 - _PROVIDER_NAME = "GCS multipart" diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 5bb5fade..6ac66cb4 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -7,6 +7,7 @@ import warnings from ..client import Client, _UploadPart, register_client_class +from ..cloud_io import _CloudMultipartStorageRaw from ..cloudpath import implementation_registry from ..enums import FileCacheMode from ..exceptions import CloudPathFileNotFoundError, CloudPathNotImplementedError @@ -81,6 +82,8 @@ class GSClient(Client): options. """ + _streaming_raw_class = _CloudMultipartStorageRaw + def __init__( self, application_credentials: Optional[Union[str, os.PathLike]] = None, diff --git a/cloudpathlib/http/__init__.py b/cloudpathlib/http/__init__.py index 00085d9c..ccf7452e 100644 --- a/cloudpathlib/http/__init__.py +++ b/cloudpathlib/http/__init__.py @@ -1,6 +1,5 @@ from .httpclient import HttpClient, HttpsClient from .httppath import HttpPath, HttpsPath -from .http_io import _HttpStorageRaw # noqa: F401 __all__ = [ "HttpClient", diff --git a/cloudpathlib/http/http_io.py b/cloudpathlib/http/http_io.py deleted file mode 100644 index 756f8771..00000000 --- a/cloudpathlib/http/http_io.py +++ /dev/null @@ -1,52 +0,0 @@ -"""HTTP streaming I/O.""" - -from __future__ import annotations - -import tempfile -from typing import Callable, Optional, Protocol, cast - -from ..client import Client -from ..cloud_io import _CloudStorageRaw -from ..cloudpath import CloudPath, register_raw_io_class - - -class _HttpStreamingClient(Protocol): - def _put_data( - self, - cloud_path: CloudPath, - data: tempfile.SpooledTemporaryFile[bytes], - content_length: int, - ) -> None: ... - - -@register_raw_io_class("http") -@register_raw_io_class("https") -class _HttpStorageRaw(_CloudStorageRaw): - """HTTP range reads and single-request writes.""" - - def __init__( - self, - client: Client, - cloud_path: CloudPath, - mode: str = "rb", - pre_finalize: Optional[Callable[[], None]] = None, - ) -> None: - super().__init__(client, cloud_path, mode, pre_finalize) - self._upload_buffer = tempfile.SpooledTemporaryFile(max_size=8 * 1024 * 1024) - - def _upload_chunk(self, data: bytes) -> None: - if data: - self._upload_buffer.write(data) - - def _finalize_upload(self) -> None: - self._upload_buffer.seek(0, 2) - content_length = self._upload_buffer.tell() - self._upload_buffer.seek(0) - try: - client = cast(_HttpStreamingClient, self._client) - client._put_data(self._cloud_path, self._upload_buffer, content_length) - finally: - self._upload_buffer.close() - - def _abort_upload(self) -> None: - self._upload_buffer.close() diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 9170d1c4..e013dc86 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -6,21 +6,57 @@ import urllib.parse import urllib.error from pathlib import Path +import tempfile from typing import BinaryIO, Iterable, Optional, Tuple, Union, Callable import shutil import mimetypes import warnings from cloudpathlib.client import Client, register_client_class -from cloudpathlib.cloudpath import _STREAM_COPY_CHUNK_SIZE +from cloudpathlib.cloud_io import _CloudStorageRaw +from cloudpathlib.cloudpath import CloudPath, _STREAM_COPY_CHUNK_SIZE from cloudpathlib.enums import FileCacheMode from cloudpathlib.exceptions import CloudPathFileNotFoundError, CloudPathNotImplementedError from .httppath import HttpPath +class _HttpStorageRaw(_CloudStorageRaw): + """HTTP range reads and single-request writes.""" + + def __init__( + self, + client: Client, + cloud_path: CloudPath, + mode: str = "rb", + pre_finalize: Optional[Callable[[], None]] = None, + ) -> None: + super().__init__(client, cloud_path, mode, pre_finalize) + self._upload_buffer = tempfile.SpooledTemporaryFile(max_size=8 * 1024 * 1024) + + def _upload_chunk(self, data: bytes) -> None: + if data: + self._upload_buffer.write(data) + + def _finalize_upload(self) -> None: + self._upload_buffer.seek(0, 2) + content_length = self._upload_buffer.tell() + self._upload_buffer.seek(0) + try: + self._client._put_data( # type: ignore[attr-defined] + self._cloud_path, self._upload_buffer, content_length + ) + finally: + self._upload_buffer.close() + + def _abort_upload(self) -> None: + self._upload_buffer.close() + + @register_client_class("http") class HttpClient(Client): + _streaming_raw_class = _HttpStorageRaw + def __init__( self, file_cache_mode: Optional[Union[str, FileCacheMode]] = None, diff --git a/cloudpathlib/local/implementations/azure.py b/cloudpathlib/local/implementations/azure.py index e20dedea..50893e21 100644 --- a/cloudpathlib/local/implementations/azure.py +++ b/cloudpathlib/local/implementations/azure.py @@ -1,14 +1,12 @@ import os from typing import Any, Optional +from ...cloud_io import _CloudMultipartStorageRaw from ...cloudpath import CloudImplementation from ...exceptions import MissingCredentialsError from ..localclient import LocalClient from ..localpath import LocalPath -# Import raw I/O class to ensure it's registered -from ...azure.azure_io import _AzureBlobStorageRaw # noqa: F401 - local_azure_blob_implementation = CloudImplementation() """Replacement for "azure" CloudImplementation meta object in cloudpathlib.implementation_registry""" @@ -20,6 +18,10 @@ class LocalAzureBlobClient(LocalClient): """ _cloud_meta = local_azure_blob_implementation + _streaming_raw_class = _CloudMultipartStorageRaw + _multipart_min_part_size = 4 * 1024 * 1024 + _multipart_max_part_size = 4_000 * 1024 * 1024 + _multipart_max_parts = 50_000 def __init__(self, *args, **kwargs): cred_opts = [ @@ -86,4 +88,3 @@ def md5(self) -> str: local_azure_blob_implementation.name = "azure" local_azure_blob_implementation._client_class = LocalAzureBlobClient local_azure_blob_implementation._path_class = LocalAzureBlobPath -local_azure_blob_implementation._raw_io_class = _AzureBlobStorageRaw diff --git a/cloudpathlib/local/implementations/gs.py b/cloudpathlib/local/implementations/gs.py index 7fd7d88c..76b55609 100644 --- a/cloudpathlib/local/implementations/gs.py +++ b/cloudpathlib/local/implementations/gs.py @@ -1,12 +1,10 @@ from typing import Any, Optional +from ...cloud_io import _CloudMultipartStorageRaw from ...cloudpath import CloudImplementation from ..localclient import LocalClient from ..localpath import LocalPath -# Import raw I/O class to ensure it's registered -from ...gs.gs_io import _GSStorageRaw # noqa: F401 - local_gs_implementation = CloudImplementation() """Replacement for "gs" CloudImplementation meta object in cloudpathlib.implementation_registry""" @@ -17,6 +15,7 @@ class LocalGSClient(LocalClient): """ _cloud_meta = local_gs_implementation + _streaming_raw_class = _CloudMultipartStorageRaw LocalGSClient.GSPath = LocalGSClient.CloudPath # type: ignore @@ -69,4 +68,3 @@ def md5(self) -> str: local_gs_implementation.name = "gs" local_gs_implementation._client_class = LocalGSClient local_gs_implementation._path_class = LocalGSPath -local_gs_implementation._raw_io_class = _GSStorageRaw diff --git a/cloudpathlib/local/implementations/s3.py b/cloudpathlib/local/implementations/s3.py index 81a75ff4..6f39cab9 100644 --- a/cloudpathlib/local/implementations/s3.py +++ b/cloudpathlib/local/implementations/s3.py @@ -1,12 +1,10 @@ from typing import Any, Optional +from ...cloud_io import _CloudMultipartStorageRaw from ...cloudpath import CloudImplementation from ..localclient import LocalClient from ..localpath import LocalPath -# Import raw I/O class to ensure it's registered -from ...s3.s3_io import _S3StorageRaw # noqa: F401 - local_s3_implementation = CloudImplementation() """Replacement for "s3" CloudImplementation meta object in cloudpathlib.implementation_registry""" @@ -17,6 +15,7 @@ class LocalS3Client(LocalClient): """ _cloud_meta = local_s3_implementation + _streaming_raw_class = _CloudMultipartStorageRaw LocalS3Client.S3Path = LocalS3Client.CloudPath # type: ignore @@ -65,4 +64,3 @@ def etag(self): local_s3_implementation.name = "s3" local_s3_implementation._client_class = LocalS3Client local_s3_implementation._path_class = LocalS3Path -local_s3_implementation._raw_io_class = _S3StorageRaw diff --git a/cloudpathlib/s3/__init__.py b/cloudpathlib/s3/__init__.py index cb71b813..77d27176 100644 --- a/cloudpathlib/s3/__init__.py +++ b/cloudpathlib/s3/__init__.py @@ -1,6 +1,5 @@ from .s3client import S3Client from .s3path import S3Path -from .s3_io import _S3StorageRaw # noqa: F401 - imported for registration __all__ = [ "S3Client", diff --git a/cloudpathlib/s3/s3_io.py b/cloudpathlib/s3/s3_io.py deleted file mode 100644 index fb0684b7..00000000 --- a/cloudpathlib/s3/s3_io.py +++ /dev/null @@ -1,17 +0,0 @@ -"""S3 streaming I/O.""" - -from ..cloud_io import _CloudMultipartStorageRaw -from ..cloudpath import register_raw_io_class - - -@register_raw_io_class("s3") -class _S3StorageRaw(_CloudMultipartStorageRaw): - """S3 range reads and multipart writes.""" - - # S3 requires non-final parts of at least 5 MiB. - _INITIAL_PART_SIZE = 5 * 1024 * 1024 - _MIN_PART_SIZE = _INITIAL_PART_SIZE - _MAX_PART_SIZE = 5 * 1024 * 1024 * 1024 - _MAX_PARTS = 10_000 - _PARTS_PER_SIZE_TIER = 1_000 - _PROVIDER_NAME = "S3 multipart" diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index 7d0fcfed..95deff0c 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -5,6 +5,7 @@ from typing import Any, Callable, Dict, Iterable, Optional, Sequence, Tuple, Union from ..client import Client, _UploadPart, register_client_class +from ..cloud_io import _CloudMultipartStorageRaw from ..cloudpath import implementation_registry from ..enums import FileCacheMode from ..exceptions import CloudPathException, CloudPathFileNotFoundError @@ -32,6 +33,8 @@ class S3Client(Client): instances. See documentation for the [`__init__` method][cloudpathlib.s3.s3client.S3Client.__init__] for detailed authentication options.""" + _streaming_raw_class = _CloudMultipartStorageRaw + def __init__( self, aws_access_key_id: Optional[str] = None, diff --git a/tests/conftest.py b/tests/conftest.py index 4feb7f40..49e55c55 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -295,7 +295,7 @@ def client_class(self): @property def raw_io_class(self): - return self.cloud_implementation.raw_io_class + return self.client_class._streaming_raw_class @property def cloud_prefix(self): diff --git a/tests/test_client.py b/tests/test_client.py index d12b396a..e38576e7 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -8,16 +8,11 @@ from cloudpathlib import CloudPath from cloudpathlib.client import Client, register_client_class -from cloudpathlib.cloudpath import ( - implementation_registry, - register_path_class, - register_raw_io_class, -) +from cloudpathlib.cloudpath import implementation_registry, register_path_class from cloudpathlib.http.httpclient import HttpClient, HttpsClient from cloudpathlib.s3.s3client import S3Client from cloudpathlib.s3.s3path import S3Path from tests.rigs import custom_s3_endpoint -from cloudpathlib.s3.s3_io import _S3StorageRaw def test_default_client_instantiation(rig): @@ -162,10 +157,6 @@ class MyS3Path(S3Path): class MyS3Client(S3Client): pass - @register_raw_io_class("mys3") - class MyS3StorageRaw(_S3StorageRaw): - pass - yield (MyS3Path, MyS3Client) # cleanup after use @@ -188,6 +179,8 @@ def test_custom_mys3client_instantiation(custom_s3_path): client = CustomClient() assert isinstance(client, CustomClient) assert client.CloudPath("mys3://bucket/dir/file.txt").cloud_prefix == "mys3://" + # streaming support is inherited from the parent client, nothing extra to register + assert CustomClient._streaming_raw_class is S3Client._streaming_raw_class def test_custom_mys3client_default_client(custom_s3_path): diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 424b4d7f..c2cf58a1 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1181,7 +1181,7 @@ def test_finalize_error_propagates(rig): pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") path = rig.create_cloud_path("test_finalize_error.bin") - raw_io_class = path._cloud_meta.raw_io_class + raw_io_class = path.client._streaming_raw_class class _FailingRaw(raw_io_class): def _finalize_upload(self) -> None: @@ -1322,8 +1322,6 @@ def test_s3_no_small_non_final_parts(rig): if rig.path_class.cloud_prefix != "s3://": pytest.skip("S3-specific test") - from cloudpathlib.s3.s3_io import _S3StorageRaw - path = rig.create_cloud_path("test_part_size.bin") data = b"X" * (12 * 1024 * 1024) # 12 MiB → two 5 MiB parts + one 2 MiB final @@ -1346,7 +1344,7 @@ def spy_upload_part(cloud_path, upload_id, part_number, part_data): path.client.file_cache_mode = original_mode assert path.read_bytes() == data - min_size = _S3StorageRaw._MIN_PART_SIZE + min_size = path.client._multipart_min_part_size for part_size in uploaded_parts[:-1]: # all except last assert ( part_size >= min_size @@ -1445,17 +1443,10 @@ def write_path(path, data): pass -# M6/M7 — custom Client without raw_io_class still instantiates in cached mode -def test_custom_client_without_raw_io_class_instantiates(local_s3_rig, monkeypatch): - """A cached custom provider need not implement the optional streaming hooks.""" - from cloudpathlib.cloudpath import CloudImplementation - - minimal = CloudImplementation() - minimal.name = "minimal" - minimal._client_class = local_s3_rig.client_class - minimal._path_class = local_s3_rig.path_class - minimal._raw_io_class = None - monkeypatch.setattr(local_s3_rig.path_class, "_cloud_meta", minimal) +def test_client_without_streaming_support(local_s3_rig, monkeypatch): + """A provider whose client has no raw stream class works cached and fails clearly when + streaming is requested.""" + monkeypatch.setattr(local_s3_rig.client_class, "_streaming_raw_class", None) path = local_s3_rig.create_cloud_path("no-raw-io.txt") path.write_text("cached") @@ -1704,24 +1695,28 @@ def record_request(request): assert calls["body"] == b"abc" -def test_provider_part_sizes_grow_for_large_streams(): - from cloudpathlib.azure.azure_io import _AzureBlobStorageRaw - from cloudpathlib.s3.s3_io import _S3StorageRaw +def test_provider_part_sizes_grow_for_large_streams(rig): + """Part sizes start at the client's minimum and double each tier, so S3/GCS and Azure + (different minimums and part-count limits) both stay under their limits.""" + from cloudpathlib.cloud_io import _CloudMultipartStorageRaw - assert ( - _S3StorageRaw._part_size_for_number(_S3StorageRaw._PARTS_PER_SIZE_TIER + 1) - == 2 * _S3StorageRaw._MIN_PART_SIZE - ) + if not issubclass(rig.raw_io_class, _CloudMultipartStorageRaw): + pytest.skip("provider does not use multipart streaming writes") - assert ( - _AzureBlobStorageRaw._block_size_for_number(_AzureBlobStorageRaw._BLOCKS_PER_SIZE_TIER + 1) - == 2 * _AzureBlobStorageRaw._BLOCK_SIZE - ) + path = rig.create_cloud_path("part-sizes.bin") + raw = rig.raw_io_class(path.client, path, "wb") + tier = raw._PARTS_PER_SIZE_TIER + minimum = path.client._multipart_min_part_size + assert raw._part_size_for_number(1) == minimum + assert raw._part_size_for_number(tier) == minimum + assert raw._part_size_for_number(tier + 1) == 2 * minimum + assert raw._part_size_for_number(10**9) == path.client._multipart_max_part_size + raw.close() def test_s3_invalid_object_state_is_not_eof(s3_rig): path = s3_rig.create_cloud_path("archived.bin") - raw = path._cloud_meta.raw_io_class(path.client, path, "rb") + raw = path.client._streaming_raw_class(path.client, path, "rb") assert not raw._is_eof_error(Exception("InvalidObjectState")) @@ -2232,7 +2227,7 @@ def test_raw_stream_edge_semantics(local_s3_rig): """Raw adapter edge cases follow file-object semantics.""" path = local_s3_rig.create_cloud_path("raw-edges.bin") path.write_bytes(b"0123456789") - raw = path._cloud_meta.raw_io_class(path.client, path, "rb") + raw = path.client._streaming_raw_class(path.client, path, "rb") # empty destination buffer reads zero bytes assert raw.readinto(bytearray(0)) == 0 @@ -2249,7 +2244,7 @@ def test_raw_stream_edge_semantics(local_s3_rig): raw.close() # write-only streams cannot readall; closed streams cannot readall - writer = path._cloud_meta.raw_io_class(path.client, path, "wb") + writer = path.client._streaming_raw_class(path.client, path, "wb") with pytest.raises(io.UnsupportedOperation): writer.readall() writer.write(b"replaced") @@ -2264,13 +2259,11 @@ def test_multipart_part_limit_enforced(local_s3_rig): """Exceeding the provider's maximum part count raises a clear OSError.""" path = local_s3_rig.create_cloud_path("part-limit.bin") - class TinyParts(path._cloud_meta.raw_io_class): - _INITIAL_PART_SIZE = 4 - _MAX_PART_SIZE = 4 - _MAX_PARTS = 2 - _PARTS_PER_SIZE_TIER = 1_000 + path.client._multipart_min_part_size = 4 + path.client._multipart_max_part_size = 4 + path.client._multipart_max_parts = 2 - raw = TinyParts(path.client, path, "wb") + raw = path.client._streaming_raw_class(path.client, path, "wb") raw.write(b"x" * 8) # exactly two full parts — at the limit with pytest.raises(OSError, match="part limit"): raw.write(b"x" * 4) @@ -2282,7 +2275,7 @@ def test_open_stream_direct_construction_guards(local_s3_rig): """`open_stream` validates modes that the open() path never forwards.""" path = local_s3_rig.create_cloud_path("direct-construction.bin") path.write_bytes(b"0123456789") - raw_cls = path._cloud_meta.raw_io_class + raw_cls = path.client._streaming_raw_class with pytest.raises(io.UnsupportedOperation, match="append and update"): open_stream(raw_cls, path.client, path, "ab") From 85d5709d45a9b6c59f975046fe6b93ad12782b9e Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:30:42 -0700 Subject: [PATCH 18/35] Remove dead streaming hooks and test-only shims - _CloudStorageRaw._is_eof_error was never overridden; providers already map 416 responses to an empty read. - S3 no longer string-matches arbitrary exceptions for InvalidRange, and the botocore service-model fallback for clients without .meta is gone: the S3 mock now exposes the real service model like a boto3 client does. - GCS catches the SDK's RequestRangeNotSatisfiable instead of sniffing status codes and reason phrases. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/cloud_io.py | 15 +------- cloudpathlib/gs/gsclient.py | 16 ++++----- cloudpathlib/s3/s3client.py | 19 +--------- tests/mock_clients/mock_s3.py | 6 ++++ tests/test_cloud_io.py | 67 +++++------------------------------ 5 files changed, 22 insertions(+), 101 deletions(-) diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 06fbe3bd..867ab6d8 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -108,12 +108,7 @@ def readinto(self, b: _WriteableBuffer, /) -> int: if start >= size: return 0 - try: - data = self._fetch_range(start, end) - except Exception as e: - if self._is_eof_error(e): - return 0 - raise + data = self._fetch_range(start, end) n = len(data) if n == 0: @@ -318,14 +313,6 @@ def _known_size(self) -> Optional[int]: self._size_fetch_failed = True return self._size - def _is_eof_error(self, error: Exception) -> bool: - """ - Check if an error indicates EOF/out of range. - - Override in subclasses for provider-specific error handling. - """ - return False - class _CloudMultipartStorageRaw(_CloudStorageRaw): """Buffered multipart upload lifecycle shared by S3, Azure, and GCS. diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 6ac66cb4..0cb87acd 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -19,13 +19,16 @@ from google.api_core.retry import Retry from google.api_core.exceptions import NotFound as GCSNotFound + from google.api_core.exceptions import RequestRangeNotSatisfiable as GCSRangeNotSatisfiable from google.auth import default as google_default_auth from google.auth.exceptions import DefaultCredentialsError from google.cloud.storage.client import Client as StorageClient except ModuleNotFoundError: implementation_registry["gs"].dependencies_loaded = False - GCSNotFound = Exception # type: ignore[misc, assignment] # fallback so name is always defined + # fallbacks so the names are always defined + GCSNotFound = Exception # type: ignore[misc, assignment] + GCSRangeNotSatisfiable = Exception # type: ignore[misc, assignment] try: @@ -378,15 +381,8 @@ def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: return blob.download_as_bytes(start=start, end=end, **self.blob_kwargs) except GCSNotFound: raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") - except Exception as e: - # match a range-past-EOF error structurally (status 416) rather than by - # substring, so unrelated errors are not silently treated as EOF - status = getattr(e, "code", None) - if status is None: - status = getattr(getattr(e, "response", None), "status_code", None) - if status == 416 or "Requested Range Not Satisfiable" in str(e): - return b"" - raise + except GCSRangeNotSatisfiable: + return b"" def _get_content_length(self, cloud_path: GSPath) -> int: """Get the size of a GCS object.""" diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index 95deff0c..0e5ed658 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -1,4 +1,3 @@ -from functools import lru_cache import mimetypes import os from pathlib import Path, PurePosixPath @@ -21,12 +20,6 @@ implementation_registry["s3"].dependencies_loaded = False -@lru_cache(maxsize=None) -def _botocore_s3_operation_model(operation_name: str): - """Operation model from the installed botocore's bundled S3 service data (no network).""" - return botocore.session.get_session().get_service_model("s3").operation_model(operation_name) - - @register_client_class("s3") class S3Client(Client): """Client class for AWS S3 which handles authentication with AWS for [`S3Path`](../s3path/) @@ -440,10 +433,6 @@ def _range_download(self, cloud_path: S3Path, start: int, end: int) -> bytes: if code in ("InvalidRange", "416"): return b"" raise - except Exception as e: - if "InvalidRange" in str(e): - return b"" - raise def _get_content_length(self, cloud_path: S3Path) -> int: """Get the size of an S3 object. @@ -465,13 +454,7 @@ def _get_content_length(self, cloud_path: S3Path) -> int: def _streaming_extra_args(self, operation_name: str) -> Dict[str, Any]: """Return upload extras accepted by a specific low-level S3 operation.""" - try: - operation = self.client.meta.service_model.operation_model(operation_name) - except AttributeError: - # client objects that do not expose botocore's meta (e.g. test doubles): - # consult the installed botocore service model directly so filtering - # behaves identically to a real boto3 client - operation = _botocore_s3_operation_model(operation_name) + operation = self.client.meta.service_model.operation_model(operation_name) allowed = set(operation.input_shape.members) return {key: value for key, value in self.boto3_ul_extra_args.items() if key in allowed} diff --git a/tests/mock_clients/mock_s3.py b/tests/mock_clients/mock_s3.py index c049fbee..f19c5ae7 100644 --- a/tests/mock_clients/mock_s3.py +++ b/tests/mock_clients/mock_s3.py @@ -4,7 +4,10 @@ import shutil from tempfile import TemporaryDirectory +from types import SimpleNamespace + from boto3.session import Session +import botocore.session from botocore.exceptions import ClientError from .utils import delete_empty_parents_up_to_root @@ -211,6 +214,9 @@ def delete(self): class MockBoto3Client: + # the real botocore S3 service model, so parameter filtering behaves as in production + meta = SimpleNamespace(service_model=botocore.session.get_session().get_service_model("s3")) + def __init__(self, root, session=None): self.root = root self.session = session diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index c2cf58a1..81ca0b27 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1714,12 +1714,6 @@ def test_provider_part_sizes_grow_for_large_streams(rig): raw.close() -def test_s3_invalid_object_state_is_not_eof(s3_rig): - path = s3_rig.create_cloud_path("archived.bin") - raw = path.client._streaming_raw_class(path.client, path, "rb") - assert not raw._is_eof_error(Exception("InvalidObjectState")) - - def test_raw_read_errors_follow_file_object_semantics(local_s3_rig): class Raw(_CloudStorageRaw): def _upload_chunk(self, data): @@ -1751,7 +1745,6 @@ def _finalize_upload(self): def test_raw_read_handles_unknown_size_and_provider_eof(local_s3_rig): class Raw(_CloudStorageRaw): - eof = False empty = False def _get_size(self): @@ -1762,9 +1755,6 @@ def _range_get(self, start, end): return b"" raise OSError("range unavailable") - def _is_eof_error(self, error): - return self.eof - def _upload_chunk(self, data): pass @@ -1774,13 +1764,9 @@ def _finalize_upload(self): path = local_s3_rig.create_cloud_path("raw-eof.bin") raw = Raw(path.client, path, "rb") + # read errors propagate; an empty range (the provider's past-EOF answer) reads as EOF with pytest.raises(OSError, match="range unavailable"): raw.readinto(bytearray(1)) - - raw.eof = True - assert raw.readinto(bytearray(1)) == 0 - - raw.eof = False raw.empty = True assert raw.readinto(bytearray(1)) == 0 @@ -1999,15 +1985,14 @@ def failing_get_content_length(self, cloud_path): def test_gs_range_download_transient_error_not_treated_as_eof(gs_rig, monkeypatch): """Errors that merely contain '416' in their message (request IDs, generation - numbers) must propagate; only true 416 range errors read as EOF.""" + numbers) must propagate; only the SDK's range-not-satisfiable error reads as EOF.""" + from google.api_core.exceptions import RequestRangeNotSatisfiable + path = gs_rig.create_cloud_path("test_416_matching.bin") class FakeServiceUnavailable(Exception): code = 503 - class FakeRangeError(Exception): - code = 416 - def make_stub(error): class StubBlob: def download_as_bytes(self, start=None, end=None, **kwargs): @@ -2028,15 +2013,11 @@ def blob(self, name): with pytest.raises(FakeServiceUnavailable): path.client._range_download(path, 0, 9) - # structured 416 still reads as EOF - monkeypatch.setattr( - path.client.client, "bucket", make_stub(FakeRangeError("range not satisfiable")) - ) - assert path.client._range_download(path, 0, 9) == b"" - - # exact reason phrase still reads as EOF (some layers do not expose a code) + # the SDK's structured 416 reads as EOF monkeypatch.setattr( - path.client.client, "bucket", make_stub(Exception("Requested Range Not Satisfiable")) + path.client.client, + "bucket", + make_stub(RequestRangeNotSatisfiable("range not satisfiable")), ) assert path.client._range_download(path, 0, 9) == b"" @@ -2353,38 +2334,6 @@ def test_s3_streaming_extra_args_uses_service_model(s3_rig): assert client._streaming_extra_args("CreateMultipartUpload") == {"StorageClass": "STANDARD_IA"} -def test_s3_streaming_extra_args_fallback_matches_botocore(s3_rig): - """The hard-coded fallback table must filter identically to botocore's real - service model, so it cannot silently drop newly added parameters.""" - from types import SimpleNamespace - - botocore_session = pytest.importorskip("botocore.session") - service_model = botocore_session.get_session().get_service_model("s3") - - for operation in ( - "CreateMultipartUpload", - "UploadPart", - "CompleteMultipartUpload", - "PutObject", - ): - members = set(service_model.operation_model(operation).input_shape.members) - extra_args = {name: "value" for name in sorted(members)} - - fallback_client = s3_rig.client_class(**s3_rig.required_client_kwargs) - fallback_client.boto3_ul_extra_args = extra_args - fallback_client.client = SimpleNamespace() # no .meta -> fallback table - - real_client = s3_rig.client_class(**s3_rig.required_client_kwargs) - real_client.boto3_ul_extra_args = extra_args - real_client.client = SimpleNamespace(meta=SimpleNamespace(service_model=service_model)) - - assert fallback_client._streaming_extra_args( - operation - ) == real_client._streaming_extra_args( - operation - ), f"fallback table diverges from botocore for {operation}" - - def test_s3_streaming_content_encoding_threaded(s3_rig): """Encodings from content_type_method are added to streaming upload args.""" import mimetypes From 4df0cdb305268a6e03a154b48c0ffdaaf226de3c Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:32:56 -0700 Subject: [PATCH 19/35] Raise cloudpathlib exceptions from streaming failures and keep causes Adds CloudPathStreamingError (a CloudPathException and OSError) for the part-count limit and HTTP range/upload failures, chains translated provider errors with 'from', and reports a failed upload abort as a RuntimeWarning instead of swallowing it. HTTP reads that start at byte 0 now accept a 200 response from servers that ignore Range, so full-object reads work there. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/azure/azblobclient.py | 8 ++++---- cloudpathlib/cloud_io.py | 30 +++++++++++++++++---------- cloudpathlib/exceptions.py | 4 ++++ cloudpathlib/gs/gsclient.py | 8 ++++---- cloudpathlib/http/httpclient.py | 33 +++++++++++++++++++++--------- cloudpathlib/s3/s3client.py | 4 ++-- tests/test_cloud_io.py | 29 ++++++++++++++++++-------- 7 files changed, 76 insertions(+), 40 deletions(-) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index adae1e1c..797871bd 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -515,8 +515,8 @@ def _range_download(self, cloud_path: AzureBlobPath, start: int, end: int) -> by length = end - start + 1 downloader = blob_client.download_blob(offset=start, length=length) return downloader.readall() - except ResourceNotFoundError: - raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") + except ResourceNotFoundError as e: + raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") from e except HttpResponseError as e: if (e.error and e.error.code == "InvalidRange") or e.status_code == 416: return b"" @@ -530,8 +530,8 @@ def _get_content_length(self, cloud_path: AzureBlobPath) -> int: try: properties = blob_client.get_blob_properties() return properties.size - except ResourceNotFoundError: - raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") + except ResourceNotFoundError as e: + raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") from e def _initiate_multipart_upload(self, cloud_path: AzureBlobPath) -> str: """Return a unique session ID that namespaces this upload's block IDs. diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 867ab6d8..8cbd1aad 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -15,6 +15,8 @@ _ReadableBuffer = Union[bytes, bytearray, memoryview] _WriteableBuffer = Union[bytearray, memoryview] +from .exceptions import CloudPathStreamingError + if TYPE_CHECKING: from .client import Client from .cloudpath import CloudPath @@ -210,27 +212,33 @@ def close(self) -> None: try: if self.writable() and self._upload_error is not None: - try: - self._abort_upload() - except Exception: - pass - finally: - raise self._upload_error + self._abort_upload_after_failure() + raise self._upload_error if self.writable(): try: if self._pre_finalize is not None: self._pre_finalize() self._finalize_upload() except BaseException: - try: - self._abort_upload() - except Exception: - pass + self._abort_upload_after_failure() raise finally: self._shutdown_executor() super().close() + def _abort_upload_after_failure(self) -> None: + """Abort without masking the error that is about to propagate; a failed abort is + reported as a warning since it can leave an unfinished upload on the provider.""" + try: + self._abort_upload() + except Exception as abort_error: + warnings.warn( + f"Could not abort the failed streaming upload of {self._cloud_path}; " + f"an unfinished multipart upload may remain on the provider: {abort_error!r}", + RuntimeWarning, + stacklevel=3, + ) + def _abort_upload(self) -> None: """Best-effort cleanup after a write or finalization failure.""" pass @@ -350,7 +358,7 @@ def _target_part_size(self) -> int: def _check_part_limit(self) -> None: if self._part_number > self._max_parts: - raise OSError( + raise CloudPathStreamingError( f"{type(self._client).__name__} multipart upload exceeded the " f"{self._max_parts:,}-part limit" ) diff --git a/cloudpathlib/exceptions.py b/cloudpathlib/exceptions.py index caedc6ad..d53337dd 100644 --- a/cloudpathlib/exceptions.py +++ b/cloudpathlib/exceptions.py @@ -40,6 +40,10 @@ class CloudPathNotImplementedError(CloudPathException, NotImplementedError): pass +class CloudPathStreamingError(CloudPathException, OSError): + """A streaming read or write (`FileCacheMode.streaming`) could not be completed.""" + + class DirectoryNotEmptyError(CloudPathException): pass diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 0cb87acd..8badbcc3 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -379,8 +379,8 @@ def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) try: return blob.download_as_bytes(start=start, end=end, **self.blob_kwargs) - except GCSNotFound: - raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") + except GCSNotFound as e: + raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") from e except GCSRangeNotSatisfiable: return b"" @@ -390,8 +390,8 @@ def _get_content_length(self, cloud_path: GSPath) -> int: try: blob.reload(**self.blob_kwargs) return blob.size - except GCSNotFound: - raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") + except GCSNotFound as e: + raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") from e def _mpu_url(self, cloud_path: GSPath) -> str: """XML API URL for a multipart upload of this object.""" diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index e013dc86..ee781f1c 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -16,7 +16,11 @@ from cloudpathlib.cloud_io import _CloudStorageRaw from cloudpathlib.cloudpath import CloudPath, _STREAM_COPY_CHUNK_SIZE from cloudpathlib.enums import FileCacheMode -from cloudpathlib.exceptions import CloudPathFileNotFoundError, CloudPathNotImplementedError +from cloudpathlib.exceptions import ( + CloudPathFileNotFoundError, + CloudPathNotImplementedError, + CloudPathStreamingError, +) from .httppath import HttpPath @@ -266,16 +270,22 @@ def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes status = response.status if status == 206: return response.read(end - start + 1) + elif status == 200 and start == 0: + # servers without Range support can still serve reads from the start + # (e.g. a full-object read); the surplus body is simply not consumed + return response.read(end + 1) elif status == 200: - raise OSError( + raise CloudPathStreamingError( f"HTTP server ignored the Range header for {cloud_path}; " "streaming reads require byte-range support" ) else: - raise OSError(f"Unexpected status {status} for range request on {cloud_path}") + raise CloudPathStreamingError( + f"Unexpected status {status} for range request on {cloud_path}" + ) except urllib.error.HTTPError as e: if e.code == 404: - raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") from e elif e.code == 416: return b"" raise @@ -288,10 +298,12 @@ def _get_content_length(self, cloud_path: "HttpPath") -> int: content_length = response.headers.get("Content-Length") if content_length: return int(content_length) - raise ValueError(f"HTTP resource does not provide Content-Length: {cloud_path}") + raise CloudPathStreamingError( + f"HTTP resource does not provide Content-Length: {cloud_path}" + ) except urllib.error.HTTPError as e: if e.code == 404: - raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") from e raise def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) -> None: @@ -307,15 +319,16 @@ def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) try: with self.opener.open(request) as response: if response.status not in (200, 201, 204): - raise OSError( - f"HTTP PUT failed with status {response.status}: {response.reason}" + raise CloudPathStreamingError( + f"HTTP {self.write_file_http_method} failed with status " + f"{response.status}: {response.reason}" ) except urllib.error.HTTPError as e: if e.code == 405: raise CloudPathNotImplementedError( f"HTTP server does not support {self.write_file_http_method} requests for {url}" - ) - raise OSError(f"HTTP upload failed: {e}") + ) from e + raise CloudPathStreamingError(f"HTTP upload failed: {e}") from e HttpClient.HttpPath = HttpClient.CloudPath # type: ignore diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index 0e5ed658..ef23c657 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -429,7 +429,7 @@ def _range_download(self, cloud_path: S3Path, start: int, end: int) -> bytes: except ClientError as e: code = e.response["Error"]["Code"] if code in ("404", "NoSuchKey"): - raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") from e if code in ("InvalidRange", "416"): return b"" raise @@ -449,7 +449,7 @@ def _get_content_length(self, cloud_path: S3Path) -> int: except ClientError as e: code = e.response["Error"]["Code"] if code in ("404", "NoSuchKey"): - raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") + raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") from e raise def _streaming_extra_args(self, operation_name: str) -> Dict[str, Any]: diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 81ca0b27..8fbe958c 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -15,6 +15,7 @@ from cloudpathlib.exceptions import ( CloudPathFileNotFoundError, CloudPathNotImplementedError, + CloudPathStreamingError, OverwriteNewerCloudError, ) @@ -1662,9 +1663,17 @@ def ignore_range(request): path = http_rig.create_cloud_path("ignored-range.bin") monkeypatch.setattr(path.client.opener, "open", ignore_range) - with pytest.raises(OSError, match="ignored the Range header"): + with pytest.raises(CloudPathStreamingError, match="ignored the Range header"): path.client._range_download(path, 2, 5) + # a read from the start can be served from a full response + def ignore_range_from_start(request): + assert request.headers["Range"] == "bytes=0-3" + return FullResponse(b"0123456789") + + monkeypatch.setattr(path.client.opener, "open", ignore_range_from_start) + assert path.client._range_download(path, 0, 3) == b"0123" + def test_http_streaming_upload_uses_client_configuration(http_rig, monkeypatch): class CreatedResponse: @@ -1825,8 +1834,10 @@ def _abort_upload(self): else: raw.write(b"data") - with pytest.raises(OSError, match="original failure"): - raw.close() + # the original error propagates; the failed cleanup is reported, not swallowed + with pytest.warns(RuntimeWarning, match="Could not abort"): + with pytest.raises(OSError, match="original failure"): + raw.close() # ============================================================================ @@ -2246,9 +2257,9 @@ def test_multipart_part_limit_enforced(local_s3_rig): raw = path.client._streaming_raw_class(path.client, path, "wb") raw.write(b"x" * 8) # exactly two full parts — at the limit - with pytest.raises(OSError, match="part limit"): + with pytest.raises(CloudPathStreamingError, match="part limit"): raw.write(b"x" * 4) - with pytest.raises(OSError, match="part limit"): + with pytest.raises(CloudPathStreamingError, match="part limit"): raw.close() # the write failure is sticky and aborts the upload @@ -2465,17 +2476,17 @@ def __exit__(self, *args): # a non-206/200 success status for a range request is unexpected monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(204)) - with pytest.raises(OSError, match="Unexpected status"): + with pytest.raises(CloudPathStreamingError, match="Unexpected status"): path.client._range_download(path, 0, 3) # HEAD without Content-Length cannot size the stream monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(200)) - with pytest.raises(ValueError, match="Content-Length"): + with pytest.raises(CloudPathStreamingError, match="Content-Length"): path.client._get_content_length(path) - # a failing PUT status raises OSError + # a failing PUT status raises monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(500)) - with pytest.raises(OSError, match="HTTP PUT failed"): + with pytest.raises(CloudPathStreamingError, match="HTTP PUT failed"): path.client._put_data(path, io.BytesIO(b"x"), 1) # non-404 HTTP errors propagate from reads and size checks From cfa1c59b8e8eebd1660f01d2aef19e00859e367e Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:38:55 -0700 Subject: [PATCH 20/35] Upload single-part streaming writes with one PUT A write that fits in one part (the common case, including empty files) no longer costs a multipart initiate/part/complete round trip: the generic _put_object(cloud_path, data) hook replaces _put_empty_object and takes a readable stream. HTTP uses the same hook from a generic spooling raw class, so its bespoke raw class is gone. Mocks: GCS gains upload_from_file; the Azure metadata cache is now thread-safe since concurrent small writes hit it at once. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/azure/azblobclient.py | 19 +++++++-- cloudpathlib/client.py | 7 ++-- cloudpathlib/cloud_io.py | 44 ++++++++++++++++++-- cloudpathlib/gs/gsclient.py | 21 +++++++--- cloudpathlib/http/httpclient.py | 47 ++++----------------- cloudpathlib/local/localclient.py | 8 ++-- cloudpathlib/s3/s3client.py | 11 +++-- tests/mock_clients/mock_azureblob.py | 21 ++++++---- tests/mock_clients/mock_gs.py | 6 +++ tests/test_client.py | 3 +- tests/test_cloud_io.py | 62 ++++++++++++++++++++++++---- 11 files changed, 171 insertions(+), 78 deletions(-) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index 797871bd..f2cff492 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -4,7 +4,18 @@ import os from http import HTTPStatus from pathlib import Path -from typing import Any, Callable, Dict, Iterable, Optional, Sequence, Tuple, Union, cast +from typing import ( + Any, + BinaryIO, + Callable, + Dict, + Iterable, + Optional, + Sequence, + Tuple, + Union, + cast, +) from uuid import uuid4 from ..client import Client, _UploadPart, register_client_class @@ -573,13 +584,13 @@ def _abort_multipart_upload(self, cloud_path: AzureBlobPath, upload_id: str) -> """Let Azure expire uncommitted blocks.""" pass - def _put_empty_object(self, cloud_path: AzureBlobPath) -> None: - """Upload a zero-byte Azure blob, threading content-type.""" + def _put_object(self, cloud_path: AzureBlobPath, data: BinaryIO) -> None: + """Upload a whole blob in one request, threading content-type.""" blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob ) blob_client.upload_blob( - b"", overwrite=True, content_settings=self._content_settings(cloud_path) + data, overwrite=True, content_settings=self._content_settings(cloud_path) ) diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index 14e72572..dcd5f202 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -6,6 +6,7 @@ from tempfile import TemporaryDirectory from typing import ( Any, + BinaryIO, Callable, ClassVar, Dict, @@ -260,8 +261,8 @@ def _abort_multipart_upload(self, cloud_path: BoundedCloudPath, upload_id: str) f"{type(self).__name__} does not support streaming I/O (_abort_multipart_upload)." ) - def _put_empty_object(self, cloud_path: BoundedCloudPath) -> None: - """Create an empty object.""" + def _put_object(self, cloud_path: BoundedCloudPath, data: BinaryIO) -> None: + """Upload a whole object in one request from a readable binary stream.""" raise NotImplementedError( - f"{type(self).__name__} does not support streaming I/O (_put_empty_object)." + f"{type(self).__name__} does not support streaming I/O (_put_object)." ) diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 8cbd1aad..183d3e14 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -3,6 +3,7 @@ from __future__ import annotations import io +import tempfile from abc import abstractmethod from concurrent.futures import FIRST_COMPLETED, Future, ThreadPoolExecutor, wait from typing import IO, TYPE_CHECKING, Any, Callable, Dict, Optional, Type, Union @@ -415,12 +416,15 @@ def _upload_chunk(self, data: bytes) -> None: target_size = self._target_part_size() def _finalize_upload(self) -> None: + if self._upload_id is None: + # everything fit in one part (or nothing was written): a single PUT instead of + # the three multipart requests, as the SDK transfer managers also do + self._client._put_object(self._cloud_path, io.BytesIO(bytes(self._write_buffer))) + self._reset_upload() + return if self._write_buffer: self._upload_buffered_part(len(self._write_buffer)) self._harvest_part_futures(drain=True) - if self._upload_id is None: - self._client._put_empty_object(self._cloud_path) - return ordered_parts = [self._parts[number] for number in sorted(self._parts)] self._client._complete_multipart_upload(self._cloud_path, self._upload_id, ordered_parts) self._reset_upload() @@ -443,6 +447,40 @@ def _reset_upload(self) -> None: self._write_buffer.clear() +class _CloudSpooledStorageRaw(_CloudStorageRaw): + """Range reads plus single-request writes for providers without multipart uploads + (HTTP). Written bytes are spooled to a temporary file above the default buffer size and + sent as one request on close.""" + + def __init__( + self, + client: Client, + cloud_path: CloudPath, + mode: str = "rb", + pre_finalize: Optional[Callable[[], None]] = None, + ) -> None: + super().__init__(client, cloud_path, mode, pre_finalize) + self._spool: Optional[tempfile.SpooledTemporaryFile] = None + + def _upload_chunk(self, data: bytes) -> None: + if self._spool is None: + self._spool = tempfile.SpooledTemporaryFile(max_size=DEFAULT_BUFFER_SIZE) + self._spool.write(data) + + def _finalize_upload(self) -> None: + spool = self._spool if self._spool is not None else io.BytesIO() + try: + spool.seek(0) + self._client._put_object(self._cloud_path, spool) # type: ignore[arg-type] + finally: + self._abort_upload() + + def _abort_upload(self) -> None: + if self._spool is not None: + self._spool.close() + self._spool = None + + def open_stream( raw_io_class: Type[_CloudStorageRaw], client: Client, diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 8badbcc3..13d076f9 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -3,7 +3,18 @@ import mimetypes import os from pathlib import Path, PurePosixPath -from typing import Any, Callable, Dict, Iterable, Optional, TYPE_CHECKING, Tuple, Union, Sequence +from typing import ( + Any, + BinaryIO, + Callable, + Dict, + Iterable, + Optional, + TYPE_CHECKING, + Tuple, + Union, + Sequence, +) import warnings from ..client import Client, _UploadPart, register_client_class @@ -444,11 +455,11 @@ def _abort_multipart_upload(self, cloud_path: GSPath, upload_id: str) -> None: ) container.cancel(self.client._http) - def _put_empty_object(self, cloud_path: GSPath) -> None: - """Upload a zero-byte GCS object.""" + def _put_object(self, cloud_path: GSPath, data: BinaryIO) -> None: + """Upload a whole object in one request, threading content-type.""" blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) - blob.upload_from_string( - b"", content_type=self._content_type(cloud_path), **self.blob_kwargs + blob.upload_from_file( + data, content_type=self._content_type(cloud_path), **self.blob_kwargs ) diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index ee781f1c..7fcc8d7d 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -1,20 +1,20 @@ from datetime import datetime, timezone import http +import io import os import re import urllib.request import urllib.parse import urllib.error from pathlib import Path -import tempfile from typing import BinaryIO, Iterable, Optional, Tuple, Union, Callable import shutil import mimetypes import warnings from cloudpathlib.client import Client, register_client_class -from cloudpathlib.cloud_io import _CloudStorageRaw -from cloudpathlib.cloudpath import CloudPath, _STREAM_COPY_CHUNK_SIZE +from cloudpathlib.cloud_io import _CloudSpooledStorageRaw +from cloudpathlib.cloudpath import _STREAM_COPY_CHUNK_SIZE from cloudpathlib.enums import FileCacheMode from cloudpathlib.exceptions import ( CloudPathFileNotFoundError, @@ -25,41 +25,9 @@ from .httppath import HttpPath -class _HttpStorageRaw(_CloudStorageRaw): - """HTTP range reads and single-request writes.""" - - def __init__( - self, - client: Client, - cloud_path: CloudPath, - mode: str = "rb", - pre_finalize: Optional[Callable[[], None]] = None, - ) -> None: - super().__init__(client, cloud_path, mode, pre_finalize) - self._upload_buffer = tempfile.SpooledTemporaryFile(max_size=8 * 1024 * 1024) - - def _upload_chunk(self, data: bytes) -> None: - if data: - self._upload_buffer.write(data) - - def _finalize_upload(self) -> None: - self._upload_buffer.seek(0, 2) - content_length = self._upload_buffer.tell() - self._upload_buffer.seek(0) - try: - self._client._put_data( # type: ignore[attr-defined] - self._cloud_path, self._upload_buffer, content_length - ) - finally: - self._upload_buffer.close() - - def _abort_upload(self) -> None: - self._upload_buffer.close() - - @register_client_class("http") class HttpClient(Client): - _streaming_raw_class = _HttpStorageRaw + _streaming_raw_class = _CloudSpooledStorageRaw def __init__( self, @@ -306,9 +274,12 @@ def _get_content_length(self, cloud_path: "HttpPath") -> int: raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") from e raise - def _put_data(self, cloud_path: "HttpPath", data: BinaryIO, content_length: int) -> None: - """Upload a file-like HTTP body.""" + def _put_object(self, cloud_path: "HttpPath", data: BinaryIO) -> None: + """Upload a whole resource in one request from a seekable binary stream.""" url = str(cloud_path) + start = data.tell() + content_length = data.seek(0, io.SEEK_END) - start + data.seek(start) request = urllib.request.Request(url, data=data, method=self.write_file_http_method) content_type = None if self.content_type_method is not None: diff --git a/cloudpathlib/local/localclient.py b/cloudpathlib/local/localclient.py index e09e0f91..60c82800 100644 --- a/cloudpathlib/local/localclient.py +++ b/cloudpathlib/local/localclient.py @@ -9,6 +9,7 @@ from time import sleep from typing import ( Any, + BinaryIO, Callable, ClassVar, Dict, @@ -298,11 +299,12 @@ def _complete_multipart_upload( def _abort_multipart_upload(self, cloud_path: LocalPath, upload_id: str) -> None: self._local_upload_buffers.pop(upload_id, None) - def _put_empty_object(self, cloud_path: LocalPath) -> None: - """Create a zero-byte local file.""" + def _put_object(self, cloud_path: LocalPath, data: BinaryIO) -> None: + """Write a whole local file from a readable stream.""" local_path = self._cloud_path_to_local(cloud_path) local_path.parent.mkdir(parents=True, exist_ok=True) - local_path.write_bytes(b"") + with local_path.open("wb") as f: + shutil.copyfileobj(data, f) _temp_dirs_to_clean: List[TemporaryDirectory] = [] diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index ef23c657..e147f283 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -1,7 +1,7 @@ import mimetypes import os from pathlib import Path, PurePosixPath -from typing import Any, Callable, Dict, Iterable, Optional, Sequence, Tuple, Union +from typing import Any, BinaryIO, Callable, Dict, Iterable, Optional, Sequence, Tuple, Union from ..client import Client, _UploadPart, register_client_class from ..cloud_io import _CloudMultipartStorageRaw @@ -512,14 +512,13 @@ def _abort_multipart_upload(self, cloud_path: S3Path, upload_id: str) -> None: Bucket=cloud_path.bucket, Key=cloud_path.key, UploadId=upload_id ) - def _put_empty_object(self, cloud_path: S3Path) -> None: - """Upload a zero-byte object, threading content-type and upload extra args.""" - extra_args = self._streaming_object_args("PutObject", cloud_path) + def _put_object(self, cloud_path: S3Path, data: BinaryIO) -> None: + """Upload a whole object in one request, threading content-type and upload extra args.""" self.client.put_object( Bucket=cloud_path.bucket, Key=cloud_path.key, - Body=b"", - **extra_args, + Body=data, + **self._streaming_object_args("PutObject", cloud_path), ) diff --git a/tests/mock_clients/mock_azureblob.py b/tests/mock_clients/mock_azureblob.py index f110c168..9f252302 100644 --- a/tests/mock_clients/mock_azureblob.py +++ b/tests/mock_clients/mock_azureblob.py @@ -3,6 +3,7 @@ import json from pathlib import Path, PurePosixPath import shutil +import threading from azure.storage.blob import BlobProperties @@ -23,6 +24,10 @@ class _JsonCache: different clients can access the same metadata store. """ + # one process-wide lock: a cache is shared by every mock client in a test, and + # concurrent streaming writers would otherwise read a half-written JSON file + _lock = threading.Lock() + def __init__(self, path: Path): self.path = path @@ -31,16 +36,18 @@ def __init__(self, path: Path): json.dump({}, f) def __getitem__(self, key): - with self.path.open("r") as f: - return json.load(f)[str(key)] + with self._lock: + with self.path.open("r") as f: + return json.load(f)[str(key)] def __setitem__(self, key, value): - with self.path.open("r") as f: - data = json.load(f) + with self._lock: + with self.path.open("r") as f: + data = json.load(f) - with self.path.open("w") as f: - data[str(key)] = value - json.dump(data, f) + with self.path.open("w") as f: + data[str(key)] = value + json.dump(data, f) def get(self, key, default=None): try: diff --git a/tests/mock_clients/mock_gs.py b/tests/mock_clients/mock_gs.py index a2d67dc9..9d8a8e32 100644 --- a/tests/mock_clients/mock_gs.py +++ b/tests/mock_clients/mock_gs.py @@ -143,6 +143,12 @@ def upload_from_filename(self, filename, content_type=None, timeout=None, retry= self.client.metadata_cache[self.bucket / self.name] = content_type + def upload_from_file(self, file_obj, content_type=None, timeout=None, retry=None): + """Upload from a readable binary stream.""" + self.upload_from_string( + file_obj.read(), content_type=content_type, timeout=timeout, retry=retry + ) + def upload_from_string(self, data, content_type=None, timeout=None, retry=None): """Upload from bytes/string data.""" # if timeout is not None, assume that the test wants a timeout and throw it diff --git a/tests/test_client.py b/tests/test_client.py index e38576e7..f0322353 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -1,4 +1,5 @@ from concurrent.futures import ThreadPoolExecutor +import io import mimetypes import random import string @@ -202,7 +203,7 @@ def test_custom_mys3client_default_client(custom_s3_path): lambda client, path: Client._upload_part(client, path, "upload", 1, b"data"), lambda client, path: Client._complete_multipart_upload(client, path, "upload", []), lambda client, path: Client._abort_multipart_upload(client, path, "upload"), - lambda client, path: Client._put_empty_object(client, path), + lambda client, path: Client._put_object(client, path, io.BytesIO()), ], ) def test_default_streaming_hooks_raise_not_implemented(local_s3_rig, call): diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 8fbe958c..672c362e 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1063,6 +1063,50 @@ def record_abort(cloud_path, upload_id): pass +def test_small_streaming_write_is_a_single_put(streaming_rig, monkeypatch): + """Writes that fit in one part (the common case) are one PUT, not a three-request + multipart upload; larger writes still go multipart.""" + from cloudpathlib.cloud_io import _CloudMultipartStorageRaw + + rig = streaming_rig + if not issubclass(rig.raw_io_class, _CloudMultipartStorageRaw): + pytest.skip("provider does not use multipart streaming writes") + path = rig.create_cloud_path("single-put.bin") + client = path.client + + calls = [] + for name in ("_put_object", "_initiate_multipart_upload"): + original = getattr(client, name) + + def spy(*args, _name=name, _original=original, **kwargs): + calls.append(_name) + return _original(*args, **kwargs) + + monkeypatch.setattr(client, name, spy) + + try: + data = b"x" * (client._multipart_min_part_size - 1) + with path.open("wb") as f: + f.write(data) + assert calls == ["_put_object"] + assert path.read_bytes() == data + + calls.clear() + with path.open("wb"): + pass + assert calls == ["_put_object"] + assert path.read_bytes() == b"" + + calls.clear() + data = b"y" * (client._multipart_min_part_size + 1) + with path.open("wb") as f: + f.write(data) + assert calls == ["_initiate_multipart_upload"] + assert path.read_bytes() == data + finally: + path.unlink(missing_ok=True) + + def test_http_write_empty_file(rig): """Test HTTP write for empty file.""" if rig.path_class.cloud_prefix not in ("http://", "https://"): @@ -1408,19 +1452,21 @@ def test_concurrent_writes_dont_cross_buffers(rig): if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") - path_a = rig.create_cloud_path("test_concurrent_a.bin") - path_b = rig.create_cloud_path("test_concurrent_b.bin") + # a dedicated client: toggling the shared default client's mode from two threads + # would race, which is not what this test is about + client = rig.client_class( + file_cache_mode=FileCacheMode.streaming, **rig.required_client_kwargs + ) + path_a = rig.create_cloud_path("test_concurrent_a.bin", client=client) + path_b = rig.create_cloud_path("test_concurrent_b.bin", client=client) data_a = b"AAAA" * 1024 data_b = b"BBBB" * 1024 errors = [] def write_path(path, data): try: - original_mode = path.client.file_cache_mode - path.client.file_cache_mode = FileCacheMode.streaming with path.open("wb") as f: f.write(data) - path.client.file_cache_mode = original_mode except Exception as e: errors.append(e) @@ -1695,7 +1741,7 @@ def record_request(request): path = http_rig.create_cloud_path("configured.txt") path.client.write_file_http_method = "PATCH" monkeypatch.setattr(path.client.opener, "open", record_request) - path.client._put_data(path, io.BytesIO(b"abc"), 3) + path.client._put_object(path, io.BytesIO(b"abc")) request = calls["request"] assert request.method == "PATCH" @@ -2487,7 +2533,7 @@ def __exit__(self, *args): # a failing PUT status raises monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(500)) with pytest.raises(CloudPathStreamingError, match="HTTP PUT failed"): - path.client._put_data(path, io.BytesIO(b"x"), 1) + path.client._put_object(path, io.BytesIO(b"x")) # non-404 HTTP errors propagate from reads and size checks def raise_403(req): @@ -2505,7 +2551,7 @@ def raise_405(req): monkeypatch.setattr(path.client.opener, "open", raise_405) with pytest.raises(CloudPathNotImplementedError): - path.client._put_data(path, io.BytesIO(b"x"), 1) + path.client._put_object(path, io.BytesIO(b"x")) monkeypatch.undo() try: From 455788911cd97639bb61d60f729d5ce2362b426a Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:43:32 -0700 Subject: [PATCH 21/35] Read to EOF with one open-ended range and size objects via stat _range_download accepts end=None (bytes=start-) so readall() is a single request even when the size lookup fails, instead of RawIOBase's 8 KiB loop. The per-provider _get_content_length copies are replaced by a default built on stat(); HTTP keeps its HEAD and reports a missing Content-Length as an unknown size (None) rather than an error. A failed size lookup no longer blocks reading but is chained onto the SEEK_END error. Mocks: S3 accepts open-ended ranges; the ADLS gen2 mock populated FileProperties with a 'size' kwarg the SDK ignores, so its stat().st_size was always None. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/azure/azblobclient.py | 17 ++++------------- cloudpathlib/client.py | 24 ++++++++++++++++-------- cloudpathlib/cloud_io.py | 28 ++++++++++++++++++---------- cloudpathlib/gs/gsclient.py | 11 +---------- cloudpathlib/http/httpclient.py | 21 ++++++++++----------- cloudpathlib/local/localclient.py | 14 ++++---------- cloudpathlib/s3/s3client.py | 22 ++-------------------- tests/mock_clients/mock_adls_gen2.py | 4 ++-- tests/mock_clients/mock_s3.py | 5 +++-- tests/test_client.py | 1 - tests/test_cloud_io.py | 24 ++++++++++++++++++------ 11 files changed, 78 insertions(+), 93 deletions(-) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index f2cff492..141c69ed 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -517,13 +517,15 @@ def _generate_presigned_url( url = f"{self._get_public_url(cloud_path)}?{sas_token}" return url - def _range_download(self, cloud_path: AzureBlobPath, start: int, end: int) -> bytes: + def _range_download( + self, cloud_path: AzureBlobPath, start: int, end: Optional[int] = None + ) -> bytes: """Download a byte range from Azure Blob Storage.""" blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob ) try: - length = end - start + 1 + length = None if end is None else end - start + 1 downloader = blob_client.download_blob(offset=start, length=length) return downloader.readall() except ResourceNotFoundError as e: @@ -533,17 +535,6 @@ def _range_download(self, cloud_path: AzureBlobPath, start: int, end: int) -> by return b"" raise - def _get_content_length(self, cloud_path: AzureBlobPath) -> int: - """Get the size of an Azure blob.""" - blob_client = self.service_client.get_blob_client( - container=cloud_path.container, blob=cloud_path.blob - ) - try: - properties = blob_client.get_blob_properties() - return properties.size - except ResourceNotFoundError as e: - raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") from e - def _initiate_multipart_upload(self, cloud_path: AzureBlobPath) -> str: """Return a unique session ID that namespaces this upload's block IDs. diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index dcd5f202..11910cf3 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -23,7 +23,11 @@ from .cloud_io import _CloudStorageRaw from .cloudpath import CloudImplementation, CloudPath, implementation_registry from .enums import FileCacheMode -from .exceptions import InvalidConfigurationException +from .exceptions import ( + CloudPathFileNotFoundError, + InvalidConfigurationException, + NoStatError, +) BoundedCloudPath = TypeVar("BoundedCloudPath", bound=CloudPath) _UploadPart = Dict[str, Any] @@ -220,18 +224,22 @@ def _generate_presigned_url( ) -> str: pass - def _range_download(self, cloud_path: BoundedCloudPath, start: int, end: int) -> bytes: - """Download an inclusive byte range.""" + def _range_download( + self, cloud_path: BoundedCloudPath, start: int, end: Optional[int] = None + ) -> bytes: + """Download the inclusive byte range `start`-`end`, or from `start` to the end of the + object when `end` is None.""" raise NotImplementedError( f"{type(self).__name__} does not support streaming I/O (_range_download). " "Implement this method or use a non-streaming file_cache_mode." ) - def _get_content_length(self, cloud_path: BoundedCloudPath) -> int: - """Return object size without downloading it.""" - raise NotImplementedError( - f"{type(self).__name__} does not support streaming I/O (_get_content_length)." - ) + def _get_content_length(self, cloud_path: BoundedCloudPath) -> Optional[int]: + """Object size without downloading it, or None when the provider cannot say.""" + try: + return cloud_path.stat().st_size + except NoStatError as e: + raise CloudPathFileNotFoundError(f"Object not found: {cloud_path}") from e def _initiate_multipart_upload(self, cloud_path: BoundedCloudPath) -> str: """Start a multipart upload.""" diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 183d3e14..c962a542 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -60,6 +60,7 @@ def __init__( self._pos = 0 self._size: Optional[int] = None self._size_fetch_failed = False + self._size_error: Optional[Exception] = None self._closed = False self._upload_error: Optional[BaseException] = None # Optional conflict check run just before a write is finalized (set by CloudPath.open) @@ -132,13 +133,11 @@ def readall(self) -> bytes: self._discard_prefetch() size = self._known_size() - if size is None: - # Size unknown: fall back to the default chunked read loop. - return super().readall() - if self._pos >= size: + if size is not None and self._pos >= size: return b"" - data = self._range_get(self._pos, size - 1) + # one open-ended request whether or not the size is known + data = self._range_get(self._pos, None if size is None else size - 1) self._pos += len(data) return data @@ -165,7 +164,9 @@ def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: elif whence == io.SEEK_END: size = self._known_size() if size is None: - raise OSError("Unable to determine file size for SEEK_END") + raise CloudPathStreamingError( + f"Unable to determine the size of {self._cloud_path} for SEEK_END" + ) from self._size_error new_pos = size + offset else: raise ValueError( @@ -307,18 +308,25 @@ def _schedule_prefetch(self, next_start: int, chunk_len: int) -> None: ) start += chunk_len - def _range_get(self, start: int, end: int) -> bytes: + def _range_get(self, start: int, end: Optional[int]) -> bytes: return self._client._range_download(self._cloud_path, start, end) - def _get_size(self) -> int: + def _get_size(self) -> Optional[int]: return self._client._get_content_length(self._cloud_path) def _known_size(self) -> Optional[int]: - """Fetch and memoize the object size, attempting the lookup at most once.""" + """Fetch and memoize the object size, attempting the lookup at most once. + + The size is only needed for SEEK_END, read-ahead, and short-circuiting reads past + EOF, so a failed lookup (e.g. a policy that allows GET but not HEAD) does not stop + the stream from being read; the error is kept for SEEK_END to report. + """ if self._size is None and not self._size_fetch_failed: try: self._size = self._get_size() - except Exception: + except Exception as e: + self._size_error = e + if self._size is None: self._size_fetch_failed = True return self._size diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 13d076f9..63e21e8a 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -385,7 +385,7 @@ def _generate_presigned_url(self, cloud_path: GSPath, expire_seconds: int = 60 * ) return url - def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: + def _range_download(self, cloud_path: GSPath, start: int, end: Optional[int] = None) -> bytes: """Download a byte range from GCS.""" blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) try: @@ -395,15 +395,6 @@ def _range_download(self, cloud_path: GSPath, start: int, end: int) -> bytes: except GCSRangeNotSatisfiable: return b"" - def _get_content_length(self, cloud_path: GSPath) -> int: - """Get the size of a GCS object.""" - blob = self.client.bucket(cloud_path.bucket).blob(cloud_path.blob) - try: - blob.reload(**self.blob_kwargs) - return blob.size - except GCSNotFound as e: - raise CloudPathFileNotFoundError(f"GCS object not found: {cloud_path}") from e - def _mpu_url(self, cloud_path: GSPath) -> str: """XML API URL for a multipart upload of this object.""" from urllib.parse import quote diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 7fcc8d7d..216a6678 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -229,19 +229,22 @@ def request( # the connection is closed when we exit the context manager. return response, response.read() - def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes: + def _range_download( + self, cloud_path: "HttpPath", start: int, end: Optional[int] = None + ) -> bytes: """Download an HTTP byte range.""" - headers = {"Range": f"bytes={start}-{end}"} + headers = {"Range": f"bytes={start}-{'' if end is None else end}"} request = urllib.request.Request(str(cloud_path), headers=headers) + length = -1 if end is None else end - start + 1 try: with self.opener.open(request) as response: status = response.status if status == 206: - return response.read(end - start + 1) + return response.read(length) elif status == 200 and start == 0: # servers without Range support can still serve reads from the start # (e.g. a full-object read); the surplus body is simply not consumed - return response.read(end + 1) + return response.read(length) elif status == 200: raise CloudPathStreamingError( f"HTTP server ignored the Range header for {cloud_path}; " @@ -258,17 +261,13 @@ def _range_download(self, cloud_path: "HttpPath", start: int, end: int) -> bytes return b"" raise - def _get_content_length(self, cloud_path: "HttpPath") -> int: - """Get the size of an HTTP resource.""" + def _get_content_length(self, cloud_path: "HttpPath") -> Optional[int]: + """Size of an HTTP resource from a HEAD request, or None without Content-Length.""" request = urllib.request.Request(str(cloud_path), method="HEAD") try: with self.opener.open(request) as response: content_length = response.headers.get("Content-Length") - if content_length: - return int(content_length) - raise CloudPathStreamingError( - f"HTTP resource does not provide Content-Length: {cloud_path}" - ) + return int(content_length) if content_length else None except urllib.error.HTTPError as e: if e.code == 404: raise CloudPathFileNotFoundError(f"HTTP resource not found: {cloud_path}") from e diff --git a/cloudpathlib/local/localclient.py b/cloudpathlib/local/localclient.py index 60c82800..90ea1c9b 100644 --- a/cloudpathlib/local/localclient.py +++ b/cloudpathlib/local/localclient.py @@ -249,7 +249,9 @@ def _generate_presigned_url( query["signature"] = "local" return urlunsplit(parts._replace(query=urlencode(query))) - def _range_download(self, cloud_path: LocalPath, start: int, end: int) -> bytes: + def _range_download( + self, cloud_path: LocalPath, start: int, end: Optional[int] = None + ) -> bytes: """Download a byte range from local storage.""" local_path = self._cloud_path_to_local(cloud_path) if not local_path.exists(): @@ -257,15 +259,7 @@ def _range_download(self, cloud_path: LocalPath, start: int, end: int) -> bytes: with open(local_path, "rb") as f: f.seek(start) - length = end - start + 1 - return f.read(length) - - def _get_content_length(self, cloud_path: LocalPath) -> int: - """Get the size of a local file.""" - local_path = self._cloud_path_to_local(cloud_path) - if not local_path.exists(): - raise CloudPathFileNotFoundError(f"File not found: {cloud_path}") - return local_path.stat().st_size + return f.read(-1 if end is None else end - start + 1) def _initiate_multipart_upload(self, cloud_path: LocalPath) -> str: """Return a unique upload ID so concurrent uploads don't share a buffer.""" diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index e147f283..c688d5c6 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -413,13 +413,13 @@ def _generate_presigned_url(self, cloud_path: S3Path, expire_seconds: int = 60 * ) return url - def _range_download(self, cloud_path: S3Path, start: int, end: int) -> bytes: + def _range_download(self, cloud_path: S3Path, start: int, end: Optional[int] = None) -> bytes: """Download a byte range from S3.""" try: response = self.client.get_object( Bucket=cloud_path.bucket, Key=cloud_path.key, - Range=f"bytes={start}-{end}", + Range=f"bytes={start}-{'' if end is None else end}", **self.boto3_dl_extra_args, ) body = response["Body"] @@ -434,24 +434,6 @@ def _range_download(self, cloud_path: S3Path, start: int, end: int) -> bytes: return b"" raise - def _get_content_length(self, cloud_path: S3Path) -> int: - """Get the size of an S3 object. - - head_object raises ClientError with code 404, not NoSuchKey. - """ - try: - response = self.client.head_object( - Bucket=cloud_path.bucket, - Key=cloud_path.key, - **self.boto3_dl_extra_args, - ) - return response["ContentLength"] - except ClientError as e: - code = e.response["Error"]["Code"] - if code in ("404", "NoSuchKey"): - raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") from e - raise - def _streaming_extra_args(self, operation_name: str) -> Dict[str, Any]: """Return upload extras accepted by a specific low-level S3 operation.""" operation = self.client.meta.service_model.operation_model(operation_name) diff --git a/tests/mock_clients/mock_adls_gen2.py b/tests/mock_clients/mock_adls_gen2.py index aaee7cd1..78c65563 100644 --- a/tests/mock_clients/mock_adls_gen2.py +++ b/tests/mock_clients/mock_adls_gen2.py @@ -60,7 +60,7 @@ def get_file_properties(self): fp = FileProperties( **{ "name": self.key, - "size": 0, + "Content-Length": 0, # the SDK reads size from this header "ETag": "etag", "Last-Modified": datetime.fromtimestamp(path.stat().st_mtime), "metadata": {"hdi_isfolder": True}, @@ -73,7 +73,7 @@ def get_file_properties(self): fp = FileProperties( **{ "name": self.key, - "size": path.stat().st_size, + "Content-Length": path.stat().st_size, # the SDK reads size from this header "ETag": "etag", "Last-Modified": datetime.fromtimestamp(path.stat().st_mtime), "metadata": {"hdi_isfolder": False}, diff --git a/tests/mock_clients/mock_s3.py b/tests/mock_clients/mock_s3.py index f19c5ae7..a665de26 100644 --- a/tests/mock_clients/mock_s3.py +++ b/tests/mock_clients/mock_s3.py @@ -281,9 +281,10 @@ def get_object(self, Bucket, Key, Range=None, **kwargs): if Range: import re - match = re.match(r"bytes=(\d+)-(\d+)", Range) + match = re.match(r"bytes=(\d+)-(\d+)?$", Range) if match: - start, end = int(match.group(1)), int(match.group(2)) + start = int(match.group(1)) + end = len(data) - 1 if match.group(2) is None else int(match.group(2)) if start >= len(data): # real S3 rejects ranges starting past EOF (an end past EOF is clamped) raise ClientError( diff --git a/tests/test_client.py b/tests/test_client.py index f0322353..d2a5650b 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -198,7 +198,6 @@ def test_custom_mys3client_default_client(custom_s3_path): "call", [ lambda client, path: Client._range_download(client, path, 0, 0), - lambda client, path: Client._get_content_length(client, path), lambda client, path: Client._initiate_multipart_upload(client, path), lambda client, path: Client._upload_part(client, path, "upload", 1, b"data"), lambda client, path: Client._complete_multipart_upload(client, path, "upload", []), diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 672c362e..d218bd7e 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1988,7 +1988,7 @@ def test_streaming_full_read_uses_single_range_request(streaming_rig, monkeypatc calls = [] original_range_download = type(client)._range_download - def counting_range_download(self, cloud_path, start, end): + def counting_range_download(self, cloud_path, start, end=None): calls.append((start, end)) return original_range_download(self, cloud_path, start, end) @@ -2008,8 +2008,8 @@ def counting_range_download(self, cloud_path, start, end): def test_streaming_size_fetch_failure_is_memoized(streaming_rig, monkeypatch): - """A failing content-length lookup must be attempted at most once per stream, - not re-issued before every chunk read.""" + """A failing content-length lookup is attempted at most once per stream, a full read + is still a single (open-ended) request, and SEEK_END reports the lookup error.""" rig = streaming_rig content = b"z" * (200 * 1024) @@ -2027,11 +2027,24 @@ def failing_get_content_length(self, cloud_path): monkeypatch.setattr(type(client), "_get_content_length", failing_get_content_length) + ranges = [] + original_range_download = type(client)._range_download + + def recording_range_download(self, cloud_path, start, end=None): + ranges.append((start, end)) + return original_range_download(self, cloud_path, start, end) + + monkeypatch.setattr(type(client), "_range_download", recording_range_download) + try: with path.open("rb", buffering=16 * 1024) as f: data = f.read() + with pytest.raises(CloudPathStreamingError, match="size") as exc_info: + f.seek(0, io.SEEK_END) + assert isinstance(exc_info.value.__cause__, OSError) assert data == content assert calls["n"] == 1 + assert ranges == [(0, None)] finally: monkeypatch.undo() try: @@ -2525,10 +2538,9 @@ def __exit__(self, *args): with pytest.raises(CloudPathStreamingError, match="Unexpected status"): path.client._range_download(path, 0, 3) - # HEAD without Content-Length cannot size the stream + # HEAD without Content-Length means the size is unknown, not an error monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(200)) - with pytest.raises(CloudPathStreamingError, match="Content-Length"): - path.client._get_content_length(path) + assert path.client._get_content_length(path) is None # a failing PUT status raises monkeypatch.setattr(path.client.opener, "open", lambda req: FakeResponse(500)) From 5c5fbc94fe6a209404e09f5e02fa6eb047639068 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:49:24 -0700 Subject: [PATCH 22/35] Start read-ahead only on sequential reads and default concurrency to 4 Read-ahead used to begin on the very first read, so reading a header and seeking away fetched N extra buffers, and closing a reader blocked on those downloads. It now starts once a read continues the previous one, readers shut their pool down without waiting, and the pool is only created when work is actually submitted. That makes a default of 4 concurrent requests per stream safe, so sequential scans and multipart writes pipeline out of the box. The write path also drops two of its four per-byte copies and the BufferedWriter in front of the part buffer no longer holds a second 5 MiB copy of the same bytes. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/azure/azblobclient.py | 7 ++-- cloudpathlib/client.py | 4 +- cloudpathlib/cloud_io.py | 66 +++++++++++++++++++----------- cloudpathlib/gs/gsclient.py | 7 ++-- cloudpathlib/http/httpclient.py | 7 ++-- cloudpathlib/local/localclient.py | 2 +- cloudpathlib/s3/s3client.py | 7 ++-- tests/test_cloud_io.py | 10 ++++- 8 files changed, 71 insertions(+), 39 deletions(-) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index 141c69ed..4c4b9bc0 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -76,7 +76,7 @@ def __init__( local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, *, - streaming_max_concurrency: int = 1, + streaming_max_concurrency: int = 4, ): """Class constructor. Sets up a [`BlobServiceClient`]( https://docs.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.blobserviceclient?view=azure-python). @@ -125,8 +125,9 @@ def __init__( content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when writing a file to the cloud. Defaults to `mimetypes.guess_type`. Must return a tuple (content type, content encoding). streaming_max_concurrency (int): Maximum concurrent requests per open streaming - stream (background part uploads and read prefetch) when using - `FileCacheMode.streaming`; defaults to 1 (sequential). + file (background part uploads while writing, read-ahead of the next byte + ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to 4; 1 makes each stream fully sequential. """ super().__init__( local_cache_dir=local_cache_dir, diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index 11910cf3..4356ea62 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -63,7 +63,7 @@ def __init__( local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, *, - streaming_max_concurrency: int = 1, + streaming_max_concurrency: int = 4, ) -> None: self.file_cache_mode = None self._cache_tmp_dir = None @@ -71,7 +71,7 @@ def __init__( if streaming_max_concurrency < 1: raise ValueError("streaming_max_concurrency must be at least 1") - # concurrent requests per open streaming stream (part uploads / read prefetch); + # concurrent requests per open streaming file (part uploads / read-ahead); # 1 means fully sequential I/O self.streaming_max_concurrency = streaming_max_concurrency diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index c962a542..8d6ea618 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -69,6 +69,8 @@ def __init__( self._max_concurrency = max(1, int(getattr(client, "streaming_max_concurrency", 1))) self._executor: Optional[ThreadPoolExecutor] = None self._prefetch: Dict[int, Future] = {} + # end of the previous foreground read; read-ahead starts once a read continues it + self._last_read_end: Optional[int] = None @property def name(self) -> str: @@ -196,14 +198,16 @@ def write(self, b: _ReadableBuffer, /) -> int: if self._upload_error is not None: raise self._upload_error - data = bytes(b) + # hand the caller's buffer straight to the provider adapter; it appends to its own + # part buffer, so converting to bytes here would only add a copy + view = memoryview(b) try: - self._upload_chunk(data) + self._upload_chunk(view) except BaseException as error: self._upload_error = error raise - self._pos += len(data) - return len(data) + self._pos += view.nbytes + return view.nbytes def close(self) -> None: """Close the file.""" @@ -246,7 +250,7 @@ def _abort_upload(self) -> None: pass @abstractmethod - def _upload_chunk(self, data: bytes) -> None: + def _upload_chunk(self, data: _ReadableBuffer) -> None: pass @abstractmethod @@ -266,7 +270,9 @@ def _ensure_executor(self) -> Optional[ThreadPoolExecutor]: def _shutdown_executor(self) -> None: self._discard_prefetch() if self._executor is not None: - self._executor.shutdown(wait=True, cancel_futures=True) + # writers have already drained their parts; readers need not wait for + # in-flight read-ahead that nobody will consume + self._executor.shutdown(wait=self.writable(), cancel_futures=True) self._executor = None def _discard_prefetch(self) -> None: @@ -275,30 +281,37 @@ def _discard_prefetch(self) -> None: self._prefetch.clear() def _fetch_range(self, start: int, end: int) -> bytes: - """Fetch [start, end], serving from and topping up background prefetch when enabled.""" - executor = self._ensure_executor() - if executor is None: + """Fetch [start, end], serving from and topping up background read-ahead. + + Read-ahead is only scheduled once a read continues the previous one, so reading a + header and seeking away (or reading a small object once) never fetches more than + was asked for. + """ + if self._max_concurrency <= 1: return self._range_get(start, end) chunk_len = end - start + 1 + sequential = self._last_read_end is not None and start == self._last_read_end + 1 future = self._prefetch.pop(start, None) if future is not None: # a short prefetched chunk is a legal short read for RawIOBase consumers data = future.result() - self._schedule_prefetch(start + max(len(data), 1), chunk_len) - return data - - # position changed or first read: pending prefetches no longer line up - self._discard_prefetch() - data = self._range_get(start, end) - self._schedule_prefetch(end + 1, chunk_len) + else: + # position changed or first read: pending prefetches no longer line up + self._discard_prefetch() + data = self._range_get(start, end) + self._last_read_end = start + max(len(data), 1) - 1 + if sequential: + self._schedule_prefetch(self._last_read_end + 1, chunk_len) return data def _schedule_prefetch(self, next_start: int, chunk_len: int) -> None: """Queue reads ahead of the current position, up to the concurrency window.""" size = self._known_size() + if size is None or chunk_len <= 0 or next_start >= size: + return executor = self._ensure_executor() - if size is None or chunk_len <= 0 or executor is None: + if executor is None: return start = next_start while len(self._prefetch) < self._max_concurrency and start < size: @@ -376,7 +389,10 @@ def _upload_buffered_part(self, size: int) -> None: self._check_part_limit() if self._upload_id is None: self._upload_id = self._client._initiate_multipart_upload(self._cloud_path) - data = bytes(self._write_buffer[:size]) + # one copy out of the part buffer (slicing the bytearray first would make two); + # the view must be released before the bytearray can be resized + with memoryview(self._write_buffer) as view: + data = bytes(view[:size]) del self._write_buffer[:size] part_number = self._part_number self._part_number += 1 @@ -414,10 +430,11 @@ def _harvest_part_futures(self, block: bool = False, drain: bool = False) -> Non if error is not None: raise error - def _upload_chunk(self, data: bytes) -> None: - if not data: + def _upload_chunk(self, data: _ReadableBuffer) -> None: + view = memoryview(data) + if view.nbytes == 0: return - self._write_buffer.extend(data) + self._write_buffer.extend(view) target_size = self._target_part_size() while len(self._write_buffer) >= target_size: self._upload_buffered_part(target_size) @@ -470,7 +487,7 @@ def __init__( super().__init__(client, cloud_path, mode, pre_finalize) self._spool: Optional[tempfile.SpooledTemporaryFile] = None - def _upload_chunk(self, data: bytes) -> None: + def _upload_chunk(self, data: _ReadableBuffer) -> None: if self._spool is None: self._spool = tempfile.SpooledTemporaryFile(max_size=DEFAULT_BUFFER_SIZE) self._spool.write(data) @@ -531,11 +548,14 @@ def open_stream( return raw # type: ignore[return-value] line_buffering = buffering == 1 - buffer_size = DEFAULT_BUFFER_SIZE if buffering < 2 else buffering buffered: Union[io.BufferedReader, io.BufferedWriter] if "r" in mode: + buffer_size = DEFAULT_BUFFER_SIZE if buffering < 2 else buffering buffered = io.BufferedReader(raw, buffer_size) else: + # the raw stream accumulates whole upload parts itself, so a large wrapper buffer + # would only hold a second copy of the same bytes; it just coalesces small writes + buffer_size = io.DEFAULT_BUFFER_SIZE if buffering < 2 else buffering buffered = io.BufferedWriter(raw, buffer_size) if binary: return buffered # type: ignore[return-value] diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 63e21e8a..70226afa 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -111,7 +111,7 @@ def __init__( timeout: Optional[float] = None, retry: Optional["Retry"] = None, *, - streaming_max_concurrency: int = 1, + streaming_max_concurrency: int = 4, ): """Class constructor. Sets up a [`Storage Client`](https://googleapis.dev/python/storage/latest/client.html). @@ -151,8 +151,9 @@ def __init__( timeout (Optional[float]): Cloud Storage [timeout value](https://cloud.google.com/python/docs/reference/storage/1.39.0/retry_timeout) retry (Optional[google.api_core.retry.Retry]): Cloud Storage [retry configuration](https://cloud.google.com/python/docs/reference/storage/1.39.0/retry_timeout#configuring-retries) streaming_max_concurrency (int): Maximum concurrent requests per open streaming - stream (background part uploads and read prefetch) when using - `FileCacheMode.streaming`; defaults to 1 (sequential). + file (background part uploads while writing, read-ahead of the next byte + ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to 4; 1 makes each stream fully sequential. """ # don't check `GOOGLE_APPLICATION_CREDENTIALS` since `google_default_auth` already does that # use explicit client diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 216a6678..4dc1e074 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -39,7 +39,7 @@ def __init__( custom_dir_matcher: Optional[Callable[[str], bool]] = None, write_file_http_method: Optional[str] = "PUT", *, - streaming_max_concurrency: int = 1, + streaming_max_concurrency: int = 4, ): """Class constructor. Creates an HTTP client that can be used to interact with HTTP servers using the cloudpathlib library. @@ -58,8 +58,9 @@ def __init__( custom_dir_matcher (Optional[Callable[[str], bool]]): Function to call to identify a url that is a directory. Defaults to a lambda that checks if the path ends with a `/`. write_file_http_method (Optional[str]): HTTP method to use when writing files. Defaults to "PUT", but some servers may want "POST". streaming_max_concurrency (int): Maximum concurrent requests per open streaming - stream (background part uploads and read prefetch) when using - `FileCacheMode.streaming`; defaults to 1 (sequential). + file (background part uploads while writing, read-ahead of the next byte + ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to 4; 1 makes each stream fully sequential. """ super().__init__( file_cache_mode, diff --git a/cloudpathlib/local/localclient.py b/cloudpathlib/local/localclient.py index 90ea1c9b..d5a0fe40 100644 --- a/cloudpathlib/local/localclient.py +++ b/cloudpathlib/local/localclient.py @@ -51,7 +51,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, - streaming_max_concurrency: int = 1, + streaming_max_concurrency: int = 4, **kwargs: Any, ) -> None: self._local_storage_dir = local_storage_dir diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index c688d5c6..a4edf321 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -45,7 +45,7 @@ def __init__( content_type_method: Optional[Callable] = mimetypes.guess_type, extra_args: Optional[dict] = None, *, - streaming_max_concurrency: int = 1, + streaming_max_concurrency: int = 4, ): """Class constructor. Sets up a boto3 [`Session`]( https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html). @@ -89,8 +89,9 @@ def __init__( extra args that are supported look at the upload, download, and copy lists in the [boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.S3Transfer). streaming_max_concurrency (int): Maximum concurrent requests per open streaming - stream (background part uploads and read prefetch) when using - `FileCacheMode.streaming`; defaults to 1 (sequential). + file (background part uploads while writing, read-ahead of the next byte + ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to 4; 1 makes each stream fully sequential. """ endpoint_url = endpoint_url or os.getenv("AWS_ENDPOINT_URL") if boto3_session is not None: diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index d218bd7e..81d87ed7 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1047,9 +1047,11 @@ def record_abort(cloud_path, upload_id): stream = path.open(mode="wb") with pytest.raises(RuntimeError, match="simulated part failure"): + # parts upload in the background, so the failure surfaces on a later write + # or on close; either way it must propagate, abort, and leave no object stream.write(b"x" * (11 * 1024 * 1024)) - with pytest.raises(RuntimeError, match="simulated part failure"): stream.close() + stream.close() # idempotent once the failure has been reported assert len(abort_calls) == 1 assert not path.exists() @@ -2782,6 +2784,12 @@ def counting_range_download(cloud_path, start, end): starts = sorted(start for start, _ in calls) assert starts == list(range(0, len(data), chunk)), f"unexpected requests: {calls}" + # a lone read (e.g. a file header) must not trigger read-ahead of data nobody wants + calls.clear() + with path.open("rb", buffering=chunk) as f: + assert f.read1(chunk) == data[:chunk] + assert calls == [(0, chunk - 1)], f"unexpected read-ahead: {calls}" + # seeking back re-reads correctly even though prefetched chunks are discarded with path.open("rb", buffering=chunk) as f: f.read1(chunk) From e3b3b551bddcc0e1dd754066e3ba79c2fc829ea8 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:51:19 -0700 Subject: [PATCH 23/35] Remove the append/update fallback cache file on close in streaming mode Streaming mode only touches the local cache for the append and update modes it cannot stream; those cache files now go away when the handle is closed (as with close_file) instead of lingering until the client is collected. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/cloudpath.py | 7 ++++--- docs/docs/caching.ipynb | 6 +++--- tests/test_caching.py | 22 ++++++---------------- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 701cfe05..db0acf11 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -924,9 +924,10 @@ def _patched_close_upload(*args, **kwargs) -> None: # opened for write, so mark dirty self._dirty = True - # if we don't want any cache around, remove the cache - # as soon as the file is closed - if self.client.file_cache_mode == FileCacheMode.close_file: + # if we don't want any cache around, remove the cache as soon as the file is + # closed; streaming mode only reaches the cache through the append/update + # fallback and should not leave anything behind either + if self.client.file_cache_mode in (FileCacheMode.close_file, FileCacheMode.streaming): # this may be _patched_close_upload, in which case we need to # make sure to call that first so the file gets uploaded wrapped_close_for_cache = buffer.close diff --git a/docs/docs/caching.ipynb b/docs/docs/caching.ipynb index 4fb4a99d..a4ffe563 100644 --- a/docs/docs/caching.ipynb +++ b/docs/docs/caching.ipynb @@ -483,7 +483,7 @@ " - `\"tmp_dir\"` (_default_) - Cached files are saved using Python's [`TemporaryDirectory`](https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory). This provides three potential avenues for the cache to get cleared. First, cached files are removed by `cloudpathlib` when the `*Client` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called. Second, Python clears a temporary directory if all references to that directory leave scope. Finally since the folder is in an operating system temp directory, it will be cleared by the OS (which, depending on the OS, may not happen until system restart).\n", " - `\"cloudpath_object\"` - cached files are removed when the `CloudPath` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called.\n", " - `\"close_file\"` - since we only download a file to the cache on read/write, we can ensure the cache is empty by removing the cached file as soon as the read/write is finished. Reading/writing the same `CloudPath` multiple times will result in re-downloading the file from the cloud. Note: For this to work, `cloudpath` needs to be in control of the reading/writing of files. This means your code base should use the `CloudPath.write_*`, `CloudPath.read_*`, and `CloudPath.open` methods. Using `CloudPath.fspath` (or passing the `CloudPath` as a `PathLike` object to another library) will not clear the cache on file close since it was not opened by `cloudpathlib`.\n", - " - `\"streaming\"` - supported read/write modes stream directly from/to cloud storage using range requests for reads and multipart/block uploads for writes, without writing cache files to disk (append and update modes are the exception: they fall back to the local cache, which is cleaned up when the client is garbage collected). This mode uses only small in-memory buffers and is ideal for large files or memory-constrained environments. Note: `.fspath` and similar properties are not available in streaming mode. Currently supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (read-only).\n", + " - `\"streaming\"` - supported read/write modes stream directly from/to cloud storage using range requests for reads and multipart/block uploads for writes, without writing cache files to disk (append and update modes are the exception: they fall back to the local cache, which is removed as soon as the file is closed, like `close_file`). This mode uses only in-memory buffers and is ideal for large files or memory-constrained environments. Note: `.fspath` and similar properties are not available in streaming mode. Supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (HTTP writes are a single request, spooled to a temporary file above 5 MiB).\n", "\n", "Note: Although we use it in the examples below, for `\"cloudpath_object\"` and `\"tmp_dir\"` you normally shouldn't need to explicitly call `del`. Letting Python garbage collection run on its own once all references to the object leave scope should be sufficient. See details [in the Python docs](https://docs.python.org/3/reference/datamodel.html?highlight=__del__#object.__del__)).\n" ] @@ -759,10 +759,10 @@ "Unlike other cache modes, streaming mode:\n", "- Reads data directly from cloud storage using range requests\n", "- Writes data directly to cloud storage using multipart/block uploads\n", - "- Never creates cached files on disk (only uses small in-memory buffers)\n", + "- Never creates cached files on disk for read and write modes (append and update modes fall back to the cache and clean it up on close)\n", "- Works with standard Python file-like interfaces\n", "\n", - "**Note:** Streaming mode is currently supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (read-only).\n" + "**Note:** Streaming mode is supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS. See the [Streaming I/O](../streaming_io/) page for details.\n" ] }, { diff --git a/tests/test_caching.py b/tests/test_caching.py index f757b7b7..4eb9401c 100644 --- a/tests/test_caching.py +++ b/tests/test_caching.py @@ -1,4 +1,3 @@ -import gc import os from pathlib import Path @@ -565,26 +564,17 @@ def test_write_mtime_tie_does_not_raise(rig: CloudProviderTestRig): def test_streaming_append_fallback_cache_cleaned_up(rig: CloudProviderTestRig): - """Append/update modes fall back to the cache in streaming mode; those cache files - must be cleaned up when the client is garbage collected, like other cache modes.""" + """Append/update modes fall back to the cache in streaming mode; like `close_file`, + the cache file is removed as soon as the handle is closed and uploaded.""" client = rig.client_class( file_cache_mode=FileCacheMode.streaming, **rig.required_client_kwargs ) cp = rig.create_cloud_path("dir_0/file0_0.txt", client=client) + original = cp.read_text() with cp.open("a") as f: f.write("appended") + assert cp._local.exists() # the fallback works on a real cache file - # the fallback created a real cache file - assert cp._local.exists() - - cache_path = cp._local - client_cache_dir = client._local_cache_dir - del f # the with-statement target outlives the block and holds the path - del cp - del client - # the patched close handle forms a reference cycle, so collection is not immediate - gc.collect() - - assert not cache_path.exists() - assert not client_cache_dir.exists() + assert not cp._local.exists() + assert cp.read_text() == original + "appended" From ca92c4830b2c232f5a296726bcc4741bdb05077d Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:51:19 -0700 Subject: [PATCH 24/35] Raise CloudPathFileExistsError when an exclusive-create stream loses a race A file that appears while an 'x' stream is open was reported as OverwriteNewerCloudError, and force_overwrite_to_cloud=True disabled the exclusive-create guarantee entirely. Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/cloudpath.py | 14 ++++++++++---- tests/test_cloud_io.py | 17 +++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index db0acf11..cc73017e 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -965,7 +965,7 @@ def _open_streaming( pre_finalize = None if "w" in mode or "x" in mode: pre_finalize = self._streaming_overwrite_check( - exists_on_cloud, force_overwrite_to_cloud + mode, exists_on_cloud, force_overwrite_to_cloud ) return open_stream( @@ -981,12 +981,14 @@ def _open_streaming( ) def _streaming_overwrite_check( - self, exists_on_cloud: bool, force_overwrite_to_cloud: Optional[bool] + self, mode: str, exists_on_cloud: bool, force_overwrite_to_cloud: Optional[bool] ) -> Optional[Callable[[], None]]: """Build the pre-upload conflict check for a streaming write, mirroring the cached path's `OverwriteNewerCloudError` protection in `_upload_file_to_cloud`. Returns None - when overwriting is forced.""" - if _force_overwrite_to_cloud(force_overwrite_to_cloud): + when overwriting is forced. Exclusive creation (`x`) always checks, since a file that + appeared while the stream was open must raise `CloudPathFileExistsError`.""" + exclusive = "x" in mode + if not exclusive and _force_overwrite_to_cloud(force_overwrite_to_cloud): return None original_mtime = self.stat().st_mtime if exists_on_cloud else None @@ -997,6 +999,10 @@ def check() -> None: except (NoStatError, CloudPathFileNotFoundError, FileNotFoundError): # nothing on the cloud to conflict with return + if exclusive: + raise CloudPathFileExistsError( + f"Cannot create file ({self}): it was created while the stream was open." + ) if original_mtime is None or stats.st_mtime > original_mtime: raise OverwriteNewerCloudError( f"Cloud path ({self}) changed while it was open for streaming write, " diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 81d87ed7..e5f51884 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -2361,6 +2361,23 @@ def test_streaming_text_exclusive_create(streaming_rig): pass +def test_streaming_exclusive_create_lost_race_raises(streaming_rig): + """A file that appears while an 'x' stream is open is a FileExists error on close, even + when overwriting is forced: exclusive creation must never clobber.""" + from cloudpathlib.exceptions import CloudPathFileExistsError + + path = streaming_rig.create_cloud_path("test_x_race.txt") + try: + f = path.open("xb", force_overwrite_to_cloud=True) + f.write(b"mine") + path.write_bytes(b"theirs") # a concurrent writer wins the race + with pytest.raises(CloudPathFileExistsError): + f.close() + assert path.read_bytes() == b"theirs" + finally: + path.unlink(missing_ok=True) + + def test_range_download_past_eof_returns_empty(streaming_rig): """A range starting past EOF maps to EOF (empty bytes) on every provider.""" path = streaming_rig.create_cloud_path("past_eof.bin") From b774d2864d717cb776abda1aabe717466e3fd7d7 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:53:14 -0700 Subject: [PATCH 25/35] Rewrite the streaming I/O docs page and condense its changelog entry The page now documents the behaviour as implemented (stdlib file objects, buffering semantics, concurrency defaults, write contract, limitations, custom-client hooks) in about 200 lines instead of duplicating the API reference and recipes. Co-Authored-By: Claude Fable 5.1 --- HISTORY.md | 15 +- docs/docs/streaming_io.md | 976 ++++++-------------------------------- 2 files changed, 136 insertions(+), 855 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index c8e184f4..10516f95 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -33,20 +33,7 @@ - Added `AGENTS.md` with repository-specific guidance for coding agents covering contributor workflow, compatibility expectations, test rig and mock usage, live backend validation, and PR hygiene. (PR [#573](https://github.com/drivendataorg/cloudpathlib/pull/573)) -- Added streaming I/O support for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS via `FileCacheMode.streaming`. (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) - - Added `FileCacheMode.streaming` enum value to enable direct streaming I/O without local caching. - - Added `CloudBufferedIO` class implementing `io.BufferedIOBase` for binary streaming operations. - - Added `CloudTextIO` class implementing `io.TextIOBase` for text streaming operations. - - Added provider-specific raw I/O implementations: `_S3StorageRaw`, `_AzureBlobStorageRaw`, `_GSStorageRaw`, `_HttpStorageRaw`. - - Added `register_raw_io_class` decorator for registering streaming I/O implementations. - - Added `buffer_size` parameter to `CloudPath.open()` for controlling streaming buffer size; the default is 5 MiB, matching the block sizes of comparable tools (a full-object `read()` always uses a single ranged request regardless of buffer size). - - Streaming upload extra args for S3 are filtered against botocore's bundled service model (also when the client object does not expose `meta`), so newly added S3 parameters are never silently dropped. - - Added a `streaming_max_concurrency` client parameter (default 1): each open streaming stream may issue up to that many requests in parallel — background part uploads while writing (in-flight memory bounded to concurrency × part size) and read-ahead prefetch of upcoming byte ranges while reading sequentially. - - Google Cloud Storage streaming writes use the XML API multipart upload (via the SDK's transfer-manager machinery) instead of a resumable-upload stream, matching the S3/Azure part mechanism and enabling concurrent part uploads. - - Streaming writes honor `force_overwrite_to_cloud` (and `CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD`), raising `OverwriteNewerCloudError` on close instead of overwriting an object that changed while the stream was open. - - `copy`/`rename`/`replace` work in streaming mode by streaming between clients instead of round-tripping through the local cache (`fspath`). - - Cache files created by the append/update fallback in streaming mode are cleaned up when the client is garbage collected. - - Streaming error paths raise `cloudpathlib.exceptions` types (`CloudPathFileNotFoundError`, `CloudPathNotImplementedError`), which subclass the corresponding builtins. +- Added streaming I/O via `FileCacheMode.streaming` for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS. In this mode `CloudPath.open()` returns the standard `io` file objects (`BufferedReader`/`BufferedWriter`/`TextIOWrapper`) backed by ranged reads and multipart uploads instead of the local cache, so only the bytes you read are downloaded and written data is uploaded as you write it. Read streams are seekable; append and update modes fall back to the cache and remove the cache file on close. `buffering` has its builtin `open()` meaning and sets the ranged-request size (default 5 MiB). A new `streaming_max_concurrency` client option (default 4) bounds background read-ahead and part uploads per stream. `copy`/`rename`/`replace` stream between clients, `fspath` raises `CloudPathNotImplementedError`, and failures raise `cloudpathlib.exceptions` types including the new `CloudPathStreamingError`. See the [Streaming I/O](https://cloudpathlib.drivendata.org/stable/streaming_io/) docs. (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) - Changed `CloudPath.open(mode="a")` on a nonexistent cloud file to create it (matching the stdlib `open` and `pathlib`) instead of raising `CloudPathFileNotFoundError`. **Breaking change for users that relied on the previous error.** (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) ## v0.24.0 (2026-04-29) diff --git a/docs/docs/streaming_io.md b/docs/docs/streaming_io.md index d0e67730..6c69e67e 100644 --- a/docs/docs/streaming_io.md +++ b/docs/docs/streaming_io.md @@ -1,875 +1,169 @@ # Streaming I/O -cloudpathlib provides streaming I/O capabilities for cloud storage through Python's standard I/O interfaces. +By default, `CloudPath.open()` downloads a file to the local cache before opening it and +uploads the whole cache file when a written handle is closed. With +`FileCacheMode.streaming`, `open()` instead returns a standard Python file object that +reads from cloud storage with ranged requests and writes to it with multipart uploads. +Nothing is written to disk, only the part of the object you read is downloaded, and +written data is uploaded while you write it. -## Overview +## Enabling streaming -By default, CloudPathLib downloads files to a local cache before opening them. While this works well for many use cases, it can be inefficient for: - -- **Large files** that don't fit in memory or disk -- **Partial reads** where you only need to access part of a file -- **Sequential processing** where you read a file once and discard it -- **Write-only workflows** where you're generating data to upload - -The streaming I/O system solves these problems by: - -- Reading data directly from cloud storage using range requests -- Writing data directly to cloud storage using multipart/block uploads -- Providing standard Python file-like objects that work with any library -- Eliminating the need for local disk caching - -## Quick Start - -### Enable Streaming Mode - -To use streaming I/O, set your client's `file_cache_mode` to `FileCacheMode.streaming`: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -# Option 1: Set streaming mode on the client -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) - -with path.open("rt") as f: - for line in f: - print(line.strip()) - -# Option 2: Change mode on existing client -client = S3Client() -client.file_cache_mode = FileCacheMode.streaming - -path = S3Path("s3://bucket/file.txt", client=client) -with path.open("rt") as f: - content = f.read() - -# Option 3: Temporarily enable streaming -client = S3Client() -path = S3Path("s3://bucket/file.txt", client=client) - -original_mode = path.client.file_cache_mode -path.client.file_cache_mode = FileCacheMode.streaming - -with path.open("rt") as f: - content = f.read() - -path.client.file_cache_mode = original_mode # Restore -``` - -### Basic Examples - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -# Create a client with streaming enabled -client = S3Client(file_cache_mode=FileCacheMode.streaming) - -# Read a text file -path = S3Path("s3://bucket/file.txt", client=client) -with path.open("rt") as f: - for line in f: - print(line.strip()) - -# Write a binary file -path = S3Path("s3://bucket/output.bin", client=client) -with path.open("wb") as f: - f.write(b"Hello, cloud!") - -# Read binary data in chunks -path = S3Path("s3://bucket/large-file.bin", client=client) -with path.open("rb") as f: - while chunk := f.read(8192): - process(chunk) -``` - -## API Reference - -!!! tip "Prefer `CloudPath.open()`" - The usual entry point is `CloudPath.open()` with `FileCacheMode.streaming`. `CloudBufferedIO` and `CloudTextIO` are also public for integrations that need to construct a provider-backed file object directly. - -### `FileCacheMode` Enum - -Controls how `CloudPath.open()` handles file caching: - -- `FileCacheMode.cloudpath_object`: Default - cache files in CloudPath object -- `FileCacheMode.tmp_dir`: Cache files in temporary directory -- `FileCacheMode.persistent`: Cache files persistently -- `FileCacheMode.close_file`: Close file after reading -- **`FileCacheMode.streaming`**: Stream directly without caching - -```python -from cloudpathlib.enums import FileCacheMode - -# Set on client initialization -client = S3Client(file_cache_mode=FileCacheMode.streaming) - -# Or change dynamically -client.file_cache_mode = FileCacheMode.streaming -``` - -### `CloudPath.open()` - -Opens a cloud file in streaming mode when `file_cache_mode` is set to `FileCacheMode.streaming`. - -```python -CloudPath.open( - mode: str = "r", - buffering: int = -1, - encoding: Optional[str] = None, - errors: Optional[str] = None, - newline: Optional[str] = None, - *, - buffer_size: Optional[int] = None, -) -> Union[CloudBufferedIO, CloudTextIO, IO] -``` - -**Parameters:** - -- `mode`: File mode - binary (`'rb'`, `'wb'`, etc.) or text (`'r'`, `'w'`, `'rt'`, `'wt'`, etc.) -- `buffering`: Standard Python buffering control. Binary mode supports `0` for an unbuffered raw stream. -- `encoding`: Text encoding (default: platform locale, text mode only) -- `errors`: Error handling strategy (default: `"strict"`, text mode only) -- `newline`: Newline handling (text mode only) -- `buffer_size`: Size of read/write buffer in bytes (default: 5 MiB) - -**Returns:** - -- `CloudBufferedIO` for binary modes (when streaming) -- `CloudTextIO` for text modes (when streaming) -- Standard file object (when not streaming) - -### Compatibility with standard interfaces - -Streaming file objects subclass the standard `io` base classes, so code written -against Python's file protocol works without modification: - -- `CloudBufferedIO` is an `io.BufferedIOBase` (and `io.IOBase`); `CloudTextIO` - is an `io.TextIOWrapper`. `isinstance` checks against the `io` ABCs pass. -- `CloudPath.open()` keeps the same signature and mode grammar as - `pathlib.Path.open()`, so call sites that accept either a `Path` or a - `CloudPath` behave the same in both cases. -- Any library that accepts an open file object works with streaming streams: - `json`, `csv`, `pickle`, `zipfile`, `tarfile`, `pandas`, `PIL.Image.open`, - `pyarrow`, etc. Read streams are seekable, so formats that require random - access (zip archives, parquet) also work. -- The one intentional gap is `os.PathLike`: `os.fspath(path)` / - `path.fspath` raise `CloudPathNotImplementedError` in streaming mode because - there is no local file to point at. Pass the open file object instead of the - path to libraries that require a filesystem path. - -### `CloudBufferedIO` - -Binary file-like object implementing `io.BufferedIOBase`. - -!!! note "Usually returned by `CloudPath.open()`" - Most applications should let `CloudPath.open()` construct this class. Direct construction is supported when implementing file-object integrations. - -**Key Methods:** - -- `read(size=-1)`: Read up to size bytes (all if size is -1) -- `read1(size=-1)`: Read up to size bytes with one underlying read call -- `readinto(b)`: Read bytes into a pre-allocated buffer -- `write(b)`: Write bytes -- `flush()`: Flush write buffer to cloud storage -- `seek(offset, whence=SEEK_SET)`: Change stream position -- `tell()`: Return current stream position -- `close()`: Close file and finalize upload - -**Properties:** - -- `name`: The cloud path -- `mode`: File mode (e.g., `"rb"`, `"wb"`) -- `closed`: Whether the file is closed - -**Capability Flags:** - -- `readable()`: Returns True for read modes -- `writable()`: Returns True for write modes -- `seekable()`: Returns `True` for readable streams. Streaming writes are sequential and return `False`. - -### `CloudTextIO` - -Text file-like object implementing `io.TextIOBase`. - -!!! note "Usually returned by `CloudPath.open()`" - Most applications should let `CloudPath.open()` construct this class. Direct construction is supported when implementing file-object integrations. - -**Key Methods:** - -- `read(size=-1)`: Read up to size characters -- `readline(size=-1)`: Read one line -- `readlines(hint=-1)`: Read list of lines -- `write(s)`: Write string -- `writelines(lines)`: Write list of strings -- `flush()`: Flush write buffer -- `seek(offset, whence=SEEK_SET)`: Change position -- `tell()`: Return current position -- `close()`: Close file - -**Properties:** - -- `name`: The cloud path -- `mode`: File mode (e.g., `"rt"`, `"wt"`) -- `encoding`: Text encoding -- `errors`: Error handling strategy -- `newlines`: Newline(s) encountered -- `buffer`: Underlying binary buffer (CloudBufferedIO) -- `closed`: Whether the file is closed - -**Iteration:** - -CloudTextIO supports iteration: +Set `file_cache_mode` on the client (or the `CLOUDPATHLIB_FILE_CACHE_MODE=streaming` +environment variable): ```python -from cloudpathlib import S3Path, S3Client +from cloudpathlib import S3Client, S3Path from cloudpathlib.enums import FileCacheMode client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) +path = S3Path("s3://bucket/data.csv", client=client) -with path.open("rt") as f: +with path.open("r") as f: # text, ranged reads for line in f: - process(line) -``` - -## Usage Examples - -### Reading Large Files in Chunks - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode + ... -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/huge-file.csv", client=client) - -# Process a large file without loading it entirely into memory -with path.open("rt") as f: - header = f.readline() - for line in f: - process_csv_line(line) +with path.open("wb") as f: # binary, multipart upload + f.write(b"...") ``` -### Partial File Reads +Streaming is supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS, +as well as the `cloudpathlib.local` mock clients used in tests. -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode +## What `open()` returns -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/data.bin", client=client) +The same objects the builtin `open()` returns, so any library that accepts a file object +works unchanged: `json`, `csv`, `zipfile`, `tarfile`, `pandas`, `pyarrow`, `PIL`, etc. -# Read just the header of a file -with path.open("rb") as f: - header = f.read(1024) # Read first 1KB - parse_header(header) +| Mode | Returns | +|------|---------| +| `rb`, `wb`, `xb` | `io.BufferedReader` / `io.BufferedWriter` over a provider raw stream | +| `r`, `w`, `x` (text) | `io.TextIOWrapper` over the buffered stream | +| binary with `buffering=0` | the raw `io.RawIOBase` stream itself | - # Seek to specific position - f.seek(10000) - chunk = f.read(100) -``` - -### Streaming Uploads - -```python -from cloudpathlib import AzureBlobPath, AzureBlobClient -from cloudpathlib.enums import FileCacheMode -import json - -client = AzureBlobClient(file_cache_mode=FileCacheMode.streaming) -path = AzureBlobPath("az://container/output.json", client=client) - -# Write data directly to cloud without local file -with path.open("wt") as f: - f.write('{"items": [\n') - for i, item in enumerate(generate_items()): - if i > 0: - f.write(',\n') - f.write(json.dumps(item)) - f.write('\n]}') -``` - -### Using with pandas - -```python -import pandas as pd -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) - -# Read CSV directly from cloud -read_path = S3Path("s3://bucket/data.csv", client=client) -with read_path.open("rt") as f: - df = pd.read_csv(f) - -# Write CSV directly to cloud -write_path = S3Path("s3://bucket/output.csv", client=client) -with write_path.open("wt") as f: - df.to_csv(f, index=False) -``` - - -### Using with parquet - -Streaming read streams are seekable, which is exactly what columnar formats -need: `pyarrow` seeks to the parquet footer to read the file metadata, then -fetches only the byte ranges for the row groups and columns you ask for — the -rest of the object is never downloaded. +Read streams are seekable, so formats that need random access (zip archives, parquet) +work: `pyarrow` seeks to the parquet footer and then fetches only the column chunks you +ask for. ```python import pyarrow.parquet as pq -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/data.parquet", client=client) with path.open("rb") as f: - parquet_file = pq.ParquetFile(f) - - # metadata comes from the footer alone - print(parquet_file.metadata.num_rows, parquet_file.schema_arrow) - - # reads only the column chunks for "user_id" - table = parquet_file.read(columns=["user_id"]) + table = pq.ParquetFile(f).read(columns=["user_id"]) ``` -For column-slicing workloads, a smaller `buffer_size` (e.g. 64 KiB - 1 MiB) -reduces over-fetch around the footer and column chunk boundaries; for reading -most of the file, keep the default. +Write streams are sequential: `seek()` on a write stream raises `io.UnsupportedOperation`. -### Using with PIL/Pillow +## `buffering` -```python -from PIL import Image -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode +`buffering` means what it means for the builtin `open()`: -client = S3Client(file_cache_mode=FileCacheMode.streaming) +- `-1` (default): a 5 MiB buffer. Each refill of a read stream is one ranged request of + that size (never past the end of the object), so a sequential scan of a 1 GiB object is + about 205 requests. +- `N > 1`: the buffer size in bytes. Use a smaller buffer (64 KiB to 1 MiB) when you read + small slices of large objects (parquet column reads, headers), and a larger one for + sequential scans on fast networks. +- `1`: line buffering for text streams, with the default buffer size. +- `0`: unbuffered; binary only. Every `read()`/`write()` is a request (or a part-buffer + append). -# Read image -read_path = S3Path("s3://bucket/image.jpg", client=client) -with read_path.open("rb") as f: - img = Image.open(f) - img.show() - -# Write image -write_path = S3Path("s3://bucket/output.png", client=client) -with write_path.open("wb") as f: - img.save(f, format="PNG") -``` - -### Custom Buffer Size +A full-object `read()` is always a single request regardless of the buffer size. ```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) - -# Use a larger buffer for better throughput on fast connections -path = S3Path("s3://bucket/large-file.bin", client=client) -with path.open("rb", buffer_size=16 * 1024 * 1024) as f: +with path.open("rb", buffering=16 * 1024 * 1024) as f: # 16 MiB requests data = f.read() - -# Use a smaller buffer for memory-constrained environments -path = S3Path("s3://bucket/file.txt", client=client) -with path.open("rt", buffer_size=64 * 1024) as f: - for line in f: - process(line) -``` - -## Performance Considerations - -### Buffer Size - -The `buffer_size` parameter controls how much data is fetched from/written to cloud storage in each request: - -- **Default** (5 MiB): Matches the multi-MiB block sizes used by comparable - tools (fsspec/s3fs/gcsfs) so per-request latency does not dominate sequential - throughput. Reads never fetch past EOF, so small objects only pay for their - actual size. -- **Smaller buffers** (64 KiB - 1 MiB): Less memory per open stream and less - over-fetch when reading small slices of large objects, at the cost of more - requests for sequential scans. -- **Larger buffers**: Fewer, bigger requests; memory per open stream grows to - match. - -Two request-count notes: - -- A full-object `read()` is always satisfied with a single ranged request - regardless of `buffer_size`. -- Each buffered refill costs one ranged request, so a sequential scan of a - 1 GiB object makes ~205 requests at the 5 MiB default versus ~16,000 at - 64 KiB. - -### Read Patterns - -- **Sequential reads**: Optimal performance - data is fetched ahead as needed -- **Random seeks**: Each seek may trigger a new range request - less efficient -- **Small random reads**: Consider downloading the file to cache instead - -### Concurrency - -Pass `streaming_max_concurrency=N` when constructing a client to let each open -streaming stream issue up to `N` requests in parallel (the default of `1` is -fully sequential): - -```python -client = S3Client( - file_cache_mode=FileCacheMode.streaming, - streaming_max_concurrency=4, -) -``` - -- **Writes**: completed parts upload in a background thread pool while your - code keeps writing; the stream blocks only when `N` parts are already in - flight, so buffered memory is bounded by roughly `N x` part size. Works for - S3, Azure, and GCS (all use order-independent multipart/block uploads); - HTTP writes are a single request and are unaffected. -- **Reads**: the next `N` byte ranges are prefetched in the background while - you consume the current one, pipelining sequential scans. Seeking outside - the prefetched window discards it. -- Failures in background requests surface on the next `write()`/`close()` - (aborting the upload) or the next `read()`, exactly like sequential errors. - -Semantics that no configuration changes: - -- **Streams are not thread-safe.** Like ordinary Python file objects, a single - `CloudBufferedIO`/`CloudTextIO` instance must not be shared between threads - without external locking. Open one stream per thread instead. -- **Concurrent readers are safe.** Any number of streams (across threads or - processes) can read the same object simultaneously; each issues independent - range requests and holds independent positions. -- **Concurrent writers to the same object are last-committer-wins.** Each - writer's upload is isolated (S3 multipart upload IDs; per-session Azure block - IDs), so writers cannot corrupt each other's data — whichever stream closes - last determines the final object. -- **Conflict detection**: open a write stream with - `force_overwrite_to_cloud=False` and closing raises `OverwriteNewerCloudError` - instead of overwriting a version of the object that was uploaded while the - stream was open. - -### Write Contract - -Object storage is fundamentally a **sequential, write-once** medium. -Streaming mode reflects that contract: - -| Mode | Streaming behaviour | -|------|---------------------| -| `wb`, `w`, `xb`, `x` | True streaming — data is forwarded to the provider as it arrives | -| `ab`, `a`, `r+b`, `r+`, `w+b`, `w+` | **Falls back to cache** — the object is downloaded, mutated locally, then re-uploaded on close. Semantics are correct; performance matches the cached path. | - -!!! warning "There is no true streaming append" - Object stores cannot append to (or modify a byte range of) an existing - object — every write creates a whole new object. Anything that opens an - existing file for appending or in-place update (`a`, `a+`, `r+`, `w+`) - therefore cannot stream: cloudpathlib downloads the entire object to the - local cache, applies the writes there, and re-uploads the entire object on - close. That is correct but costs a full download plus a full upload (and - temporary disk space) proportional to the object's size — for a - log-appending workload, prefer writing many small objects or a - provider-native mechanism instead. - -Attempting to seek on a write-only streaming stream raises -`io.UnsupportedOperation` because the provider has already accepted -the earlier bytes. - -Streaming writes honor `force_overwrite_to_cloud` (and the -`CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD` environment variable): when it -resolves to `False`, closing the stream raises `OverwriteNewerCloudError` -instead of clobbering a version of the object that was uploaded while the -stream was open. - -### Multipart/Block Uploads - -For write operations, the streaming I/O system automatically handles: - -- **S3**: Multipart upload; non-final parts are buffered until they reach - the provider minimum of **5 MiB** (S3 rejects smaller non-final parts). - The final part may be smaller than 5 MiB. -- **Azure**: Block blob staging — blocks grow adaptively during very large uploads - and are committed on close. -- **GCS**: XML API multipart upload — parts are buffered to the provider - minimum of **5 MiB** and assembled on close, mirroring the S3 mechanism - (set an `AbortIncompleteMultipartUpload` bucket lifecycle rule to expire - uploads orphaned by hardware failure). - -## Provider-Specific Behavior - -### AWS S3 - -- Uses boto3 `get_object()` with `Range` header for reads -- Uses boto3 multipart upload API for writes -- Supports all S3-compatible storage (MinIO, Ceph, etc.) - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) - -with path.open("rt") as f: - content = f.read() ``` -### Azure Blob Storage - -- Uses Azure SDK `download_blob()` with offset/length for reads -- Uses block blob staging and commit for writes -- Compatible with Azure Data Lake Storage Gen2 - -```python -from cloudpathlib import AzureBlobPath, AzureBlobClient -from cloudpathlib.enums import FileCacheMode - -client = AzureBlobClient(file_cache_mode=FileCacheMode.streaming) -path = AzureBlobPath("az://container/file.txt", client=client) - -with path.open("rt") as f: - content = f.read() -``` - -### Google Cloud Storage - -- Uses GCS SDK `download_as_bytes()` with start/end for reads -- Uses the XML API multipart upload for writes (via the SDK's transfer-manager - machinery), which supports concurrent part uploads -- Supports GCS-specific features through client configuration - -```python -from cloudpathlib import GSPath, GSClient -from cloudpathlib.enums import FileCacheMode - -client = GSClient(file_cache_mode=FileCacheMode.streaming) -path = GSPath("gs://bucket/file.txt", client=client) - -with path.open("rt") as f: - content = f.read() -``` - -### HTTP and HTTPS - -- Requires servers to honor byte-range requests for streaming reads -- Uses the client's configured `write_file_http_method` for writes -- Spools single-request upload bodies with bounded memory, using a temporary file above 8 MiB - -## Comparison with Cached Mode - -| Feature | Streaming (`FileCacheMode.streaming`) | Cached (default) | -|---------|--------------------------------------|------------------| -| **Disk usage** | None for cloud providers; HTTP uploads may use a temporary spool | Full file size | -| **Memory usage** | Configurable buffer | Varies | -| **Read performance** | Sequential: Good
Random: Moderate | Fast (local disk) | -| **Write performance** | Good (direct upload) | Fast write, slower close | -| **Partial reads** | Efficient | Downloads full file | -| **Large files** | Excellent | Limited by disk space | -| **Offline access** | No | Yes (after download) | -| **Compatibility** | Standard I/O interfaces | Standard I/O interfaces | - -## Best Practices - -### When to Use Streaming I/O - -✅ **Good use cases:** - -- Large files that don't fit in memory/disk -- Reading only part of a file (e.g., headers, metadata) -- Sequential processing (one-pass reads) -- Direct upload of generated content -- Integration with libraries that accept file-like objects - -❌ **Consider caching instead:** - -- Small files (< 10 MB) -- Frequent random access to same file -- Multiple passes over the same data -- Offline processing -- Maximum read performance required -- Libraries that require file paths (`.fspath` not available in streaming mode) - -### Error Handling - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) - -try: - with path.open("rt") as f: - content = f.read() -except FileNotFoundError: - print("File not found in cloud storage") -except PermissionError: - print("Access denied") -except Exception as e: - print(f"Error: {e}") -``` - -### Resource Management - -Always use context managers to ensure proper cleanup: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) - -# ✅ Good - file is automatically closed -with path.open("rt") as f: - content = f.read() - -# ❌ Bad - must remember to close manually -f = path.open("rt") -content = f.read() -f.close() # Easy to forget! -``` - -### Streaming Mode Limitations - -When using `FileCacheMode.streaming`, certain CloudPath features are not available because streaming mode avoids the local file cache (the append/update modes of `open` are the exception — they fall back to the cache, which is cleaned up when the client is garbage collected): - -**Not Available:** -- `.fspath` property - Raises `CloudPathNotImplementedError` -- `.__fspath__()` method - Raises `CloudPathNotImplementedError` -- Passing CloudPath as `os.PathLike` to libraries that need file paths - -**Workaround:** -Use `CloudPath.open()` and pass the file-like object to libraries that accept file handles instead of file paths. - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode -import pandas as pd - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/data.csv", client=client) - -# ❌ This will raise an error in streaming mode -# df = pd.read_csv(path.fspath) - -# ✅ Use this instead - pass the open file handle -with path.open("rt") as f: - df = pd.read_csv(f) -``` - -## Compatibility - -### Python I/O Interfaces - -The streaming I/O classes are fully compatible with Python's I/O hierarchy: - -```python -import io -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) - -path = S3Path("s3://bucket/file.bin", client=client) -with path.open("rb") as f: - assert isinstance(f, io.IOBase) - assert isinstance(f, io.BufferedIOBase) - -path = S3Path("s3://bucket/file.txt", client=client) -with path.open("rt") as f: - assert isinstance(f, io.IOBase) - assert isinstance(f, io.TextIOBase) -``` - -### Third-Party Libraries - -Works with any library that accepts file-like objects: - -- **Data processing**: pandas, NumPy, PyArrow -- **Images**: PIL/Pillow, OpenCV -- **Compression**: gzip, zipfile, tarfile -- **Serialization**: pickle, json, yaml -- **Scientific**: h5py, netCDF4 - -## Troubleshooting - -### "File not found" errors - -Ensure the file exists and you have read permissions: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) - -if path.exists(): - with path.open("rt") as f: - content = f.read() -``` - -### Slow performance - -Try increasing buffer size: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) - -# Larger buffer for faster networks -with path.open("rb", buffer_size=16 * 1024 * 1024) as f: - data = f.read() -``` - -### Out of memory - -Try smaller buffer size or process in chunks: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/huge.bin", client=client) - -# Process large file in chunks -with path.open("rb", buffer_size=8192) as f: - while chunk := f.read(8192): - process_chunk(chunk) -``` - -## Migration Guide - -### From Cached to Streaming - -Before: - -```python -from cloudpathlib import S3Path - -path = S3Path("s3://bucket/file.txt") -with path.open("rt") as f: # Downloads to cache - content = f.read() -``` - -After: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -# Option 1: Set on client initialization -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) -with path.open("rt") as f: # Streams directly - content = f.read() - -# Option 2: Change client mode -client = S3Client() -path = S3Path("s3://bucket/file.txt", client=client) - -path.client.file_cache_mode = FileCacheMode.streaming -with path.open("rt") as f: # Streams directly - content = f.read() -``` - -## Advanced Topics - -### Custom Clients - -Pass custom clients with specific configurations: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode -# Custom S3-compatible endpoint and upload metadata -client = S3Client( - file_cache_mode=FileCacheMode.streaming, - endpoint_url="https://objects.example.com", - addressing_style="path", - extra_args={"ServerSideEncryption": "AES256"}, -) - -path = S3Path("s3://bucket/file.txt", client=client) -with path.open("rt") as f: - content = f.read() -``` - -### Multiple Files - -Process multiple files efficiently: - -```python -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -bucket = S3Path("s3://bucket/", client=client) - -for file_path in bucket.glob("*.csv"): - with file_path.open("rt") as f: - process_csv(f) -``` - -### Encoding Detection - -For files with unknown encoding: - -```python -import chardet -from cloudpathlib import S3Path, S3Client -from cloudpathlib.enums import FileCacheMode - -client = S3Client(file_cache_mode=FileCacheMode.streaming) -path = S3Path("s3://bucket/file.txt", client=client) - -# Read a small sample to detect encoding -with path.open("rb") as f: - sample = f.read(10000) - detected = chardet.detect(sample) - encoding = detected['encoding'] - -# Re-open with detected encoding -with path.open("rt", encoding=encoding) as f: - content = f.read() -``` - -### Context Manager for Temporary Streaming - -Use a context manager to temporarily enable streaming mode: - -```python -from contextlib import contextmanager -from cloudpathlib import S3Client -from cloudpathlib.enums import FileCacheMode - -@contextmanager -def streaming_mode(client): - """Temporarily enable streaming mode on a client.""" - original_mode = client.file_cache_mode - try: - client.file_cache_mode = FileCacheMode.streaming - yield client - finally: - client.file_cache_mode = original_mode - -# Usage -client = S3Client() -path = S3Path("s3://bucket/file.txt", client=client) - -with streaming_mode(client): - with path.open("rt") as f: - content = f.read() # Uses streaming - -# Back to cached mode -with path.open("rt") as f: - content = f.read() # Uses caching -``` +## Concurrency + +Each client has a `streaming_max_concurrency` setting (default 4) that bounds the number +of requests one open stream may have in flight: + +- **Reads:** once two consecutive reads are sequential, the next byte ranges are fetched + in the background while you consume the current one. A single read (for example of a + header) or a seek does not trigger read-ahead. +- **Writes:** completed parts upload in the background while you keep writing; a + `write()` blocks only when that many parts are already in flight, so buffered memory is + bounded by roughly `streaming_max_concurrency` times the part size. + +Pass `streaming_max_concurrency=1` for fully sequential I/O. + +```python +client = S3Client(file_cache_mode=FileCacheMode.streaming, streaming_max_concurrency=8) +``` + +Streams are not thread-safe, like ordinary file objects: open one per thread. Any number +of streams may read the same object at once. Concurrent writers to the same object are +last-closed-wins; each writer's upload is isolated, so they cannot corrupt each other's +data. + +## Writes + +Object stores cannot append to or modify an existing object, so only whole-object writes +stream: + +| Mode | Behaviour | +|------|-----------| +| `w`, `wb`, `x`, `xb` | Streamed: data is uploaded in parts as you write; the object appears on `close()`. | +| `a`, `ab`, `r+`, `w+`, ... | Fall back to the local cache: the object is downloaded, modified locally, re-uploaded on `close()`, and the cache file is then removed (as with `close_file`). Correct, but costs a full download and upload. | + +Details of a streamed write: + +- Data that fits in one part (5 MiB on S3 and GCS, 4 MiB on Azure) is uploaded with a + single `PUT` on close. Larger writes use a multipart (S3, GCS XML API) or block (Azure) + upload; part sizes grow for very large streams so the provider's part-count limit is + never hit. +- If a write or the final upload fails, the multipart upload is aborted and the error + propagates from `write()` or `close()`; no partial object is left behind. If the abort + itself fails, a `RuntimeWarning` names the object so you can clean up. +- `force_overwrite_to_cloud` (and `CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD`) work as in + cached mode: when the object changed while the stream was open and overwriting is not + forced, `close()` raises `OverwriteNewerCloudError`. An `x` mode stream raises + `CloudPathFileExistsError` if the object appeared while it was open, whatever the flag. +- The content type is guessed from the object name with the client's + `content_type_method`, exactly as for cached uploads. +- HTTP servers have no multipart upload, so an HTTP write is one request on `close()`; + the body is held in memory up to 5 MiB and spooled to a temporary file beyond that. + +## Limitations + +- **No `fspath`.** `os.fspath(path)` and `path.fspath` raise `CloudPathNotImplementedError` + in streaming mode because there is no local file. Pass the open file object to libraries + instead of the path; if a library requires a filesystem path, use a cached mode. +- **`copy`, `rename`, and `replace`** between different clients stream from one object to + the other instead of going through the cache. +- **HTTP reads** need a server that honours `Range` requests (a `200` response is only + accepted for reads from the start of the object). Servers that omit `Content-Length` + work, but `seek(..., SEEK_END)` raises `CloudPathStreamingError`. +- **Size lookups.** A read stream fetches the object's size once (a metadata request). If + that lookup fails (for example, a policy that allows `GET` but not `HEAD`), reading still + works; only `SEEK_END` raises, with the lookup error as its cause. + +## Errors + +Streaming raises the same exception types as the rest of cloudpathlib: +`CloudPathFileNotFoundError` for a missing object, `CloudPathFileExistsError` for `x` +modes, `OverwriteNewerCloudError` for write conflicts, and `CloudPathStreamingError` (also +an `OSError`) when a request cannot be completed, such as exceeding the provider's +part-count limit or an HTTP server rejecting a write. + +## Provider notes + +| Provider | Reads | Writes | +|----------|-------|--------| +| S3 (and S3-compatible) | `GetObject` with `Range` | `PutObject` or multipart upload; `extra_args` are forwarded to each operation that accepts them | +| Azure Blob Storage | `download_blob(offset, length)` | `upload_blob` or staged blocks committed on close; block IDs are unique per stream | +| Google Cloud Storage | `download_as_bytes(start, end)` | `upload_from_file` or the XML API multipart upload (concurrent parts). Set an `AbortIncompleteMultipartUpload` lifecycle rule on the bucket to expire uploads orphaned by a crash | +| HTTP/HTTPS | `GET` with `Range` | one request using the client's `write_file_http_method` | + +## Adding streaming to a custom client + +A `Client` subclass gets streaming by implementing the hooks `_range_download`, +`_put_object`, and (for multipart uploads) `_initiate_multipart_upload`, `_upload_part`, +`_complete_multipart_upload`, and `_abort_multipart_upload`, then setting +`_streaming_raw_class` to `cloudpathlib.cloud_io._CloudMultipartStorageRaw` (or +`_CloudSpooledStorageRaw` for single-request uploads) and the `_multipart_*` part limits. +Subclasses of the built-in clients inherit all of this. A client that leaves +`_streaming_raw_class` as `None` raises `CloudPathNotImplementedError` from `open()` in +streaming mode and works normally in the cached modes. From 567237361e372626f4d72338796f9e65fc7afeec Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 17:55:38 -0700 Subject: [PATCH 26/35] Consolidate streaming test fixtures and skip by client capability The three temp-file fixtures shared one body, and two dozen tests skipped by hard-coded URL prefix (which no longer excluded any rig, or excluded HTTP for tests that run fine there). Skips now check the client's streaming raw class, and section headers describe their contents. Co-Authored-By: Claude Fable 5.1 --- tests/test_cloud_io.py | 208 ++++++++++++++--------------------------- 1 file changed, 69 insertions(+), 139 deletions(-) diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index e5f51884..e0df2dd5 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -10,7 +10,7 @@ import pytest from cloudpathlib import S3Path, AzureBlobPath, GSPath -from cloudpathlib.cloud_io import _CloudStorageRaw, open_stream +from cloudpathlib.cloud_io import _CloudMultipartStorageRaw, _CloudStorageRaw, open_stream from cloudpathlib.enums import FileCacheMode from cloudpathlib.exceptions import ( CloudPathFileNotFoundError, @@ -20,6 +20,28 @@ ) +def _skip_if_no_streaming(rig): + if rig.raw_io_class is None: + pytest.skip(f"Streaming I/O not implemented for {rig.client_class.__name__}") + + +def _skip_unless_multipart(rig): + _skip_if_no_streaming(rig) + if not issubclass(rig.raw_io_class, _CloudMultipartStorageRaw): + pytest.skip(f"{rig.client_class.__name__} does not use multipart streaming writes") + + +@pytest.fixture +def streaming_rig(rig): + """The rig with its default client switched to streaming mode for the test.""" + _skip_if_no_streaming(rig) + client = rig.client_class._default_client + original_mode = client.file_cache_mode + client.file_cache_mode = FileCacheMode.streaming + yield rig + client.file_cache_mode = original_mode + + def _is_streaming(f) -> bool: """Whether an open file object is backed by a provider raw stream (vs. a cache file).""" if isinstance(f, io.TextIOBase): @@ -37,70 +59,33 @@ def _is_streaming(f) -> bool: """ -@pytest.fixture -def temp_cloud_file(rig): - """Create a temporary cloud file for testing.""" - # Skip if streaming IO is not implemented for this provider - # HTTP/HTTPS support streaming reads and the test server supports writes - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") - - path = rig.create_cloud_path("test_streaming_io.txt") - path.write_text(TEXT_DATA) - # Set client to streaming mode - original_mode = path.client.file_cache_mode - path.client.file_cache_mode = FileCacheMode.streaming +def _streaming_file(streaming_rig, name, content): + """A cloud file with `content`, created in cached mode, then yielded in streaming mode.""" + client = streaming_rig.client_class._default_client + client.file_cache_mode = FileCacheMode.tmp_dir + path = streaming_rig.create_cloud_path(name) + if isinstance(content, bytes): + path.write_bytes(content) + else: + path.write_text(content, encoding="utf-8") + client.file_cache_mode = FileCacheMode.streaming yield path - # Restore original mode - path.client.file_cache_mode = original_mode - try: - path.unlink() - except Exception: - pass + path.unlink(missing_ok=True) @pytest.fixture -def temp_cloud_binary_file(rig): - """Create a temporary cloud binary file for testing.""" - # Skip if streaming IO is not implemented for this provider - # HTTP/HTTPS support streaming reads and the test server supports writes - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") - - path = rig.create_cloud_path("test_streaming_io.bin") - path.write_bytes(BINARY_DATA) - # Set client to streaming mode - original_mode = path.client.file_cache_mode - path.client.file_cache_mode = FileCacheMode.streaming - yield path - # Restore original mode - path.client.file_cache_mode = original_mode - try: - path.unlink() - except Exception: - pass +def temp_cloud_file(streaming_rig): + yield from _streaming_file(streaming_rig, "test_streaming_io.txt", TEXT_DATA) @pytest.fixture -def temp_cloud_multiline_file(rig): - """Create a temporary cloud file with multiple lines for testing.""" - # Skip if streaming IO is not implemented for this provider - # HTTP/HTTPS support streaming reads and the test server supports writes - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") - - path = rig.create_cloud_path("test_streaming_multiline.txt") - path.write_text(MULTILINE_TEXT, encoding="utf-8") - # Set client to streaming mode - original_mode = path.client.file_cache_mode - path.client.file_cache_mode = FileCacheMode.streaming - yield path - # Restore original mode - path.client.file_cache_mode = original_mode - try: - path.unlink() - except Exception: - pass +def temp_cloud_binary_file(streaming_rig): + yield from _streaming_file(streaming_rig, "test_streaming_io.bin", BINARY_DATA) + + +@pytest.fixture +def temp_cloud_multiline_file(streaming_rig): + yield from _streaming_file(streaming_rig, "test_streaming_multiline.txt", MULTILINE_TEXT) # ============================================================================ @@ -209,9 +194,7 @@ def test_buffered_io_context_manager(temp_cloud_binary_file): def test_write_binary_stream(rig): """Test writing binary data via streaming.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_write_binary.bin") @@ -245,9 +228,7 @@ def test_write_binary_stream(rig): def test_write_chunks(rig): """Test writing data in chunks.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_write_chunks.bin") @@ -276,9 +257,7 @@ def test_write_chunks(rig): def test_flush(rig): """Test explicit flush.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_flush.bin") @@ -406,9 +385,7 @@ def test_text_properties(temp_cloud_file): def test_write_text_stream(rig): """Test writing text data via streaming.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_write_text.txt") @@ -437,9 +414,7 @@ def test_write_text_stream(rig): def test_writelines(rig): """Test writelines method.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_writelines.txt") lines = ["Line 1\n", "Line 2\n", "Line 3\n"] @@ -496,9 +471,7 @@ def test_cloudpath_stream_read(temp_cloud_file): def test_cloudpath_stream_write(rig): """Test CloudPath.open with streaming mode for writing.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_stream_write.txt") @@ -535,9 +508,7 @@ def test_cloudpath_stream_binary(temp_cloud_binary_file): def test_cloudpath_stream_false_uses_cache(rig): """Test that non-streaming mode uses traditional caching.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_caching.txt") path.write_text(TEXT_DATA) @@ -560,9 +531,7 @@ def test_cloudpath_stream_false_uses_cache(rig): def test_cloudpath_default_no_streaming(rig): """Test that default behavior uses caching, not streaming.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_default.txt") path.write_text(TEXT_DATA) @@ -712,9 +681,7 @@ def test_empty_file_read(rig): def test_empty_file_write(rig): """Test writing an empty file.""" - # Skip if streaming IO is not implemented for this provider - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_empty_write.txt") @@ -923,7 +890,7 @@ def test_random_seeks(temp_cloud_binary_file): # ============================================================================ -# Additional coverage tests for error paths and edge cases +# Error paths and edge cases # ============================================================================ @@ -939,8 +906,7 @@ def test_readinto_on_closed_file(temp_cloud_binary_file): def test_read_on_write_only_file(rig): """Test reading from write-only file raises error.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_write_only.bin") @@ -994,8 +960,7 @@ def test_seek_on_closed_file(temp_cloud_binary_file): def test_write_empty_chunks(rig): """Test that empty write chunks are handled correctly.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_empty_chunks.bin") @@ -1068,11 +1033,8 @@ def record_abort(cloud_path, upload_id): def test_small_streaming_write_is_a_single_put(streaming_rig, monkeypatch): """Writes that fit in one part (the common case) are one PUT, not a three-request multipart upload; larger writes still go multipart.""" - from cloudpathlib.cloud_io import _CloudMultipartStorageRaw - rig = streaming_rig - if not issubclass(rig.raw_io_class, _CloudMultipartStorageRaw): - pytest.skip("provider does not use multipart streaming writes") + _skip_unless_multipart(rig) path = rig.create_cloud_path("single-put.bin") client = path.client @@ -1129,8 +1091,7 @@ def test_http_write_empty_file(rig): def test_seek_from_end_without_size(rig, monkeypatch): """Test SEEK_END when size cannot be determined.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://", "http://", "https://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_no_size.bin") path.write_bytes(b"test data") @@ -1183,8 +1144,7 @@ def test_readinto_at_eof_returns_zero(temp_cloud_binary_file): def test_fspath_raises_in_streaming_mode(rig): """Test that fspath raises an error in streaming mode.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_fspath.txt") path.write_text("test data") @@ -1217,15 +1177,14 @@ def test_fspath_raises_in_streaming_mode(rig): # ============================================================================ -# Step 8 regression tests — one test per bug from the plan +# Failure handling, exclusive create, and cache fallbacks # ============================================================================ # H1 — finalize-error propagates (no silent data loss) def test_finalize_error_propagates(rig): """A failed upload must raise out of the with-block; silent data loss is not allowed.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_finalize_error.bin") raw_io_class = path.client._streaming_raw_class @@ -1252,8 +1211,7 @@ def _finalize_upload(self) -> None: # H2 — exclusive create raises for 'xb' and 'xt' when object already exists def test_exclusive_create_xb_raises_when_exists(rig): """open('xb') must raise CloudPathFileExistsError when the object already exists.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) from cloudpathlib.exceptions import CloudPathFileExistsError @@ -1276,8 +1234,7 @@ def test_exclusive_create_xb_raises_when_exists(rig): def test_exclusive_create_xt_raises_when_exists(rig): """open('xt') must also raise CloudPathFileExistsError (mode='x' alone was not enough).""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) from cloudpathlib.exceptions import CloudPathFileExistsError @@ -1301,8 +1258,7 @@ def test_exclusive_create_xt_raises_when_exists(rig): # H2 — append/r+ fall back to cache (correct semantics over streaming) def test_append_mode_uses_cache_fallback(rig): """Append mode with streaming file_cache_mode must fall back to the cached path.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_append_fallback.bin") path.write_bytes(b"hello ") @@ -1338,8 +1294,7 @@ def test_append_mode_creates_missing_file(local_s3_rig): def test_rplus_mode_uses_cache_fallback(rig): """r+b mode with streaming file_cache_mode must fall back to the cached path.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) path = rig.create_cloud_path("test_rplus_fallback.bin") path.write_bytes(b"hello world") @@ -1451,8 +1406,7 @@ def spy_abort(cloud_path, upload_id): # H4 — concurrent writes to two paths on one client don't cross buffers def test_concurrent_writes_dont_cross_buffers(rig): """Two simultaneous streaming writers must not share upload state.""" - if rig.path_class.cloud_prefix not in ("s3://", "az://", "gs://"): - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") + _skip_if_no_streaming(rig) # a dedicated client: toggling the shared default client's mode from two threads # would race, which is not what this test is about @@ -1755,10 +1709,7 @@ def record_request(request): def test_provider_part_sizes_grow_for_large_streams(rig): """Part sizes start at the client's minimum and double each tier, so S3/GCS and Azure (different minimums and part-count limits) both stay under their limits.""" - from cloudpathlib.cloud_io import _CloudMultipartStorageRaw - - if not issubclass(rig.raw_io_class, _CloudMultipartStorageRaw): - pytest.skip("provider does not use multipart streaming writes") + _skip_unless_multipart(rig) path = rig.create_cloud_path("part-sizes.bin") raw = rig.raw_io_class(path.client, path, "wb") @@ -1889,27 +1840,9 @@ def _abort_upload(self): # ============================================================================ -# Regression tests — PR #535 review fixes +# Write contract, conflicts, copies, and request accounting # ============================================================================ -_STREAMING_PREFIXES = ("s3://", "az://", "gs://", "http://", "https://") - - -def _skip_if_no_streaming(rig): - if rig.path_class.cloud_prefix not in _STREAMING_PREFIXES: - pytest.skip(f"Streaming I/O not implemented for {rig.path_class.cloud_prefix}") - - -@pytest.fixture -def streaming_rig(rig): - """The rig with its default client switched to streaming mode for the test.""" - _skip_if_no_streaming(rig) - client = rig.client_class._default_client - original_mode = client.file_cache_mode - client.file_cache_mode = FileCacheMode.streaming - yield rig - client.file_cache_mode = original_mode - def test_write_tell_tracks_position(streaming_rig): """tell() on streaming write streams must report total bytes written, not just @@ -2243,7 +2176,7 @@ def test_negative_buffering_accepted(rig): f.write("cached") assert path.read_text() == "cached" - if rig.path_class.cloud_prefix in _STREAMING_PREFIXES: + if rig.raw_io_class is not None: original_mode = path.client.file_cache_mode path.client.file_cache_mode = FileCacheMode.streaming try: @@ -2657,11 +2590,8 @@ def test_streaming_max_concurrency_validation(local_s3_rig): def test_concurrent_multipart_write_correctness(streaming_rig): """A multi-part streaming write with concurrency > 1 produces identical content, even when an early part finishes after later ones.""" - from cloudpathlib.cloud_io import _CloudMultipartStorageRaw - rig = streaming_rig - if not issubclass(rig.raw_io_class, _CloudMultipartStorageRaw): - pytest.skip("provider does not use multipart streaming writes") + _skip_unless_multipart(rig) client = rig.client_class( file_cache_mode=FileCacheMode.streaming, From 4e7043581cd5c5405443844b769113ea36feefbe Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Wed, 30 Sep 2026 18:36:15 -0700 Subject: [PATCH 27/35] Drop the open('a') create-on-missing change from the streaming branch Opening a nonexistent cloud file for append raises CloudPathFileNotFoundError again, as on master; that behaviour change will be proposed separately. Also moves the streaming changelog entry, which the rebase had left in the v0.25.0 section, under UNRELEASED. Co-Authored-By: Claude Fable 5.1 --- HISTORY.md | 3 +-- cloudpathlib/cloudpath.py | 4 ++-- tests/test_cloud_io.py | 11 ----------- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 10516f95..f21beadb 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,6 +2,7 @@ ## UNRELEASED +- Added streaming I/O via `FileCacheMode.streaming` for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS. In this mode `CloudPath.open()` returns the standard `io` file objects (`BufferedReader`/`BufferedWriter`/`TextIOWrapper`) backed by ranged reads and multipart uploads instead of the local cache, so only the bytes you read are downloaded and written data is uploaded as you write it. Read streams are seekable; append and update modes fall back to the cache and remove the cache file on close. `buffering` has its builtin `open()` meaning and sets the ranged-request size (default 5 MiB). A new `streaming_max_concurrency` client option (default 4) bounds background read-ahead and part uploads per stream. `copy`/`rename`/`replace` stream between clients, `fspath` raises `CloudPathNotImplementedError`, and failures raise `cloudpathlib.exceptions` types including the new `CloudPathStreamingError`. See the [Streaming I/O](https://cloudpathlib.drivendata.org/stable/streaming_io/) docs. (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) ## v0.26.0 (2026-10-01) - Added support for Python 3.15: `CloudPath.mkdir(parent_mode=...)` works across providers, and cloud paths can be pickled repeatedly without a `ParseResult` error. (Issue [#593](https://github.com/drivendataorg/cloudpathlib/issues/593), PR [#594](https://github.com/drivendataorg/cloudpathlib/pull/594)) @@ -33,8 +34,6 @@ - Added `AGENTS.md` with repository-specific guidance for coding agents covering contributor workflow, compatibility expectations, test rig and mock usage, live backend validation, and PR hygiene. (PR [#573](https://github.com/drivendataorg/cloudpathlib/pull/573)) -- Added streaming I/O via `FileCacheMode.streaming` for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS. In this mode `CloudPath.open()` returns the standard `io` file objects (`BufferedReader`/`BufferedWriter`/`TextIOWrapper`) backed by ranged reads and multipart uploads instead of the local cache, so only the bytes you read are downloaded and written data is uploaded as you write it. Read streams are seekable; append and update modes fall back to the cache and remove the cache file on close. `buffering` has its builtin `open()` meaning and sets the ranged-request size (default 5 MiB). A new `streaming_max_concurrency` client option (default 4) bounds background read-ahead and part uploads per stream. `copy`/`rename`/`replace` stream between clients, `fspath` raises `CloudPathNotImplementedError`, and failures raise `cloudpathlib.exceptions` types including the new `CloudPathStreamingError`. See the [Streaming I/O](https://cloudpathlib.drivendata.org/stable/streaming_io/) docs. (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) -- Changed `CloudPath.open(mode="a")` on a nonexistent cloud file to create it (matching the stdlib `open` and `pathlib`) instead of raising `CloudPathFileNotFoundError`. **Breaking change for users that relied on the previous error.** (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) ## v0.24.0 (2026-04-29) diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index cc73017e..2176b45f 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -848,9 +848,9 @@ def open( f"Cannot open directory, only files. Tried to open ({self})" ) - if not exists_on_cloud and "r" in mode: + if not exists_on_cloud and any(m in mode for m in ("r", "a")): raise CloudPathFileNotFoundError( - f"File opened for read, but it does not exist on cloud: {self}" + f"File opened for read or append, but it does not exist on cloud: {self}" ) if "x" in mode and exists_on_cloud: diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index e0df2dd5..c858da25 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1281,17 +1281,6 @@ def test_append_mode_uses_cache_fallback(rig): pass -def test_append_mode_creates_missing_file(local_s3_rig): - path = local_s3_rig.create_cloud_path("new-append.txt") - path.client.file_cache_mode = FileCacheMode.streaming - - with path.open("a") as stream: - stream.write("created") - - path.client.file_cache_mode = FileCacheMode.cloudpath_object - assert path.read_text() == "created" - - def test_rplus_mode_uses_cache_fallback(rig): """r+b mode with streaming file_cache_mode must fall back to the cached path.""" _skip_if_no_streaming(rig) From 4f9aacc1fe28ae12d5a49de780874f3e2ffeaf6e Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 3 Oct 2026 10:07:10 -0700 Subject: [PATCH 28/35] Address review comments on streaming I/O - New cloudpathlib/env.py gathers environment-variable handling; the streaming buffer size, per-stream concurrency, and multipart part size (generic or per provider) are now configurable there, with the defaults explained. The copy chunk size reuses the buffer size instead of being a separate knob. - Opening a file for append/update in streaming mode warns that it falls back to the whole-file cache. - Azure: block IDs are no longer base64-encoded twice (the SDK encodes them), the base64 import is gone, and the abort no-op cites why. - Content-type guessing lives once in Client._guess_content_type; providers only adapt it to their SDK's argument shape. - Past-EOF range handling is commented, the GCS multipart error says which version to install, the pre-finalize hook documents its all-or-nothing purpose, and cloud_io drops its __future__ import. Co-Authored-By: Claude Fable 5.1 --- HISTORY.md | 3 +- cloudpathlib/azure/azblobclient.py | 52 +++++++------ cloudpathlib/client.py | 37 +++++++-- cloudpathlib/cloud_io.py | 46 +++++------ cloudpathlib/cloudpath.py | 119 ++++++++++++++--------------- cloudpathlib/env.py | 73 ++++++++++++++++++ cloudpathlib/gs/gsclient.py | 19 ++--- cloudpathlib/http/httpclient.py | 19 +++-- cloudpathlib/local/localclient.py | 2 +- cloudpathlib/s3/s3client.py | 27 ++++--- docs/docs/streaming_io.md | 28 ++++++- tests/test_caching.py | 4 +- tests/test_cloud_io.py | 83 ++++++++++++++++++-- 13 files changed, 360 insertions(+), 152 deletions(-) create mode 100644 cloudpathlib/env.py diff --git a/HISTORY.md b/HISTORY.md index f21beadb..47bbc15f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,7 +2,8 @@ ## UNRELEASED -- Added streaming I/O via `FileCacheMode.streaming` for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS. In this mode `CloudPath.open()` returns the standard `io` file objects (`BufferedReader`/`BufferedWriter`/`TextIOWrapper`) backed by ranged reads and multipart uploads instead of the local cache, so only the bytes you read are downloaded and written data is uploaded as you write it. Read streams are seekable; append and update modes fall back to the cache and remove the cache file on close. `buffering` has its builtin `open()` meaning and sets the ranged-request size (default 5 MiB). A new `streaming_max_concurrency` client option (default 4) bounds background read-ahead and part uploads per stream. `copy`/`rename`/`replace` stream between clients, `fspath` raises `CloudPathNotImplementedError`, and failures raise `cloudpathlib.exceptions` types including the new `CloudPathStreamingError`. See the [Streaming I/O](https://cloudpathlib.drivendata.org/stable/streaming_io/) docs. (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) +- Added streaming I/O via `FileCacheMode.streaming` for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS. In this mode `CloudPath.open()` returns the standard `io` file objects (`BufferedReader`/`BufferedWriter`/`TextIOWrapper`) backed by ranged reads and multipart uploads instead of the local cache, so only the bytes you read are downloaded and written data is uploaded as you write it. Read streams are seekable; append and update modes fall back to the cache and remove the cache file on close. `buffering` has its builtin `open()` meaning and sets the ranged-request size (default 5 MiB). A new `streaming_max_concurrency` client option (default 4) bounds background read-ahead and part uploads per stream; the buffer size, concurrency, and multipart part size can also be set with the `CLOUDPATHLIB_STREAMING_BUFFER_SIZE`, `CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY`, and `CLOUDPATHLIB_[_]STREAMING_PART_SIZE` environment variables. Opening a file for append or update in streaming mode warns that it falls back to the cache. `copy`/`rename`/`replace` stream between clients, `fspath` raises `CloudPathNotImplementedError`, and failures raise `cloudpathlib.exceptions` types including the new `CloudPathStreamingError`. See the [Streaming I/O](https://cloudpathlib.drivendata.org/stable/streaming_io/) docs. (PR [#535](https://github.com/drivendataorg/cloudpathlib/pull/535)) + ## v0.26.0 (2026-10-01) - Added support for Python 3.15: `CloudPath.mkdir(parent_mode=...)` works across providers, and cloud paths can be pickled repeatedly without a `ParseResult` error. (Issue [#593](https://github.com/drivendataorg/cloudpathlib/issues/593), PR [#594](https://github.com/drivendataorg/cloudpathlib/pull/594)) diff --git a/cloudpathlib/azure/azblobclient.py b/cloudpathlib/azure/azblobclient.py index 4c4b9bc0..4f4b577b 100644 --- a/cloudpathlib/azure/azblobclient.py +++ b/cloudpathlib/azure/azblobclient.py @@ -19,6 +19,7 @@ from uuid import uuid4 from ..client import Client, _UploadPart, register_client_class +from ..env import MiB from ..cloud_io import _CloudMultipartStorageRaw from ..cloudpath import implementation_registry from ..enums import FileCacheMode @@ -60,9 +61,10 @@ class AzureBlobClient(Client): """ _streaming_raw_class = _CloudMultipartStorageRaw - # Azure block blobs: 4 MiB default blocks, 4000 MiB maximum, 50,000 committed blocks - _multipart_min_part_size = 4 * 1024 * 1024 - _multipart_max_part_size = 4_000 * 1024 * 1024 + # Azure block blobs: 4 MiB default block (the SDK's default), 4000 MiB largest block, + # 50,000 committed blocks per blob + _multipart_min_part_size = 4 * MiB + _multipart_max_part_size = 4_000 * MiB _multipart_max_parts = 50_000 def __init__( @@ -76,7 +78,7 @@ def __init__( local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, *, - streaming_max_concurrency: int = 4, + streaming_max_concurrency: Optional[int] = None, ): """Class constructor. Sets up a [`BlobServiceClient`]( https://docs.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.blobserviceclient?view=azure-python). @@ -124,10 +126,11 @@ def __init__( the `CLOUDPATHLIB_LOCAL_CACHE_DIR` environment variable. content_type_method (Optional[Callable]): Function to call to guess media type (mimetype) when writing a file to the cloud. Defaults to `mimetypes.guess_type`. Must return a tuple (content type, content encoding). - streaming_max_concurrency (int): Maximum concurrent requests per open streaming - file (background part uploads while writing, read-ahead of the next byte - ranges during sequential reads) when using `FileCacheMode.streaming`. - Defaults to 4; 1 makes each stream fully sequential. + streaming_max_concurrency (Optional[int]): Maximum concurrent requests per open + streaming file (background part uploads while writing, read-ahead of the next + byte ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to the `CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY` environment variable + or 4; 1 makes each stream fully sequential. """ super().__init__( local_cache_dir=local_cache_dir, @@ -490,10 +493,9 @@ def _upload_file( return cloud_path def _content_settings(self, cloud_path: AzureBlobPath) -> Optional["ContentSettings"]: - """Content type/encoding guessed from the object name, for uploads.""" - if self.content_type_method is None: - return None - content_type, content_encoding = self.content_type_method(str(cloud_path)) + """The guessed content type/encoding (see `Client._guess_content_type`) in the form the + Azure SDK takes.""" + content_type, content_encoding = self._guess_content_type(cloud_path) if content_type is None and content_encoding is None: return None return ContentSettings(content_type=content_type, content_encoding=content_encoding) @@ -532,6 +534,8 @@ def _range_download( except ResourceNotFoundError as e: raise CloudPathFileNotFoundError(f"Azure blob not found: {cloud_path}") from e except HttpResponseError as e: + # a range starting past the end of the blob is how a reader that does not know + # the size learns it is at EOF: file objects report that as an empty read if (e.error and e.error.code == "InvalidRange") or e.status_code == 416: return b"" raise @@ -539,9 +543,10 @@ def _range_download( def _initiate_multipart_upload(self, cloud_path: AzureBlobPath) -> str: """Return a unique session ID that namespaces this upload's block IDs. - Azure's uncommitted-block namespace is per-blob, so deterministic block IDs - would let concurrent writers to the same blob overwrite each other's staged - blocks and commit interleaved data. + Azure has no "begin upload" call; uncommitted blocks live in one per-blob namespace + keyed by block ID. A random session ID (rather than IDs derived from the content or + part number alone) keeps two writers streaming to the same blob at the same time + from overwriting each other's staged blocks and committing interleaved data. """ return uuid4().hex @@ -549,14 +554,12 @@ def _upload_part( self, cloud_path: AzureBlobPath, upload_id: str, part_number: int, data: bytes ) -> _UploadPart: """Upload a block in an Azure block blob upload.""" - import base64 - blob_client = self.service_client.get_blob_client( container=cloud_path.container, blob=cloud_path.blob ) - # Azure requires all block IDs for a blob to be the same length; uuid4().hex (32) - # plus a fixed-width part number keeps them uniform. - block_id = base64.b64encode(f"{upload_id}-{part_number:06d}".encode()).decode() + # Azure requires all block IDs of a blob to have the same length; uuid4().hex (32) + # plus a fixed-width part number keeps them uniform. The SDK base64-encodes the ID. + block_id = f"{upload_id}-{part_number:06d}" blob_client.stage_block(block_id=block_id, data=data, length=len(data)) return {"block_id": block_id} @@ -573,8 +576,13 @@ def _complete_multipart_upload( ) def _abort_multipart_upload(self, cloud_path: AzureBlobPath, upload_id: str) -> None: - """Let Azure expire uncommitted blocks.""" - pass + """Nothing to do: Azure has no call to discard uncommitted blocks. + + The service garbage-collects blocks that are not committed within a week (see the + Put Block documentation, https://learn.microsoft.com/rest/api/storageservices/put-block). + The only way to drop them sooner is to commit a block list without them, which would + create or rewrite the blob, so it is not done here. + """ def _put_object(self, cloud_path: AzureBlobPath, data: BinaryIO) -> None: """Upload a whole blob in one request, threading content-type.""" diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index 4356ea62..6f10363e 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -20,6 +20,7 @@ Union, ) +from . import env from .cloud_io import _CloudStorageRaw from .cloudpath import CloudImplementation, CloudPath, implementation_registry from .enums import FileCacheMode @@ -51,10 +52,13 @@ class Client(abc.ABC, Generic[BoundedCloudPath]): # Streaming I/O (`FileCacheMode.streaming`): the raw stream class `CloudPath.open` wraps, # or None when the provider has no streaming support. Multipart providers use - # `_CloudMultipartStorageRaw` and the part limits below (S3's by default). + # `_CloudMultipartStorageRaw` and the provider's hard limits below (S3's by default). + # The part size actually used starts at the minimum (overridable per client with + # `CLOUDPATHLIB__STREAMING_PART_SIZE`, see `env.py`) and grows for very large + # streams so the part-count limit is never reached. _streaming_raw_class: ClassVar[Optional[Type[_CloudStorageRaw]]] = None - _multipart_min_part_size: ClassVar[int] = 5 * 1024 * 1024 - _multipart_max_part_size: ClassVar[int] = 5 * 1024 * 1024 * 1024 + _multipart_min_part_size: ClassVar[int] = 5 * env.MiB # smallest non-final part (5 MiB) + _multipart_max_part_size: ClassVar[int] = 5 * 1024 * env.MiB # largest part (5 GiB) _multipart_max_parts: ClassVar[int] = 10_000 def __init__( @@ -63,17 +67,23 @@ def __init__( local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, *, - streaming_max_concurrency: int = 4, + streaming_max_concurrency: Optional[int] = None, ) -> None: self.file_cache_mode = None self._cache_tmp_dir = None self._cloud_meta.validate_completeness() - if streaming_max_concurrency < 1: - raise ValueError("streaming_max_concurrency must be at least 1") # concurrent requests per open streaming file (part uploads / read-ahead); # 1 means fully sequential I/O + if streaming_max_concurrency is None: + streaming_max_concurrency = env.streaming_max_concurrency() + if streaming_max_concurrency < 1: + raise ValueError("streaming_max_concurrency must be at least 1") self.streaming_max_concurrency = streaming_max_concurrency + # multipart part size for streaming writes: the provider minimum unless overridden + self._multipart_part_size = env.streaming_part_size( + getattr(self._cloud_meta, "name", None), self._multipart_min_part_size + ) # convert strings passed to enum if isinstance(file_cache_mode, str): @@ -214,6 +224,15 @@ def _upload_file( ) -> BoundedCloudPath: pass + def _guess_content_type( + self, cloud_path: BoundedCloudPath + ) -> Tuple[Optional[str], Optional[str]]: + """`(content_type, content_encoding)` for an upload, from `content_type_method` applied + to the object name; `(None, None)` when guessing is disabled.""" + if self.content_type_method is None: + return None, None + return self.content_type_method(str(cloud_path)) + @abc.abstractmethod def _get_public_url(self, cloud_path: BoundedCloudPath) -> str: pass @@ -235,7 +254,11 @@ def _range_download( ) def _get_content_length(self, cloud_path: BoundedCloudPath) -> Optional[int]: - """Object size without downloading it, or None when the provider cannot say.""" + """Object size without downloading it, or None when the provider cannot say. + + `stat()` is one metadata request on every provider (HEAD-equivalent through + `_get_metadata`), so this is as cheap as a dedicated size call would be. + """ try: return cloud_path.stat().st_size except NoStatError as e: diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 8d6ea618..369f16d0 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -1,7 +1,5 @@ """Buffered cloud I/O without a local cache.""" -from __future__ import annotations - import io import tempfile from abc import abstractmethod @@ -16,18 +14,13 @@ _ReadableBuffer = Union[bytes, bytearray, memoryview] _WriteableBuffer = Union[bytearray, memoryview] +from .env import streaming_buffer_size from .exceptions import CloudPathStreamingError if TYPE_CHECKING: from .client import Client from .cloudpath import CloudPath -# Bytes fetched/buffered per request for buffered streaming I/O. Sized to match the -# multi-MiB block sizes used by comparable tools (fsspec/s3fs/gcsfs) so per-request -# latency does not dominate sequential throughput; reads never fetch past EOF, so -# small objects only pay for their actual size. -DEFAULT_BUFFER_SIZE = 5 * 1024 * 1024 - def _validate_file_mode(mode: str) -> None: """Validate an ``open`` mode using the same grammar as the stdlib.""" @@ -48,8 +41,8 @@ class _CloudStorageRaw(io.RawIOBase): def __init__( self, - client: Client, - cloud_path: CloudPath, + client: "Client", + cloud_path: "CloudPath", mode: str = "rb", pre_finalize: Optional[Callable[[], None]] = None, ) -> None: @@ -63,10 +56,13 @@ def __init__( self._size_error: Optional[Exception] = None self._closed = False self._upload_error: Optional[BaseException] = None - # Optional conflict check run just before a write is finalized (set by CloudPath.open) + # Optional check run after the last part is uploaded but before the upload is + # completed (CloudPath.open passes its overwrite/exclusive-create conflict check). + # If it raises, the upload is aborted and the existing object is left untouched, so + # a streamed write is all-or-nothing from the object's point of view. self._pre_finalize = pre_finalize # concurrent requests for this stream (read prefetch / background part uploads) - self._max_concurrency = max(1, int(getattr(client, "streaming_max_concurrency", 1))) + self._max_concurrency = client.streaming_max_concurrency self._executor: Optional[ThreadPoolExecutor] = None self._prefetch: Dict[int, Future] = {} # end of the previous foreground read; read-ahead starts once a read continues it @@ -185,7 +181,7 @@ def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: return self._pos def tell(self) -> int: - """Return current stream position.""" + # IOBase.tell is seek(0, SEEK_CUR), which write streams (not seekable) reject if self._closed: raise ValueError("I/O operation on closed file") return self._pos @@ -356,13 +352,13 @@ class _CloudMultipartStorageRaw(_CloudStorageRaw): def __init__( self, - client: Client, - cloud_path: CloudPath, + client: "Client", + cloud_path: "CloudPath", mode: str = "rb", pre_finalize: Optional[Callable[[], None]] = None, ) -> None: super().__init__(client, cloud_path, mode, pre_finalize) - self._min_part_size = client._multipart_min_part_size + self._min_part_size = client._multipart_part_size self._max_part_size = client._multipart_max_part_size self._max_parts = client._multipart_max_parts self._upload_id: Optional[str] = None @@ -479,8 +475,8 @@ class _CloudSpooledStorageRaw(_CloudStorageRaw): def __init__( self, - client: Client, - cloud_path: CloudPath, + client: "Client", + cloud_path: "CloudPath", mode: str = "rb", pre_finalize: Optional[Callable[[], None]] = None, ) -> None: @@ -489,7 +485,7 @@ def __init__( def _upload_chunk(self, data: _ReadableBuffer) -> None: if self._spool is None: - self._spool = tempfile.SpooledTemporaryFile(max_size=DEFAULT_BUFFER_SIZE) + self._spool = tempfile.SpooledTemporaryFile(max_size=streaming_buffer_size()) self._spool.write(data) def _finalize_upload(self) -> None: @@ -508,8 +504,8 @@ def _abort_upload(self) -> None: def open_stream( raw_io_class: Type[_CloudStorageRaw], - client: Client, - cloud_path: CloudPath, + client: "Client", + cloud_path: "CloudPath", mode: str, buffering: int = -1, encoding: Optional[str] = None, @@ -521,9 +517,9 @@ def open_stream( Returns the raw stream for `buffering=0`, an `io.BufferedReader`/`io.BufferedWriter` for binary modes, and an `io.TextIOWrapper` for text modes. `buffering` has the same - meaning as for `open`: `-1` for the default buffer size, `1` for line buffering in - text mode, otherwise the buffer size in bytes (which is also the size of each ranged - request for reads). + meaning as for `open`: `-1` for the default buffer size (`CLOUDPATHLIB_STREAMING_BUFFER_SIZE`, + 5 MiB), `1` for line buffering in text mode, otherwise the buffer size in bytes (which is + also the size of each ranged request for reads). """ _validate_file_mode(mode) binary = "b" in mode @@ -550,7 +546,7 @@ def open_stream( line_buffering = buffering == 1 buffered: Union[io.BufferedReader, io.BufferedWriter] if "r" in mode: - buffer_size = DEFAULT_BUFFER_SIZE if buffering < 2 else buffering + buffer_size = streaming_buffer_size() if buffering < 2 else buffering buffered = io.BufferedReader(raw, buffer_size) else: # the raw stream accumulates whole upload parts itself, so a large wrapper buffer diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 2176b45f..3a146de5 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -78,7 +78,7 @@ def _make_selector(pattern_parts, _flavour, case_sensitive=True): # noqa: F811 from cloudpathlib.enums import FileCacheMode -from . import anypath +from . import anypath, env from .exceptions import ( ClientMismatchError, CloudPathFileExistsError, @@ -134,19 +134,14 @@ def _ensure_local_path_within_base( return candidate -def _env_flag(name: str) -> bool: - """Boolean from an environment variable (`1`/`true`, case-insensitive).""" - return os.environ.get(name, "False").lower() in ["1", "true"] - - def _force_overwrite_to_cloud(flag: Optional[bool]) -> bool: """Resolve `force_overwrite_to_cloud`, falling back to the environment variable.""" - return _env_flag("CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD") if flag is None else flag + return env.env_flag("CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD") if flag is None else flag def _force_overwrite_from_cloud(flag: Optional[bool]) -> bool: """Resolve `force_overwrite_from_cloud`, falling back to the environment variable.""" - return _env_flag("CLOUDPATHLIB_FORCE_OVERWRITE_FROM_CLOUD") if flag is None else flag + return env.env_flag("CLOUDPATHLIB_FORCE_OVERWRITE_FROM_CLOUD") if flag is None else flag class CloudImplementation: @@ -181,10 +176,6 @@ def path_class(self) -> Type["CloudPath"]: implementation_registry: Dict[str, CloudImplementation] = defaultdict(CloudImplementation) -# chunk size for stream-to-stream copies in streaming mode; shutil's 64 KiB default would -# split every multi-MiB buffered read into dozens of Python-level iterations -_STREAM_COPY_CHUNK_SIZE = 5 * 1024 * 1024 - T = TypeVar("T") CloudPathT = TypeVar("CloudPathT", bound="CloudPath") @@ -856,20 +847,26 @@ def open( if "x" in mode and exists_on_cloud: raise CloudPathFileExistsError(f"Cannot open existing file ({self}) for creation.") - # Append (a) and update (+) modes cannot be done as pure streaming over object - # storage; they fall through to the cached path for correct semantics. - if self.client.file_cache_mode == FileCacheMode.streaming and not any( - m in mode for m in ("a", "+") - ): - return self._open_streaming( - mode, - buffering, - encoding, - errors, - newline, - exists_on_cloud=exists_on_cloud, - force_overwrite_to_cloud=force_overwrite_to_cloud, - ) + if self.client.file_cache_mode == FileCacheMode.streaming: + # Append (a) and update (+) modes cannot be done as pure streaming over object + # storage; they fall through to the cached path for correct semantics. + if any(m in mode for m in ("a", "+")): + warn( + f"Opening {self} with mode {mode!r} in streaming mode downloads the whole " + f"object to the local cache, modifies it there, and re-uploads it on close " + f"(object stores cannot append to or update an object in place).", + stacklevel=2, + ) + else: + return self._open_streaming( + mode, + buffering, + encoding, + errors, + newline, + exists_on_cloud=exists_on_cloud, + force_overwrite_to_cloud=force_overwrite_to_cloud, + ) # Standard cached mode self._refresh_cache(force_overwrite_from_cloud=force_overwrite_from_cloud) @@ -980,39 +977,6 @@ def _open_streaming( pre_finalize=pre_finalize, ) - def _streaming_overwrite_check( - self, mode: str, exists_on_cloud: bool, force_overwrite_to_cloud: Optional[bool] - ) -> Optional[Callable[[], None]]: - """Build the pre-upload conflict check for a streaming write, mirroring the cached - path's `OverwriteNewerCloudError` protection in `_upload_file_to_cloud`. Returns None - when overwriting is forced. Exclusive creation (`x`) always checks, since a file that - appeared while the stream was open must raise `CloudPathFileExistsError`.""" - exclusive = "x" in mode - if not exclusive and _force_overwrite_to_cloud(force_overwrite_to_cloud): - return None - - original_mtime = self.stat().st_mtime if exists_on_cloud else None - - def check() -> None: - try: - stats = self.stat() - except (NoStatError, CloudPathFileNotFoundError, FileNotFoundError): - # nothing on the cloud to conflict with - return - if exclusive: - raise CloudPathFileExistsError( - f"Cannot create file ({self}): it was created while the stream was open." - ) - if original_mtime is None or stats.st_mtime > original_mtime: - raise OverwriteNewerCloudError( - f"Cloud path ({self}) changed while it was open for streaming write, " - f"but is being requested to be overwritten on close. Either (1) pass " - f"`force_overwrite_to_cloud=True` to overwrite; or (2) set env var " - f"CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD=1." - ) - - return check - def _raise_if_copy_target_newer( self, target: "CloudPath", force_overwrite_to_cloud: Optional[bool] ) -> None: @@ -1428,7 +1392,9 @@ def _copy( with self.open("rb") as src_file: with target_path.open("wb", force_overwrite_to_cloud=True) as dst_file: - shutil.copyfileobj(src_file, dst_file, _STREAM_COPY_CHUNK_SIZE) + # the streaming buffer size rather than shutil's 64 KiB default, so + # each buffered read is forwarded in one iteration + shutil.copyfileobj(src_file, dst_file, env.streaming_buffer_size()) return cast(Union[Path, Self], target_path) @@ -1836,6 +1802,39 @@ def _upload_file_to_cloud( f"overwrite; or set env var CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD=1." ) + def _streaming_overwrite_check( + self, mode: str, exists_on_cloud: bool, force_overwrite_to_cloud: Optional[bool] + ) -> Optional[Callable[[], None]]: + """Build the pre-upload conflict check for a streaming write, mirroring the cached + path's `OverwriteNewerCloudError` protection in `_upload_file_to_cloud`. Returns None + when overwriting is forced. Exclusive creation (`x`) always checks, since a file that + appeared while the stream was open must raise `CloudPathFileExistsError`.""" + exclusive = "x" in mode + if not exclusive and _force_overwrite_to_cloud(force_overwrite_to_cloud): + return None + + original_mtime = self.stat().st_mtime if exists_on_cloud else None + + def check() -> None: + try: + stats = self.stat() + except (NoStatError, CloudPathFileNotFoundError, FileNotFoundError): + # nothing on the cloud to conflict with + return + if exclusive: + raise CloudPathFileExistsError( + f"Cannot create file ({self}): it was created while the stream was open." + ) + if original_mtime is None or stats.st_mtime > original_mtime: + raise OverwriteNewerCloudError( + f"Cloud path ({self}) changed while it was open for streaming write, " + f"but is being requested to be overwritten on close. Either (1) pass " + f"`force_overwrite_to_cloud=True` to overwrite; or (2) set env var " + f"CLOUDPATHLIB_FORCE_OVERWRITE_TO_CLOUD=1." + ) + + return check + # =========== pydantic integration special methods =============== @classmethod def __get_pydantic_core_schema__(cls, _source_type: Any, _handler): diff --git a/cloudpathlib/env.py b/cloudpathlib/env.py new file mode 100644 index 00000000..3e1817c5 --- /dev/null +++ b/cloudpathlib/env.py @@ -0,0 +1,73 @@ +"""Environment-variable configuration shared across the library. + +Every knob here has a keyword argument or constant that takes precedence when given; the +environment variable only supplies the default. Values are read when they are needed (client +construction, opening a stream), not at import time. +""" + +import os +from typing import Optional + +from .exceptions import InvalidConfigurationException + +MiB = 1024 * 1024 + +# Bytes fetched per ranged request when reading a stream, held before a part is uploaded +# when the provider has no multipart API, and moved per iteration in stream-to-stream copies. +# 5 MiB matches the multi-MiB block sizes of comparable tools (fsspec/s3fs/gcsfs) so request +# latency does not dominate sequential throughput; reads never fetch past the end of the +# object, so small objects only pay for their actual size. +DEFAULT_STREAMING_BUFFER_SIZE = 5 * MiB + +# Requests one open stream may have in flight (background part uploads while writing, +# read-ahead of the next buffers while reading sequentially). 4 keeps per-stream memory to +# about 4 buffers (20 MiB at the default size) while hiding most per-request latency; for +# comparison boto3's TransferConfig uses 10 threads per transfer. 1 is fully sequential. +DEFAULT_STREAMING_MAX_CONCURRENCY = 4 + + +def env_flag(name: str) -> bool: + """Boolean from an environment variable (`1`/`true`, case-insensitive; unset is False).""" + return os.environ.get(name, "False").lower() in ["1", "true"] + + +def env_int(name: str, default: int, minimum: int = 1) -> int: + """Positive integer from an environment variable, or `default` when unset or empty.""" + raw = os.environ.get(name, "") + if not raw: + return default + try: + value = int(raw) + except ValueError: + raise InvalidConfigurationException( + f"Environment variable {name}={raw!r} must be an integer." + ) from None + if value < minimum: + raise InvalidConfigurationException( + f"Environment variable {name}={raw!r} must be at least {minimum}." + ) + return value + + +def streaming_buffer_size() -> int: + """`CLOUDPATHLIB_STREAMING_BUFFER_SIZE` in bytes, default 5 MiB.""" + return env_int("CLOUDPATHLIB_STREAMING_BUFFER_SIZE", DEFAULT_STREAMING_BUFFER_SIZE) + + +def streaming_max_concurrency() -> int: + """`CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY`, default 4.""" + return env_int("CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY", DEFAULT_STREAMING_MAX_CONCURRENCY) + + +def streaming_part_size(provider: Optional[str], minimum: int) -> int: + """Multipart upload part size in bytes for `provider` (e.g. `s3`, `azure`, `gs`). + + `CLOUDPATHLIB__STREAMING_PART_SIZE` wins over `CLOUDPATHLIB_STREAMING_PART_SIZE`; + both default to, and may not go below, the provider's `minimum` non-final part size. + """ + generic = env_int("CLOUDPATHLIB_STREAMING_PART_SIZE", minimum, minimum=minimum) + if provider is None: + return generic + return env_int( + f"CLOUDPATHLIB_{provider.upper()}_STREAMING_PART_SIZE", generic, minimum=minimum + ) diff --git a/cloudpathlib/gs/gsclient.py b/cloudpathlib/gs/gsclient.py index 70226afa..8f967edb 100644 --- a/cloudpathlib/gs/gsclient.py +++ b/cloudpathlib/gs/gsclient.py @@ -111,7 +111,7 @@ def __init__( timeout: Optional[float] = None, retry: Optional["Retry"] = None, *, - streaming_max_concurrency: int = 4, + streaming_max_concurrency: Optional[int] = None, ): """Class constructor. Sets up a [`Storage Client`](https://googleapis.dev/python/storage/latest/client.html). @@ -150,10 +150,11 @@ def __init__( for sliced parallel downloads; Only available in `google-cloud-storage` version 2.7.0 or later, otherwise ignored and a warning is emitted. timeout (Optional[float]): Cloud Storage [timeout value](https://cloud.google.com/python/docs/reference/storage/1.39.0/retry_timeout) retry (Optional[google.api_core.retry.Retry]): Cloud Storage [retry configuration](https://cloud.google.com/python/docs/reference/storage/1.39.0/retry_timeout#configuring-retries) - streaming_max_concurrency (int): Maximum concurrent requests per open streaming - file (background part uploads while writing, read-ahead of the next byte - ranges during sequential reads) when using `FileCacheMode.streaming`. - Defaults to 4; 1 makes each stream fully sequential. + streaming_max_concurrency (Optional[int]): Maximum concurrent requests per open + streaming file (background part uploads while writing, read-ahead of the next + byte ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to the `CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY` environment variable + or 4; 1 makes each stream fully sequential. """ # don't check `GOOGLE_APPLICATION_CREDENTIALS` since `google_default_auth` already does that # use explicit client @@ -368,9 +369,7 @@ def _content_type(self, cloud_path: GSPath) -> Optional[str]: The guessed encoding is deliberately not sent: GCS applies decompressive transcoding to objects with `Content-Encoding: gzip`, so a `.gz` object would no longer round-trip. """ - if self.content_type_method is None: - return None - content_type, _ = self.content_type_method(str(cloud_path)) + content_type, _ = self._guess_content_type(cloud_path) return content_type def _get_public_url(self, cloud_path: GSPath) -> str: @@ -412,7 +411,9 @@ def _initiate_multipart_upload(self, cloud_path: GSPath) -> str: """Start a GCS XML multipart upload, threading the content type.""" if XMLMPUContainer is None: raise CloudPathNotImplementedError( - "Streaming writes require google-cloud-storage with XML multipart support." + "Streaming writes to GCS need the XML multipart upload classes shipped with " + "google-cloud-storage 2.10 or newer; upgrade with " + "`pip install --upgrade 'cloudpathlib[gs]'`." ) container = XMLMPUContainer(self._mpu_url(cloud_path), cloud_path.blob) container.initiate( diff --git a/cloudpathlib/http/httpclient.py b/cloudpathlib/http/httpclient.py index 4dc1e074..5d25ee75 100644 --- a/cloudpathlib/http/httpclient.py +++ b/cloudpathlib/http/httpclient.py @@ -14,7 +14,7 @@ from cloudpathlib.client import Client, register_client_class from cloudpathlib.cloud_io import _CloudSpooledStorageRaw -from cloudpathlib.cloudpath import _STREAM_COPY_CHUNK_SIZE +from cloudpathlib.env import streaming_buffer_size from cloudpathlib.enums import FileCacheMode from cloudpathlib.exceptions import ( CloudPathFileNotFoundError, @@ -39,7 +39,7 @@ def __init__( custom_dir_matcher: Optional[Callable[[str], bool]] = None, write_file_http_method: Optional[str] = "PUT", *, - streaming_max_concurrency: int = 4, + streaming_max_concurrency: Optional[int] = None, ): """Class constructor. Creates an HTTP client that can be used to interact with HTTP servers using the cloudpathlib library. @@ -57,10 +57,11 @@ def __init__( custom_list_page_parser (Optional[Callable[[str], Iterable[str]]]): Function to call to parse pages that list directories. Defaults to looking for `
` tags with `href`. custom_dir_matcher (Optional[Callable[[str], bool]]): Function to call to identify a url that is a directory. Defaults to a lambda that checks if the path ends with a `/`. write_file_http_method (Optional[str]): HTTP method to use when writing files. Defaults to "PUT", but some servers may want "POST". - streaming_max_concurrency (int): Maximum concurrent requests per open streaming - file (background part uploads while writing, read-ahead of the next byte - ranges during sequential reads) when using `FileCacheMode.streaming`. - Defaults to 4; 1 makes each stream fully sequential. + streaming_max_concurrency (Optional[int]): Maximum concurrent requests per open + streaming file (background part uploads while writing, read-ahead of the next + byte ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to the `CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY` environment variable + or 4; 1 makes each stream fully sequential. """ super().__init__( file_cache_mode, @@ -128,9 +129,11 @@ def _exists(self, cloud_path: HttpPath) -> bool: def _move_file(self, src: HttpPath, dst: HttpPath, remove_src: bool = True) -> HttpPath: if self.file_cache_mode == FileCacheMode.streaming: # streaming mode has no local cache to round-trip through (fspath is - # unavailable), so stream between the two paths directly + # unavailable), so stream between the two paths directly: both are ordinary + # file objects (ranged GETs on one side, a PUT on close on the other), so + # shutil just shuttles buffers between them with src.open("rb") as src_file, dst.open("wb") as dst_file: - shutil.copyfileobj(src_file, dst_file, _STREAM_COPY_CHUNK_SIZE) + shutil.copyfileobj(src_file, dst_file, streaming_buffer_size()) else: # .fspath will download the file so the local version can be uploaded self._upload_file(src.fspath, dst) diff --git a/cloudpathlib/local/localclient.py b/cloudpathlib/local/localclient.py index d5a0fe40..f0c03170 100644 --- a/cloudpathlib/local/localclient.py +++ b/cloudpathlib/local/localclient.py @@ -51,7 +51,7 @@ def __init__( file_cache_mode: Optional[Union[str, FileCacheMode]] = None, local_cache_dir: Optional[Union[str, os.PathLike]] = None, content_type_method: Optional[Callable] = mimetypes.guess_type, - streaming_max_concurrency: int = 4, + streaming_max_concurrency: Optional[int] = None, **kwargs: Any, ) -> None: self._local_storage_dir = local_storage_dir diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index a4edf321..d7522516 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -45,7 +45,7 @@ def __init__( content_type_method: Optional[Callable] = mimetypes.guess_type, extra_args: Optional[dict] = None, *, - streaming_max_concurrency: int = 4, + streaming_max_concurrency: Optional[int] = None, ): """Class constructor. Sets up a boto3 [`Session`]( https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html). @@ -88,10 +88,11 @@ def __init__( download, or copy operations, and we will pass on only the relevant args. To see the extra args that are supported look at the upload, download, and copy lists in the [boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.S3Transfer). - streaming_max_concurrency (int): Maximum concurrent requests per open streaming - file (background part uploads while writing, read-ahead of the next byte - ranges during sequential reads) when using `FileCacheMode.streaming`. - Defaults to 4; 1 makes each stream fully sequential. + streaming_max_concurrency (Optional[int]): Maximum concurrent requests per open + streaming file (background part uploads while writing, read-ahead of the next + byte ranges during sequential reads) when using `FileCacheMode.streaming`. + Defaults to the `CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY` environment variable + or 4; 1 makes each stream fully sequential. """ endpoint_url = endpoint_url or os.getenv("AWS_ENDPOINT_URL") if boto3_session is not None: @@ -379,14 +380,14 @@ def _upload_file(self, local_path: Union[str, os.PathLike], cloud_path: S3Path) return cloud_path def _content_type_args(self, cloud_path: S3Path) -> Dict[str, Any]: - """`ContentType`/`ContentEncoding` guessed from the object name, for uploads.""" + """The guessed content type/encoding (see `Client._guess_content_type`) as boto3 + upload arguments.""" + content_type, content_encoding = self._guess_content_type(cloud_path) args: Dict[str, Any] = {} - if self.content_type_method is not None: - content_type, content_encoding = self.content_type_method(str(cloud_path)) - if content_type is not None: - args["ContentType"] = content_type - if content_encoding is not None: - args["ContentEncoding"] = content_encoding + if content_type is not None: + args["ContentType"] = content_type + if content_encoding is not None: + args["ContentEncoding"] = content_encoding return args def _get_public_url(self, cloud_path: S3Path) -> str: @@ -431,6 +432,8 @@ def _range_download(self, cloud_path: S3Path, start: int, end: Optional[int] = N code = e.response["Error"]["Code"] if code in ("404", "NoSuchKey"): raise CloudPathFileNotFoundError(f"S3 object not found: {cloud_path}") from e + # a range starting past the end of the object is how a reader that does not know + # the size learns it is at EOF: file objects report that as an empty read if code in ("InvalidRange", "416"): return b"" raise diff --git a/docs/docs/streaming_io.md b/docs/docs/streaming_io.md index 6c69e67e..622757dd 100644 --- a/docs/docs/streaming_io.md +++ b/docs/docs/streaming_io.md @@ -7,6 +7,11 @@ reads from cloud storage with ranged requests and writes to it with multipart up Nothing is written to disk, only the part of the object you read is downloaded, and written data is uploaded while you write it. +The exception is the append and update modes (`a`, `a+`, `r+`, `w+`, ...): object stores +cannot modify an object in place, so those modes still download the whole object to the +local cache, work on it there, and re-upload it on close (with a warning; see +[Writes](#writes)). + ## Enabling streaming Set `file_cache_mode` on the client (or the `CLOUDPATHLIB_FILE_CACHE_MODE=streaming` @@ -93,6 +98,10 @@ Pass `streaming_max_concurrency=1` for fully sequential I/O. client = S3Client(file_cache_mode=FileCacheMode.streaming, streaming_max_concurrency=8) ``` +This concurrency is cloudpathlib's own (a small thread pool per open stream issuing the +provider's plain ranged `GET` and part-upload calls); the SDKs' transfer managers, which +only move whole files to and from disk, are not involved in streaming. + Streams are not thread-safe, like ordinary file objects: open one per thread. Any number of streams may read the same object at once. Concurrent writers to the same object are last-closed-wins; each writer's upload is isolated, so they cannot corrupt each other's @@ -106,7 +115,7 @@ stream: | Mode | Behaviour | |------|-----------| | `w`, `wb`, `x`, `xb` | Streamed: data is uploaded in parts as you write; the object appears on `close()`. | -| `a`, `ab`, `r+`, `w+`, ... | Fall back to the local cache: the object is downloaded, modified locally, re-uploaded on `close()`, and the cache file is then removed (as with `close_file`). Correct, but costs a full download and upload. | +| `a`, `ab`, `r+`, `w+`, ... | Fall back to the local cache, with a `UserWarning`: the object is downloaded, modified locally, re-uploaded on `close()`, and the cache file is then removed (as with `close_file`). Correct, but costs a full download and upload. | Details of a streamed write: @@ -126,6 +135,23 @@ Details of a streamed write: - HTTP servers have no multipart upload, so an HTTP write is one request on `close()`; the body is held in memory up to 5 MiB and spooled to a temporary file beyond that. +## Configuration + +Every streaming knob has a default that can be changed with an environment variable; an +explicit argument always wins. + +| Setting | Environment variable | Default | +|---------|----------------------|---------| +| Buffer / ranged-request size (`buffering=-1`), also the chunk size for stream-to-stream copies and the in-memory limit for HTTP uploads | `CLOUDPATHLIB_STREAMING_BUFFER_SIZE` (bytes) | 5 MiB | +| Requests in flight per stream (`streaming_max_concurrency=`) | `CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY` | 4 | +| Multipart part size, all providers | `CLOUDPATHLIB_STREAMING_PART_SIZE` (bytes) | provider minimum | +| Multipart part size, one provider | `CLOUDPATHLIB_S3_STREAMING_PART_SIZE`, `CLOUDPATHLIB_AZURE_STREAMING_PART_SIZE`, `CLOUDPATHLIB_GS_STREAMING_PART_SIZE` (bytes) | provider minimum | + +The part size cannot go below the provider's minimum non-final part (5 MiB on S3 and GCS, +4 MiB on Azure) and grows automatically during very large uploads so the provider's +part-count limit (10,000 on S3 and GCS, 50,000 on Azure) is never reached. Invalid values +raise `InvalidConfigurationException` when the client is created. + ## Limitations - **No `fspath`.** `os.fspath(path)` and `path.fspath` raise `CloudPathNotImplementedError` diff --git a/tests/test_caching.py b/tests/test_caching.py index 4eb9401c..2bc93658 100644 --- a/tests/test_caching.py +++ b/tests/test_caching.py @@ -572,7 +572,9 @@ def test_streaming_append_fallback_cache_cleaned_up(rig: CloudProviderTestRig): cp = rig.create_cloud_path("dir_0/file0_0.txt", client=client) original = cp.read_text() - with cp.open("a") as f: + with pytest.warns(UserWarning, match="downloads the whole object"): + f = cp.open("a") + with f: f.write("appended") assert cp._local.exists() # the fallback works on a real cache file diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index c858da25..aaa29fcf 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1267,7 +1267,9 @@ def test_append_mode_uses_cache_fallback(rig): path.client.file_cache_mode = FileCacheMode.streaming try: - with path.open("ab") as f: + with pytest.warns(UserWarning, match="downloads the whole object"): + f = path.open("ab") + with f: assert not _is_streaming(f), "append mode must use cache, not streaming" f.write(b"world") @@ -1292,7 +1294,9 @@ def test_rplus_mode_uses_cache_fallback(rig): path.client.file_cache_mode = FileCacheMode.streaming try: - with path.open("r+b") as f: + with pytest.warns(UserWarning, match="downloads the whole object"): + f = path.open("r+b") + with f: assert not _is_streaming(f), "r+b must use cache, not streaming" f.seek(6) f.write(b"there") @@ -2234,7 +2238,7 @@ def test_multipart_part_limit_enforced(local_s3_rig): """Exceeding the provider's maximum part count raises a clear OSError.""" path = local_s3_rig.create_cloud_path("part-limit.bin") - path.client._multipart_min_part_size = 4 + path.client._multipart_part_size = 4 path.client._multipart_max_part_size = 4 path.client._multipart_max_parts = 2 @@ -2568,13 +2572,82 @@ def test_streaming_parquet_metadata_and_column_read(streaming_rig): # ============================================================================ -def test_streaming_max_concurrency_validation(local_s3_rig): - """The concurrency knob must be a positive integer.""" +def test_streaming_max_concurrency_validation(local_s3_rig, monkeypatch): + """The concurrency knob must be a positive integer; the environment variable supplies the + default and the keyword argument wins over it.""" + from cloudpathlib.exceptions import InvalidConfigurationException + with pytest.raises(ValueError, match="streaming_max_concurrency"): local_s3_rig.client_class( streaming_max_concurrency=0, **local_s3_rig.required_client_kwargs ) + assert ( + local_s3_rig.client_class(**local_s3_rig.required_client_kwargs).streaming_max_concurrency + == 4 + ) + + monkeypatch.setenv("CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY", "2") + assert ( + local_s3_rig.client_class(**local_s3_rig.required_client_kwargs).streaming_max_concurrency + == 2 + ) + assert ( + local_s3_rig.client_class( + streaming_max_concurrency=7, **local_s3_rig.required_client_kwargs + ).streaming_max_concurrency + == 7 + ) + + monkeypatch.setenv("CLOUDPATHLIB_STREAMING_MAX_CONCURRENCY", "zero") + with pytest.raises(InvalidConfigurationException, match="must be an integer"): + local_s3_rig.client_class(**local_s3_rig.required_client_kwargs) + + +def test_streaming_part_size_environment_variables(rig, monkeypatch): + """The multipart part size defaults to the provider minimum and can be raised with a + generic or a provider-specific environment variable, never lowered below the minimum.""" + from cloudpathlib.exceptions import InvalidConfigurationException + + _skip_unless_multipart(rig) + make = lambda: rig.client_class(**rig.required_client_kwargs) # noqa: E731 + minimum = rig.client_class._multipart_min_part_size + provider = rig.client_class._cloud_meta.name.upper() + + assert make()._multipart_part_size == minimum + + monkeypatch.setenv("CLOUDPATHLIB_STREAMING_PART_SIZE", str(2 * minimum)) + assert make()._multipart_part_size == 2 * minimum + + monkeypatch.setenv(f"CLOUDPATHLIB_{provider}_STREAMING_PART_SIZE", str(3 * minimum)) + assert make()._multipart_part_size == 3 * minimum + + monkeypatch.setenv(f"CLOUDPATHLIB_{provider}_STREAMING_PART_SIZE", str(minimum - 1)) + with pytest.raises(InvalidConfigurationException, match="at least"): + make() + + +def test_streaming_buffer_size_environment_variable(streaming_rig, monkeypatch): + """CLOUDPATHLIB_STREAMING_BUFFER_SIZE sets the default ranged-request size.""" + path = streaming_rig.create_cloud_path("buffer-env.bin") + path.write_bytes(b"x" * (100 * 1024)) + client = path.client + + requests = [] + original = client._range_download + + def spy(cloud_path, start, end=None): + requests.append(end - start + 1) + return original(cloud_path, start, end) + + monkeypatch.setattr(client, "_range_download", spy) + monkeypatch.setenv("CLOUDPATHLIB_STREAMING_BUFFER_SIZE", str(16 * 1024)) + with path.open("rb") as f: + while f.read(4096): + pass + assert max(requests) == 16 * 1024 + assert len(requests) == 100 // 16 + 1 + def test_concurrent_multipart_write_correctness(streaming_rig): """A multi-part streaming write with concurrency > 1 produces identical content, From 2702c1dcc06aa5f11c166a5f1077fdd2920c242f Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 3 Oct 2026 10:44:03 -0700 Subject: [PATCH 29/35] Skip pyarrow in dev requirements on Python 3.15 pyarrow has no 3.15 wheels yet and fails to build from source, which broke dependency installation for the 3.15 CI jobs. The parquet streaming test already skips when pyarrow is not importable. Co-Authored-By: Claude Fable 5.1 --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 54c6a45e..bfcccad4 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -20,7 +20,7 @@ nbautoexport pandas pillow psutil -pyarrow +pyarrow; python_version < "3.15" # no 3.15 wheels yet; the parquet test skips without it pydantic pytest<9.1 pytest-cases>=3.9.1 From abf96871eb97271a1472d647960dd5ec085e14e0 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 3 Oct 2026 10:48:17 -0700 Subject: [PATCH 30/35] Make the S3 part-size test independent of upload completion order Parts upload concurrently, so the spy saw the small final part before the earlier full parts had finished and reported it as a non-final part. Index recorded sizes by part number and exempt the highest-numbered part instead. Co-Authored-By: Claude Fable 5.1 --- tests/test_cloud_io.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index aaa29fcf..ce15cb40 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -1323,11 +1323,11 @@ def test_s3_no_small_non_final_parts(rig): original_mode = path.client.file_cache_mode path.client.file_cache_mode = FileCacheMode.streaming - uploaded_parts = [] + uploaded_parts = {} # part number -> size; parts upload concurrently, so call order varies real_upload_part = path.client._upload_part def spy_upload_part(cloud_path, upload_id, part_number, part_data): - uploaded_parts.append(len(part_data)) + uploaded_parts[part_number] = len(part_data) return real_upload_part(cloud_path, upload_id, part_number, part_data) path.client._upload_part = spy_upload_part @@ -1340,7 +1340,10 @@ def spy_upload_part(cloud_path, upload_id, part_number, part_data): assert path.read_bytes() == data min_size = path.client._multipart_min_part_size - for part_size in uploaded_parts[:-1]: # all except last + final_part = max(uploaded_parts) + for number, part_size in uploaded_parts.items(): + if number == final_part: + continue assert ( part_size >= min_size ), f"Non-final part is {part_size} bytes, below 5 MiB minimum" From 6b4dc7946f800749a8d7a2b78f3bf2b7aebaafeb Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 3 Oct 2026 11:04:22 -0700 Subject: [PATCH 31/35] Clear the cache before the cached read-back in the raw stream test On Windows the cache file written by write_bytes and the object rewritten by the raw stream could share a modification time, so the cached read kept the stale copy. Co-Authored-By: Claude Fable 5.1 --- tests/test_cloud_io.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index ce15cb40..6256adf2 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -2234,6 +2234,9 @@ def test_raw_stream_edge_semantics(local_s3_rig): writer.close() # double close is a no-op with pytest.raises(ValueError, match="closed file"): writer.readall() + # the cached copy from write_bytes may share a modification time with the rewritten + # object on coarse-timestamp filesystems, so do not rely on it being refreshed + path.clear_cache() assert path.read_bytes() == b"replaced" From d3170403f2d0c8aec4d8a4b9b55524607c8c7866 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 3 Oct 2026 14:43:28 -0700 Subject: [PATCH 32/35] Fix cross-client move, bound large-write buffering, and tighten validation - move() across clients now removes the source after the destination is written, in both the streaming branch and the cached branch (which never did on master). - A single write larger than the part size is sliced into parts as it is copied, so the part buffer never exceeds one part. - streaming_max_concurrency must be an int (not a float or bool). - S3 ranged reads close the response body even when the read fails. - Docs no longer claim streaming never touches disk (HTTP uploads spool). Co-Authored-By: Claude Fable 5.1 --- cloudpathlib/client.py | 8 +++-- cloudpathlib/cloud_io.py | 18 ++++++----- cloudpathlib/cloudpath.py | 15 ++++----- cloudpathlib/s3/s3client.py | 7 +++-- docs/docs/streaming_io.md | 5 +-- tests/test_cloud_io.py | 62 ++++++++++++++++++++++++++++++++++--- 6 files changed, 90 insertions(+), 25 deletions(-) diff --git a/cloudpathlib/client.py b/cloudpathlib/client.py index 6f10363e..d5c25948 100644 --- a/cloudpathlib/client.py +++ b/cloudpathlib/client.py @@ -77,8 +77,12 @@ def __init__( # 1 means fully sequential I/O if streaming_max_concurrency is None: streaming_max_concurrency = env.streaming_max_concurrency() - if streaming_max_concurrency < 1: - raise ValueError("streaming_max_concurrency must be at least 1") + if ( + not isinstance(streaming_max_concurrency, int) + or isinstance(streaming_max_concurrency, bool) + or streaming_max_concurrency < 1 + ): + raise ValueError("streaming_max_concurrency must be an integer of at least 1") self.streaming_max_concurrency = streaming_max_concurrency # multipart part size for streaming writes: the provider minimum unless overridden self._multipart_part_size = env.streaming_part_size( diff --git a/cloudpathlib/cloud_io.py b/cloudpathlib/cloud_io.py index 369f16d0..95d5eb90 100644 --- a/cloudpathlib/cloud_io.py +++ b/cloudpathlib/cloud_io.py @@ -427,14 +427,18 @@ def _harvest_part_futures(self, block: bool = False, drain: bool = False) -> Non raise error def _upload_chunk(self, data: _ReadableBuffer) -> None: - view = memoryview(data) - if view.nbytes == 0: - return - self._write_buffer.extend(view) - target_size = self._target_part_size() - while len(self._write_buffer) >= target_size: - self._upload_buffered_part(target_size) + # Copy at most one part's worth at a time: a single write larger than the part size + # (BufferedWriter passes oversized writes straight through) would otherwise be + # duplicated wholesale into the part buffer before any part is emitted. + view = memoryview(data).cast("B") + offset = 0 + while offset < view.nbytes: target_size = self._target_part_size() + take = min(target_size - len(self._write_buffer), view.nbytes - offset) + self._write_buffer.extend(view[offset : offset + take]) + offset += take + if len(self._write_buffer) >= target_size: + self._upload_buffered_part(target_size) def _finalize_upload(self) -> None: if self._upload_id is None: diff --git a/cloudpathlib/cloudpath.py b/cloudpathlib/cloudpath.py index 3a146de5..bcbb0e05 100644 --- a/cloudpathlib/cloudpath.py +++ b/cloudpathlib/cloudpath.py @@ -1395,15 +1395,16 @@ def _copy( # the streaming buffer size rather than shutil's 64 KiB default, so # each buffered read is forwarded in one iteration shutil.copyfileobj(src_file, dst_file, env.streaming_buffer_size()) - - return cast(Union[Path, Self], target_path) - - return cast( - Union[Path, Self], + else: target_path.upload_from( self.fspath, force_overwrite_to_cloud=force_overwrite_to_cloud - ), - ) + ) + + # a move removes the source only once the destination has been written + if remove_src: + self.unlink() + + return cast(Union[Path, Self], target_path) @overload def copy( diff --git a/cloudpathlib/s3/s3client.py b/cloudpathlib/s3/s3client.py index d7522516..651b154f 100644 --- a/cloudpathlib/s3/s3client.py +++ b/cloudpathlib/s3/s3client.py @@ -425,9 +425,10 @@ def _range_download(self, cloud_path: S3Path, start: int, end: Optional[int] = N **self.boto3_dl_extra_args, ) body = response["Body"] - data = body.read() - body.close() - return data + try: + return body.read() + finally: + body.close() # release the connection even if the read fails midway except ClientError as e: code = e.response["Error"]["Code"] if code in ("404", "NoSuchKey"): diff --git a/docs/docs/streaming_io.md b/docs/docs/streaming_io.md index 622757dd..ce1fcce2 100644 --- a/docs/docs/streaming_io.md +++ b/docs/docs/streaming_io.md @@ -4,8 +4,9 @@ By default, `CloudPath.open()` downloads a file to the local cache before openin uploads the whole cache file when a written handle is closed. With `FileCacheMode.streaming`, `open()` instead returns a standard Python file object that reads from cloud storage with ranged requests and writes to it with multipart uploads. -Nothing is written to disk, only the part of the object you read is downloaded, and -written data is uploaded while you write it. +Nothing goes through the cloudpathlib cache, only the part of the object you read is +downloaded, and written data is uploaded while you write it. (The one place streaming may +still touch disk is HTTP uploads, which have no multipart API; see [Writes](#writes).) The exception is the append and update modes (`a`, `a+`, `r+`, `w+`, ...): object stores cannot modify an object in place, so those modes still download the whole object to the diff --git a/tests/test_cloud_io.py b/tests/test_cloud_io.py index 6256adf2..1a953e8b 100644 --- a/tests/test_cloud_io.py +++ b/tests/test_cloud_io.py @@ -2066,6 +2066,13 @@ def test_streaming_cross_client_copy(streaming_rig): try: result = src.copy(dst) assert result.read_bytes() == content + assert src.exists() + + # move() is a copy that removes the source once the destination is written (the + # destination was just written by the copy, so overwriting it must be forced) + moved = src.move(dst, force_overwrite_to_cloud=True) + assert moved.read_bytes() == content + assert not src.exists() finally: for p in (src, dst): try: @@ -2074,6 +2081,52 @@ def test_streaming_cross_client_copy(streaming_rig): pass +def test_cached_cross_client_move_removes_source(rig): + """move() between clients in the default cached mode must also remove the source.""" + src = rig.create_cloud_path("test_move_src.bin") + src.write_bytes(b"move me") + other_client = rig.client_class(**rig.required_client_kwargs) + dst = other_client.CloudPath(str(rig.create_cloud_path("test_move_dst.bin"))) + assert src.client is not dst.client + + try: + moved = src.move(dst) + assert moved.read_bytes() == b"move me" + assert not src.exists() + finally: + for p in (src, dst): + p.unlink(missing_ok=True) + + +def test_large_single_write_buffers_at_most_one_part(local_s3_rig): + """A write bigger than the part size is sliced into parts as it is copied, so the part + buffer never holds more than one part (the documented memory bound).""" + path = local_s3_rig.create_cloud_path("big-single-write.bin") + client = path.client + client.file_cache_mode = FileCacheMode.streaming + part_size = client._multipart_part_size + observed = [] + + raw = client._streaming_raw_class(client, path, "wb") + original = raw._upload_buffered_part + + def spy(size): + observed.append(len(raw._write_buffer)) + return original(size) + + raw._upload_buffered_part = spy + data = b"q" * (3 * part_size + 1234) + try: + raw.write(data) # a single oversized write, as BufferedWriter would pass through + assert len(raw._write_buffer) == 1234 + assert observed == [part_size] * 3 + raw.close() + assert path.read_bytes() == data + finally: + client.file_cache_mode = FileCacheMode.cloudpath_object + path.unlink(missing_ok=True) + + def test_http_rename_in_streaming_mode(rig): """rename()/replace() on HTTP paths must work in streaming mode without fspath.""" if rig.path_class.cloud_prefix not in ("http://", "https://"): @@ -2583,10 +2636,11 @@ def test_streaming_max_concurrency_validation(local_s3_rig, monkeypatch): default and the keyword argument wins over it.""" from cloudpathlib.exceptions import InvalidConfigurationException - with pytest.raises(ValueError, match="streaming_max_concurrency"): - local_s3_rig.client_class( - streaming_max_concurrency=0, **local_s3_rig.required_client_kwargs - ) + for bad in (0, 1.5, True, "2"): + with pytest.raises(ValueError, match="streaming_max_concurrency"): + local_s3_rig.client_class( + streaming_max_concurrency=bad, **local_s3_rig.required_client_kwargs + ) assert ( local_s3_rig.client_class(**local_s3_rig.required_client_kwargs).streaming_max_concurrency From e25666b94602d3ac1d99fe0309ab4ceafdb8a949 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 3 Oct 2026 14:43:28 -0700 Subject: [PATCH 33/35] Re-run the caching notebook and regenerate its exported script The two streaming example cells had never been executed and the script export was stale. Co-Authored-By: Claude Fable 5.1 --- docs/docs/caching.ipynb | 284 ++++++++++++++++++++++++++++-------- docs/docs/script/caching.py | 56 ++++++- 2 files changed, 280 insertions(+), 60 deletions(-) diff --git a/docs/docs/caching.ipynb b/docs/docs/caching.ipynb index a4ffe563..11130734 100644 --- a/docs/docs/caching.ipynb +++ b/docs/docs/caching.ipynb @@ -47,7 +47,14 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:30.086102Z", + "iopub.status.busy": "2026-10-03T21:42:30.085888Z", + "iopub.status.idle": "2026-10-03T21:42:30.595841Z", + "shell.execute_reply": "2026-10-03T21:42:30.595392Z" + } + }, "outputs": [ { "name": "stdout", @@ -83,6 +90,12 @@ "cell_type": "code", "execution_count": 2, "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:30.614150Z", + "iopub.status.busy": "2026-10-03T21:42:30.614005Z", + "iopub.status.idle": "2026-10-03T21:42:31.838123Z", + "shell.execute_reply": "2026-10-03T21:42:31.837461Z" + }, "scrolled": true }, "outputs": [ @@ -90,9 +103,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "/var/folders/8g/v8lwvfhj6_l6ct_zd_rs84mw0000gn/T/tmpn5oh1rkm/ladi/Images/FEMA_CAP/2020/70349 [error opening dir]\r\n", - "\r\n", - "0 directories, 0 files\r\n" + "/Users/bull/.zshenv:.:1: no such file or directory: /Users/bull/.cargo/env\r\n", + "zsh:1: command not found: tree\r\n" ] } ], @@ -111,7 +123,14 @@ { "cell_type": "code", "execution_count": 3, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:31.839511Z", + "iopub.status.busy": "2026-10-03T21:42:31.839440Z", + "iopub.status.idle": "2026-10-03T21:42:31.888112Z", + "shell.execute_reply": "2026-10-03T21:42:31.887690Z" + } + }, "outputs": [ { "data": { @@ -132,15 +151,21 @@ { "cell_type": "code", "execution_count": 4, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:31.889273Z", + "iopub.status.busy": "2026-10-03T21:42:31.889212Z", + "iopub.status.idle": "2026-10-03T21:42:32.711154Z", + "shell.execute_reply": "2026-10-03T21:42:32.710518Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "/var/folders/8g/v8lwvfhj6_l6ct_zd_rs84mw0000gn/T/tmpn5oh1rkm/ladi/Images/FEMA_CAP/2020/70349 [error opening dir]\r\n", - "\r\n", - "0 directories, 0 files\r\n" + "/Users/bull/.zshenv:.:1: no such file or directory: /Users/bull/.cargo/env\r\n", + "zsh:1: command not found: tree\r\n" ] } ], @@ -161,19 +186,26 @@ { "cell_type": "code", "execution_count": 5, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:32.712850Z", + "iopub.status.busy": "2026-10-03T21:42:32.712739Z", + "iopub.status.idle": "2026-10-03T21:42:33.778210Z", + "shell.execute_reply": "2026-10-03T21:42:33.777755Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 1.35 s, sys: 435 ms, total: 1.78 s\n", - "Wall time: 1.76 s\n" + "CPU times: user 191 ms, sys: 37.5 ms, total: 229 ms\n", + "Wall time: 609 ms\n" ] }, { "data": { - "image/png": "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mc98prz73e+WD37wg/LH/tgfkz/+x//4/HpKSV784hfL/fffLx/+8IflF37hF+S2226TH/uxH3s6hjPHL/zCL8jf+3t/T372Z39WAHnnO9954fW3ve1tcuXKFfm5n/s5+Y3f+A35c3/uz8lzn/tc2Ww283te85rXyMte9jL51V/9Vflv/+2/yQte8AL5nu/5nvn1k5MTufPOO+X1r3+9PPTQQ/IzP/Mzslgs5F/9q3/1DTHGN7zhDfKa17zmwrV98sknL7znG32MIiKvfvWr5ad/+qfloYcekgcffFD+zJ/5M/KsZz1Lzs/P5/d8Ne7T3/7t35blcil/+2//bfnYxz4mP/ETPyHOOfmlX/qlb5hx/qk/9afkjW9844VrenJyctOM8z/+x/8o//k//2f5X//rf8nDDz8sP/7jPy4hBHnooYdE5HJcx69knDf7dXyq+LVf+zV5znOeIy996UvlB3/wB+efX5ZreukAzLd/+7fLm970pvnfOWe555575K1vfevTeFS/v3jLW94iL3vZy57ytRs3bkgIQf79v//3889+67d+SwB54IEHREQXUWutPProo/N7fuqnfkqOj49lGIav6bF/pfH5i3spRe666y75p//0n84/u3HjhrRtKz/zMz8jIiIf+9jHBJBf//Vfn9/zi7/4i2KMkd/7vd8TEZF/+S//pVy7du3COH/kR35EXvSiF32NR/SF8cUAzHd/93d/0d+52cY4xWOPPSaAvP/97xeRr959+nf/7t+Vb/3Wb73wXa973evk1a9+9dd6SE8Znz9OEV34dheHz4+bcZzXrl2Tf/2v//WlvY5TTOMUuXzX8ezsTF74whfKu971rgtju0zX9FKlkMZx5EMf+hD333///DNrLffffz8PPPDA03hkv//4+Mc/zj333MPznvc8Xv/61/PII48A8KEPfYgY44UxfvM3fzPPetaz5jE+8MADvOQlL+HOO++c3/PqV7+a09NTfvM3f/PrO5CvMD71qU/x6KOPXhjXlStXeOUrX3lhXFevXuXbvu3b5vfcf//9WGv5wAc+ML/nVa96FU3TzO959atfzcMPP8z169e/TqP50vG+972PO+64gxe96EV8//d/P0888cT82s06xpOTE2DbBf6rdZ8+8MADFz5jes/T9Tx//jin+Lf/9t9y22238eIXv5gf+7EfY71ez6/dTOPMOfOOd7yD1WrFvffee2mv4+ePc4rLch0B3vSmN/Fd3/VdX3A8l+maXqpu1I8//jg55wsnHeDOO+/kf/7P//k0HdXvP175ylfy9re/nRe96EV85jOf4R/9o3/Ed3zHd/DQQw/x6KOP0jQNV69evfA7d955J48++igAjz766FOeg+m1b8SYjuupjnt3XHfccceF17333HLLLRfe89znPvcLPmN67dq1a1+T4/9K4zWveQ1/8S/+RZ773OfyyU9+kh//8R/nta99LQ888ADOuZtyjKUUfuiHfog/8Sf+BC9+8Yvn4/hq3Kdf7D2np6dsNhsWi8XXYkhPGU81ToC/8lf+Cs9+9rO55557+MhHPsKP/MiP8PDDD/OzP/uzX3IM02tf6j1fr3F+9KMf5d5776Xvew4PD3nnO9/Jt3zLt/Dggw9equv4xcYJl+M6TvGOd7yD//E//ge//uu//gWvXaZn81IBmMsSr33ta+e/v/SlL+WVr3wlz372s/l3/+7ffV0n7H189eMv/+W/PP/9JS95CS996Ut5/vOfz/ve9z7uu+++p/HI/t/jTW96Ew899BC/8iu/8nQfytc0vtg4v/d7v3f++0te8hLuvvtu7rvvPj75yU/y/Oc//+t9mP9P8aIXvYgHH3yQk5MT/sN/+A+84Q1v4P3vf//TfVhf9fhi4/yWb/mWS3EdAT796U/zgz/4g7zrXe+i67qn+3C+pnGpUki33XYbzrkvUFN/9rOf5a677nqajur/P65evcof+kN/iE984hPcddddjOPIjRs3Lrxnd4x33XXXU56D6bVvxJiO60tdu7vuuovHHnvswuspJZ588smbduzPe97zuO222/jEJz4B3Hxj/IEf+AH+03/6T7z3ve/lm77pm+aff7Xu0y/2nuPj468rmP9i43yqeOUrXwlw4Zp+o4+zaRpe8IIX8IpXvIK3vvWtvOxlL+Of//N/fumu4xcb51PFzXgdQVNEjz32GC9/+cvx3uO95/3vfz//4l/8C7z33HnnnZfmml4qANM0Da94xSt497vfPf+slMK73/3uC3nOmy3Oz8/55Cc/yd13380rXvEKQggXxvjwww/zyCOPzGO89957+ehHP3phIXzXu97F8fHxTJd+o8Vzn/tc7rrrrgvjOj095QMf+MCFcd24cYMPfehD83ve8573UEqZJ5t7772XX/7lXybGOL/nXe96Fy960Yue9vTRU8Xv/u7v8sQTT3D33XcDN88YRYQf+IEf4J3vfCfvec97viCl9dW6T++9994LnzG95+v1PH+5cT5VPPjggwAXruk3+jg/P0opDMNwaa7jF4tpnE8VN+t1vO+++/joRz/Kgw8+OP/5tm/7Nl7/+tfPf7801/TrJhf+OsU73vEOadtW3v72t8vHPvYx+d7v/V65evXqBTX1N3r88A//sLzvfe+TT33qU/Lf//t/l/vvv19uu+02eeyxx0RES+Ce9axnyXve8x754Ac/KPfee6/ce++98+9PJXDf+Z3fKQ8++KD80i/9ktx+++1Pexn12dmZfPjDH5YPf/jDAsg/+2f/TD784Q/L//7f/1tEtIz66tWr8vM///PykY98RL77u7/7Kcuo/8gf+SPygQ98QH7lV35FXvjCF14oMb5x44bceeed8lf/6l+Vhx56SN7xjnfIcrn8upUYf6kxnp2dyd/5O39HHnjgAfnUpz4l//W//ld5+ctfLi984Qul7/ubZowiIt///d8vV65ckfe9730Xyk7X6/X8nq/GfTqVar75zW+W3/qt35Kf/Mmf/LqWan65cX7iE5+Qf/yP/7F88IMflE996lPy8z//8/K85z1PXvWqV9004/zRH/1Ref/73y+f+tSn5CMf+Yj86I/+qBhj5L/8l/8iIpfjOn65cV6G6/il4vMrrC7LNb10AEZE5Cd+4ifkWc96ljRNI9/+7d8uv/qrv/p0H9LvK173utfJ3XffLU3TyDOe8Qx53eteJ5/4xCfm1zebjfytv/W35Nq1a7JcLuUv/IW/IJ/5zGcufMbv/M7vyGtf+1pZLBZy2223yQ//8A9LjPHrPZQL8d73vleAL/jzhje8QUS0lPrv//2/L3feeae0bSv33XefPPzwwxc+44knnpDv+Z7vkcPDQzk+Ppa//tf/upydnV14z2/8xm/In/yTf1LatpVnPOMZ8ra3ve3rNcQvOcb1ei3f+Z3fKbfffruEEOTZz362vPGNb/wCcP2NPkYRecoxAvLTP/3T83u+Wvfpe9/7XvnDf/gPS9M08rznPe/Cd3yt48uN85FHHpFXvepVcsstt0jbtvKCF7xA3vzmN1/wDxH5xh7n3/gbf0Oe/exnS9M0cvvtt8t99903gxeRy3EdRb70OC/DdfxS8fkA5rJcUyMi8vXje/axj33sYx/72Mc+/v/jUmlg9rGPfexjH/vYxx+M2AOYfexjH/vYxz72cdPFHsDsYx/72Mc+9rGPmy72AGYf+9jHPvaxj33cdLEHMPvYxz72sY997OOmiz2A2cc+9rGPfexjHzdd7AHMPvaxj33sYx/7uOliD2D2sY997GMf+9jHTRd7ALOPfexjH/vYxz5uutgDmH3sYx/72Mc+9nHTxR7A7GMf+9jHPvaxj5su/i9gVT0CUO8HbwAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -196,16 +228,21 @@ { "cell_type": "code", "execution_count": 6, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:33.779335Z", + "iopub.status.busy": "2026-10-03T21:42:33.779233Z", + "iopub.status.idle": "2026-10-03T21:42:34.888727Z", + "shell.execute_reply": "2026-10-03T21:42:34.888158Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[01;34m/var/folders/8g/v8lwvfhj6_l6ct_zd_rs84mw0000gn/T/tmpn5oh1rkm/ladi/Images/FEMA_CAP/2020/70349\u001b[00m\r\n", - "└── \u001b[01;35mDSC_0001_5a63d42e-27c6-448a-84f1-bfc632125b8e.jpg\u001b[00m\r\n", - "\r\n", - "0 directories, 1 file\r\n" + "/Users/bull/.zshenv:.:1: no such file or directory: /Users/bull/.cargo/env\r\n", + "zsh:1: command not found: tree\r\n" ] } ], @@ -224,19 +261,26 @@ { "cell_type": "code", "execution_count": 7, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:34.890439Z", + "iopub.status.busy": "2026-10-03T21:42:34.890349Z", + "iopub.status.idle": "2026-10-03T21:42:35.470280Z", + "shell.execute_reply": "2026-10-03T21:42:35.469879Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 233 ms, sys: 69.7 ms, total: 303 ms\n", - "Wall time: 491 ms\n" + "CPU times: user 49.3 ms, sys: 11.3 ms, total: 60.5 ms\n", + "Wall time: 157 ms\n" ] }, { "data": { - "image/png": "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mc98prz73e+WD37wg/LH/tgfkz/+x//4/HpKSV784hfL/fffLx/+8IflF37hF+S2226TH/uxH3s6hjPHL/zCL8jf+3t/T372Z39WAHnnO9954fW3ve1tcuXKFfm5n/s5+Y3f+A35c3/uz8lzn/tc2Ww283te85rXyMte9jL51V/9Vflv/+2/yQte8AL5nu/5nvn1k5MTufPOO+X1r3+9PPTQQ/IzP/Mzslgs5F/9q3/1DTHGN7zhDfKa17zmwrV98sknL7znG32MIiKvfvWr5ad/+qfloYcekgcffFD+zJ/5M/KsZz1Lzs/P5/d8Ne7T3/7t35blcil/+2//bfnYxz4mP/ETPyHOOfmlX/qlb5hx/qk/9afkjW9844VrenJyctOM8z/+x/8o//k//2f5X//rf8nDDz8sP/7jPy4hBHnooYdE5HJcx69knDf7dXyq+LVf+zV5znOeIy996UvlB3/wB+efX5ZreukAzLd/+7fLm970pvnfOWe555575K1vfevTeFS/v3jLW94iL3vZy57ytRs3bkgIQf79v//3889+67d+SwB54IEHREQXUWutPProo/N7fuqnfkqOj49lGIav6bF/pfH5i3spRe666y75p//0n84/u3HjhrRtKz/zMz8jIiIf+9jHBJBf//Vfn9/zi7/4i2KMkd/7vd8TEZF/+S//pVy7du3COH/kR35EXvSiF32NR/SF8cUAzHd/93d/0d+52cY4xWOPPSaAvP/97xeRr959+nf/7t+Vb/3Wb73wXa973evk1a9+9dd6SE8Znz9OEV34dheHz4+bcZzXrl2Tf/2v//WlvY5TTOMUuXzX8ezsTF74whfKu971rgtju0zX9FKlkMZx5EMf+hD333///DNrLffffz8PPPDA03hkv//4+Mc/zj333MPznvc8Xv/61/PII48A8KEPfYgY44UxfvM3fzPPetaz5jE+8MADvOQlL+HOO++c3/PqV7+a09NTfvM3f/PrO5CvMD71qU/x6KOPXhjXlStXeOUrX3lhXFevXuXbvu3b5vfcf//9WGv5wAc+ML/nVa96FU3TzO959atfzcMPP8z169e/TqP50vG+972PO+64gxe96EV8//d/P0888cT82s06xpOTE2DbBf6rdZ8+8MADFz5jes/T9Tx//jin+Lf/9t9y22238eIXv5gf+7EfY71ez6/dTOPMOfOOd7yD1WrFvffee2mv4+ePc4rLch0B3vSmN/Fd3/VdX3A8l+maXqpu1I8//jg55wsnHeDOO+/kf/7P//k0HdXvP175ylfy9re/nRe96EV85jOf4R/9o3/Ed3zHd/DQQw/x6KOP0jQNV69evfA7d955J48++igAjz766FOeg+m1b8SYjuupjnt3XHfccceF17333HLLLRfe89znPvcLPmN67dq1a1+T4/9K4zWveQ1/8S/+RZ773OfyyU9+kh//8R/nta99LQ888ADOuZtyjKUUfuiHfog/8Sf+BC9+8Yvn4/hq3Kdf7D2np6dsNhsWi8XXYkhPGU81ToC/8lf+Cs9+9rO55557+MhHPsKP/MiP8PDDD/OzP/uzX3IM02tf6j1fr3F+9KMf5d5776Xvew4PD3nnO9/Jt3zLt/Dggw9equv4xcYJl+M6TvGOd7yD//E//ge//uu//gWvXaZn81IBmMsSr33ta+e/v/SlL+WVr3wlz372s/l3/+7ffV0n7H189eMv/+W/PP/9JS95CS996Ut5/vOfz/ve9z7uu+++p/HI/t/jTW96Ew899BC/8iu/8nQfytc0vtg4v/d7v3f++0te8hLuvvtu7rvvPj75yU/y/Oc//+t9mP9P8aIXvYgHH3yQk5MT/sN/+A+84Q1v4P3vf//TfVhf9fhi4/yWb/mWS3EdAT796U/zgz/4g7zrXe+i67qn+3C+pnGpUki33XYbzrkvUFN/9rOf5a677nqajur/P65evcof+kN/iE984hPcddddjOPIjRs3Lrxnd4x33XXXU56D6bVvxJiO60tdu7vuuovHHnvswuspJZ588smbduzPe97zuO222/jEJz4B3Hxj/IEf+AH+03/6T7z3ve/lm77pm+aff7Xu0y/2nuPj468rmP9i43yqeOUrXwlw4Zp+o4+zaRpe8IIX8IpXvIK3vvWtvOxlL+Of//N/fumu4xcb51PFzXgdQVNEjz32GC9/+cvx3uO95/3vfz//4l/8C7z33HnnnZfmml4qANM0Da94xSt497vfPf+slMK73/3uC3nOmy3Oz8/55Cc/yd13380rXvEKQggXxvjwww/zyCOPzGO89957+ehHP3phIXzXu97F8fHxTJd+o8Vzn/tc7rrrrgvjOj095QMf+MCFcd24cYMPfehD83ve8573UEqZJ5t7772XX/7lXybGOL/nXe96Fy960Yue9vTRU8Xv/u7v8sQTT3D33XcDN88YRYQf+IEf4J3vfCfvec97viCl9dW6T++9994LnzG95+v1PH+5cT5VPPjggwAXruk3+jg/P0opDMNwaa7jF4tpnE8VN+t1vO+++/joRz/Kgw8+OP/5tm/7Nl7/+tfPf7801/TrJhf+OsU73vEOadtW3v72t8vHPvYx+d7v/V65evXqBTX1N3r88A//sLzvfe+TT33qU/Lf//t/l/vvv19uu+02eeyxx0RES+Ce9axnyXve8x754Ac/KPfee6/ce++98+9PJXDf+Z3fKQ8++KD80i/9ktx+++1Pexn12dmZfPjDH5YPf/jDAsg/+2f/TD784Q/L//7f/1tEtIz66tWr8vM///PykY98RL77u7/7Kcuo/8gf+SPygQ98QH7lV35FXvjCF14oMb5x44bceeed8lf/6l+Vhx56SN7xjnfIcrn8upUYf6kxnp2dyd/5O39HHnjgAfnUpz4l//W//ld5+ctfLi984Qul7/ubZowiIt///d8vV65ckfe9730Xyk7X6/X8nq/GfTqVar75zW+W3/qt35Kf/Mmf/LqWan65cX7iE5+Qf/yP/7F88IMflE996lPy8z//8/K85z1PXvWqV9004/zRH/1Ref/73y+f+tSn5CMf+Yj86I/+qBhj5L/8l/8iIpfjOn65cV6G6/il4vMrrC7LNb10AEZE5Cd+4ifkWc96ljRNI9/+7d8uv/qrv/p0H9LvK173utfJ3XffLU3TyDOe8Qx53eteJ5/4xCfm1zebjfytv/W35Nq1a7JcLuUv/IW/IJ/5zGcufMbv/M7vyGtf+1pZLBZy2223yQ//8A9LjPHrPZQL8d73vleAL/jzhje8QUS0lPrv//2/L3feeae0bSv33XefPPzwwxc+44knnpDv+Z7vkcPDQzk+Ppa//tf/upydnV14z2/8xm/In/yTf1LatpVnPOMZ8ra3ve3rNcQvOcb1ei3f+Z3fKbfffruEEOTZz362vPGNb/wCcP2NPkYRecoxAvLTP/3T83u+Wvfpe9/7XvnDf/gPS9M08rznPe/Cd3yt48uN85FHHpFXvepVcsstt0jbtvKCF7xA3vzmN1/wDxH5xh7n3/gbf0Oe/exnS9M0cvvtt8t99903gxeRy3EdRb70OC/DdfxS8fkA5rJcUyMi8vXje/axj33sYx/72Mc+/v/jUmlg9rGPfexjH/vYxx+M2AOYfexjH/vYxz72cdPFHsDsYx/72Mc+9rGPmy72AGYf+9jHPvaxj33cdLEHMPvYxz72sY997OOmiz2A2cc+9rGPfexjHzdd7AHMPvaxj33sYx/7uOliD2D2sY997GMf+9jHTRd7ALOPfexjH/vYxz5uutgDmH3sYx/72Mc+9nHTxR7A7GMf+9jHPvaxj5su/i9gVT0CUO8HbwAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -275,7 +319,14 @@ { "cell_type": "code", "execution_count": 8, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:35.471516Z", + "iopub.status.busy": "2026-10-03T21:42:35.471447Z", + "iopub.status.idle": "2026-10-03T21:42:35.516253Z", + "shell.execute_reply": "2026-10-03T21:42:35.515849Z" + } + }, "outputs": [], "source": [ "from cloudpathlib import S3Client\n", @@ -290,6 +341,12 @@ "cell_type": "code", "execution_count": 9, "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:35.517346Z", + "iopub.status.busy": "2026-10-03T21:42:35.517293Z", + "iopub.status.idle": "2026-10-03T21:42:36.842747Z", + "shell.execute_reply": "2026-10-03T21:42:36.842125Z" + }, "scrolled": true }, "outputs": [ @@ -297,9 +354,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "data/ladi/Images/FEMA_CAP/2020/70349 [error opening dir]\r\n", - "\r\n", - "0 directories, 0 files\r\n" + "/Users/bull/.zshenv:.:1: no such file or directory: /Users/bull/.cargo/env\r\n", + "zsh:1: command not found: tree\r\n" ] } ], @@ -318,11 +374,18 @@ { "cell_type": "code", "execution_count": 10, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:36.844490Z", + "iopub.status.busy": "2026-10-03T21:42:36.844373Z", + "iopub.status.idle": "2026-10-03T21:42:37.673202Z", + "shell.execute_reply": "2026-10-03T21:42:37.672777Z" + } + }, "outputs": [ { "data": { - "image/png": "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u7FYLHDffffhd37nd7bec+vWLbz5zW/GwcEBjo6O8Df/5t/E+fn51ns+8YlP4Du+4zvQdR2e97zn4Z/8k3/y1V5aGV9ujX/tr/21LzrbN7zhDVvv+XpfIwC8853vxB/9o38U+/v7uPPOO/Hn//yfx0MPPbT1nq8UnX7oQx/Cq1/9arRti5e85CV497vf/dVeXhlPZ51/+k//6S860+///u/fes/X8zp/+qd/Gq985StL5dV7770Xv/RLv1RevwznCHz5dT7bz/Gpxrve9S4YY/DDP/zD5XeX5UxBl2y85z3voaZp6N/8m39Dv/Vbv0Vvfetb6ejoiB555JFnempPe7zjHe+gb/3Wb6UvfOEL5f/HHnusvP793//99LznPY/e//7300c/+lH6Y3/sj9Ef/+N/vLweY6SXv/zldN9999HHP/5x+sVf/EW6fv06/fiP//gzsZwyfvEXf5H+3t/7e/RzP/dzBIDe+973br3+rne9iw4PD+nnf/7n6Td/8zfpz/25P0cvfOELabPZlPe84Q1voFe96lX0a7/2a/Tf/tt/o5e85CX0vd/7veX1k5MTunHjBr35zW+mBx98kH72Z3+WFosF/at/9a++Ltb4lre8hd7whjdsne2tW7e23vP1vkYiote//vX0Mz/zM/Tggw/SAw88QH/mz/wZev7zn0/n5+flPV8JOv3d3/1dWi6X9Lf/9t+mT33qU/STP/mT5JyjX/7lX/66Weef+lN/it761rdunenJycmzZp3/8T/+R/rP//k/0//6X/+LHnroIfqJn/gJCiHQgw8+SESX4xyfzjqf7ef4ZOPXf/3X6Zu+6Zvola98Jf3QD/1Q+f1lOdNLB2C+/du/nd72treVf6eU6J577qF3vvOdz+Cs/mDjHe94B73qVa960teOj48phED//t//+/K73/7t3yYAdP/99xMRC1FrLT388MPlPT/90z9NBwcHNAzDV3XuT3c8UbjnnOmuu+6if/pP/2n53fHxMbVtSz/7sz9LRESf+tSnCAD9xm/8RnnPL/3SL5Exhn7v936PiIj+5b/8l3TlypWtdf7oj/4ovexlL/sqr+iLx1MBmO/5nu95ys8829ao49FHHyUA9OEPf5iIvnJ0+nf/7t+lb/3Wb936rje96U30+te//qu9pCcdT1wnEQu+uXB44ng2rvPKlSv0r//1v76056hD10l0+c7x7OyMXvrSl9L73ve+rbVdpjO9VC6kcRzxsY99DPfdd1/5nbUW9913H+6///5ncGZ/8PE7v/M7uOeee/CiF70Ib37zm/G5z30OAPCxj30M0zRtrfGbv/mb8fznP7+s8f7778crXvEK3Lhxo7zn9a9/PU5PT/Fbv/VbX9uFPM3x2c9+Fg8//PDWug4PD/Ha1752a11HR0f4tm/7tvKe++67D9ZafOQjHynv+c7v/E40TVPe8/rXvx4PPfQQbt++/TVazZceH/rQh3DnnXfiZS97GX7gB34AN2/eLK89W9d4cnICoHaB/0rR6f3337/1DH3PM3Wfn7hOHf/23/5bXL9+HS9/+cvx4z/+41iv1+W1Z9M6U0p4z3veg4uLC9x7772X9hyfuE4dl+UcAeBtb3sbvvu7v/uL5nOZzvRSdaN+/PHHkVLa2nQAuHHjBv7n//yfz9Cs/uDjta99Ld797nfjZS97Gb7whS/gH/2jf4Tv+I7vwIMPPoiHH34YTdPg6Oho6zM3btzAww8/DAB4+OGHn3QP9LWvx6HzerJ5z9d15513br3uvcfVq1e33vPCF77wi56hr125cuWrMv+nO97whjfgL/7Fv4gXvvCF+MxnPoOf+ImfwBvf+Ebcf//9cM49K9eYc8YP//AP40/8iT+Bl7/85WUeXwk6far3nJ6eYrPZYLFYfDWW9KTjydYJAH/lr/wVvOAFL8A999yDT3ziE/jRH/1RPPTQQ/i5n/u5L7kGfe1Lvedrtc5PfvKTuPfee9H3Pfb29vDe974X3/It34IHHnjgUp3jU60TuBznqOM973kP/sf/+B/4jd/4jS967TLdzUsFYC7LeOMb31h+fuUrX4nXvva1eMELXoB/9+/+3deUYe/GV3785b/8l8vPr3jFK/DKV74SL37xi/GhD30Ir3vd657Bmf2/j7e97W148MEH8au/+qvP9FS+quOp1vl93/d95edXvOIVuPvuu/G6170On/nMZ/DiF7/4az3N/6fxspe9DA888ABOTk7wH/7Df8Bb3vIWfPjDH36mp/UVH0+1zm/5lm+5FOcIAJ///OfxQz/0Q3jf+96Hruue6el8VcelciFdv34dzrkviqZ+5JFHcNdddz1Ds/r/P46OjvCH/tAfwqc//WncddddGMcRx8fHW++Zr/Guu+560j3Q174eh87rS53dXXfdhUcffXTr9Rgjbt269axd+4te9CJcv34dn/70pwE8+9b4gz/4g/hP/+k/4YMf/CCe+9znlt9/pej0qd5zcHDwNQXzT7XOJxuvfe1rAWDrTL/e19k0DV7ykpfgNa95Dd75znfiVa96Ff75P//nl+4cn2qdTzaejecIsIvo0Ucfxatf/Wp47+G9x4c//GH8i3/xL+C9x40bNy7NmV4qANM0DV7zmtfg/e9/f/ldzhnvf//7t/ycz7Zxfn6Oz3zmM7j77rvxmte8BiGErTU+9NBD+NznPlfWeO+99+KTn/zkliB83/veh4ODg2Iu/XobL3zhC3HXXXdtrev09BQf+chHttZ1fHyMj33sY+U9H/jAB5BzLszm3nvvxa/8yq9gmqbynve973142cte9oy7j55s/N//+39x8+ZN3H333QCePWskIvzgD/4g3vve9+IDH/jAF7m0vlJ0eu+99249Q9/ztbrPX26dTzYeeOABANg606/3dT5x5JwxDMOlOcenGrrOJxvP1nN83eteh09+8pN44IEHyv/f9m3fhje/+c3l50tzpl+zcOGv0XjPe95DbdvSu9/9bvrUpz5F3/d930dHR0db0dRf7+NHfuRH6EMf+hB99rOfpf/+3/873XfffXT9+nV69NFHiYhT4J7//OfTBz7wAfroRz9K9957L917773l85oC913f9V30wAMP0C//8i/THXfc8YynUZ+dndHHP/5x+vjHP04A6J/9s39GH//4x+n//J//Q0ScRn10dES/8Au/QJ/4xCfoe77ne540jfqP/JE/Qh/5yEfoV3/1V+mlL33pVorx8fEx3bhxg/7qX/2r9OCDD9J73vMeWi6XX7MU4y+1xrOzM/o7f+fv0P3330+f/exn6b/+1/9Kr371q+mlL30p9X3/rFkjEdEP/MAP0OHhIX3oQx/aSjtdr9flPV8JOtVUzbe//e3027/92/RTP/VTX9NUzS+3zk9/+tP0j//xP6aPfvSj9NnPfpZ+4Rd+gV70ohfRd37ndz5r1vljP/Zj9OEPf5g++9nP0ic+8Qn6sR/7MTLG0H/5L/+FiC7HOX65dV6Gc/xS44kZVpflTC8dgCEi+smf/El6/vOfT03T0Ld/+7fTr/3arz3TU/oDjTe96U109913U9M09JznPIfe9KY30ac//eny+mazob/1t/4WXblyhZbLJf2Fv/AX6Atf+MLWM/73//7f9MY3vpEWiwVdv36dfuRHfoSmafpaL2VrfPCDHyQAX/T/W97yFiLiVOq///f/Pt24cYPatqXXve519NBDD2094+bNm/S93/u9tLe3RwcHB/TX//pfp7Ozs633/OZv/ib9yT/5J6ltW3rOc55D73rXu75WS/ySa1yv1/Rd3/VddMcdd1AIgV7wghfQW9/61i8C11/vaySiJ10jAPqZn/mZ8p6vFJ1+8IMfpD/8h/8wNU1DL3rRi7a+46s9vtw6P/e5z9F3fud30tWrV6ltW3rJS15Cb3/727fqhxB9fa/zb/yNv0EveMELqGkauuOOO+h1r3tdAS9El+Mcib70Oi/DOX6p8UQAc1nO1BARfe3sPbuxG7uxG7uxG7uxG///x6WKgdmN3diN3diN3diNb4yxAzC7sRu7sRu7sRu78awbOwCzG7uxG7uxG7uxG8+6sQMwu7Ebu7Ebu7Ebu/GsGzsAsxu7sRu7sRu7sRvPurEDMLuxG7uxG7uxG7vxrBs7ALMbu7Ebu7Ebu7Ebz7qxAzC7sRu7sRu7sRu78awbOwCzG7uxG7uxG7uxG8+6sQMwu7Ebu7Ebu7Ebu/GsGzsAsxu7sRu7sRu7sRvPuvH/ATg+iYNr53HgAAAAAElFTkSuQmCC", + "image/png": "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", "text/plain": [ "
" ] @@ -342,16 +405,21 @@ { "cell_type": "code", "execution_count": 11, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:37.674240Z", + "iopub.status.busy": "2026-10-03T21:42:37.674180Z", + "iopub.status.idle": "2026-10-03T21:42:38.734016Z", + "shell.execute_reply": "2026-10-03T21:42:38.733417Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[01;34mdata/ladi/Images/FEMA_CAP/2020/70349\u001b[00m\r\n", - "└── \u001b[01;35mDSC_0002_a89f1b79-786f-4dac-9dcc-609fb1a977b1.jpg\u001b[00m\r\n", - "\r\n", - "0 directories, 1 file\r\n" + "/Users/bull/.zshenv:.:1: no such file or directory: /Users/bull/.cargo/env\r\n", + "zsh:1: command not found: tree\r\n" ] } ], @@ -363,8 +431,23 @@ { "cell_type": "code", "execution_count": 12, - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:38.735270Z", + "iopub.status.busy": "2026-10-03T21:42:38.735198Z", + "iopub.status.idle": "2026-10-03T21:42:38.953358Z", + "shell.execute_reply": "2026-10-03T21:42:38.952859Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/Users/bull/.zshenv:.:1: no such file or directory: /Users/bull/.cargo/env\r\n" + ] + } + ], "source": [ "# let's explicitly cleanup this directory, since it is not handled for us\n", "!rm -rf data" @@ -503,7 +586,14 @@ { "cell_type": "code", "execution_count": 13, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:38.955031Z", + "iopub.status.busy": "2026-10-03T21:42:38.954953Z", + "iopub.status.idle": "2026-10-03T21:42:38.957104Z", + "shell.execute_reply": "2026-10-03T21:42:38.956569Z" + } + }, "outputs": [ { "name": "stdout", @@ -512,7 +602,8 @@ "persistent\n", "tmp_dir\n", "cloudpath_object\n", - "close_file\n" + "close_file\n", + "streaming\n" ] } ], @@ -536,7 +627,14 @@ { "cell_type": "code", "execution_count": 14, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:38.958430Z", + "iopub.status.busy": "2026-10-03T21:42:38.958328Z", + "iopub.status.idle": "2026-10-03T21:42:39.934538Z", + "shell.execute_reply": "2026-10-03T21:42:39.933622Z" + } + }, "outputs": [ { "name": "stdout", @@ -579,7 +677,14 @@ { "cell_type": "code", "execution_count": 15, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:39.936552Z", + "iopub.status.busy": "2026-10-03T21:42:39.936395Z", + "iopub.status.idle": "2026-10-03T21:42:40.903536Z", + "shell.execute_reply": "2026-10-03T21:42:40.902815Z" + } + }, "outputs": [ { "name": "stdout", @@ -631,7 +736,14 @@ { "cell_type": "code", "execution_count": 16, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:40.905496Z", + "iopub.status.busy": "2026-10-03T21:42:40.905345Z", + "iopub.status.idle": "2026-10-03T21:42:41.868783Z", + "shell.execute_reply": "2026-10-03T21:42:41.868220Z" + } + }, "outputs": [ { "name": "stdout", @@ -690,13 +802,26 @@ { "cell_type": "code", "execution_count": 17, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:41.871494Z", + "iopub.status.busy": "2026-10-03T21:42:41.871290Z", + "iopub.status.idle": "2026-10-03T21:42:42.875325Z", + "shell.execute_reply": "2026-10-03T21:42:42.874669Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Client cache mode set to: FileCacheMode.persistent\n", + "Client cache mode set to: FileCacheMode.persistent\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Image loaded...\n", "Cache file exists after finished reading: True\n", "Cache file exists after CloudPath is no longer referenced: True\n", @@ -767,9 +892,25 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 18, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:42.877336Z", + "iopub.status.busy": "2026-10-03T21:42:42.877127Z", + "iopub.status.idle": "2026-10-03T21:42:43.508526Z", + "shell.execute_reply": "2026-10-03T21:42:43.507926Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Image loaded via streaming...\n", + "Cache file exists: False\n" + ] + } + ], "source": [ "# Example: Streaming a large file\n", "streaming_client = S3Client(file_cache_mode=FileCacheMode.streaming)\n", @@ -789,9 +930,31 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 19, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:43.510541Z", + "iopub.status.busy": "2026-10-03T21:42:43.510398Z", + "iopub.status.idle": "2026-10-03T21:42:48.623419Z", + "shell.execute_reply": "2026-10-03T21:42:48.622914Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading file in chunks:\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Read 347 chunks without caching the file\n" + ] + } + ], "source": [ "# Example: Reading in chunks for memory efficiency\n", "streaming_client = S3Client(file_cache_mode=FileCacheMode.streaming)\n", @@ -819,20 +982,27 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": {}, + "execution_count": 20, + "metadata": { + "execution": { + "iopub.execute_input": "2026-10-03T21:42:48.625065Z", + "iopub.status.busy": "2026-10-03T21:42:48.624955Z", + "iopub.status.idle": "2026-10-03T21:42:48.757238Z", + "shell.execute_reply": "2026-10-03T21:42:48.756802Z" + } + }, "outputs": [ { "ename": "InvalidConfigurationException", "evalue": "If you use the 'FileCacheMode.persistent' cache mode, you must pass a `local_cache_dir` when you instantiate the client.", "output_type": "error", "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mInvalidConfigurationException\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[18], line 6\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# set the mode here so that it will be used when we instantiate the client\u001b[39;00m\n\u001b[1;32m 4\u001b[0m os\u001b[38;5;241m.\u001b[39menviron[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCLOUDPATHLIB_FILE_CACHE_MODE\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpersistent\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m----> 6\u001b[0m tmp_dir_client \u001b[38;5;241m=\u001b[39m \u001b[43mS3Client\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/code/cloudpathlib/cloudpathlib/s3/s3client.py:129\u001b[0m, in \u001b[0;36mS3Client.__init__\u001b[0;34m(self, aws_access_key_id, aws_secret_access_key, aws_session_token, no_sign_request, botocore_session, profile_name, boto3_session, file_cache_mode, local_cache_dir, endpoint_url, boto3_transfer_config, content_type_method, extra_args)\u001b[0m\n\u001b[1;32m 121\u001b[0m \u001b[38;5;66;03m# listing ops (list_objects_v2, filter, delete) only accept these extras:\u001b[39;00m\n\u001b[1;32m 122\u001b[0m \u001b[38;5;66;03m# https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html\u001b[39;00m\n\u001b[1;32m 123\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mboto3_list_extra_args \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 124\u001b[0m k: \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_extra_args[k]\n\u001b[1;32m 125\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRequestPayer\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExpectedBucketOwner\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 126\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_extra_args\n\u001b[1;32m 127\u001b[0m }\n\u001b[0;32m--> 129\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[1;32m 130\u001b[0m \u001b[43m \u001b[49m\u001b[43mlocal_cache_dir\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlocal_cache_dir\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 131\u001b[0m \u001b[43m \u001b[49m\u001b[43mcontent_type_method\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcontent_type_method\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 132\u001b[0m \u001b[43m \u001b[49m\u001b[43mfile_cache_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfile_cache_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 133\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/code/cloudpathlib/cloudpathlib/client.py:57\u001b[0m, in \u001b[0;36mClient.__init__\u001b[0;34m(self, file_cache_mode, local_cache_dir, content_type_method)\u001b[0m\n\u001b[1;32m 54\u001b[0m file_cache_mode \u001b[38;5;241m=\u001b[39m FileCacheMode\u001b[38;5;241m.\u001b[39mpersistent\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m file_cache_mode \u001b[38;5;241m==\u001b[39m FileCacheMode\u001b[38;5;241m.\u001b[39mpersistent \u001b[38;5;129;01mand\u001b[39;00m local_cache_dir \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m---> 57\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m InvalidConfigurationException(\n\u001b[1;32m 58\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIf you use the \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mFileCacheMode\u001b[38;5;241m.\u001b[39mpersistent\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m cache mode, you must pass a `local_cache_dir` when you instantiate the client.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 59\u001b[0m )\n\u001b[1;32m 61\u001b[0m \u001b[38;5;66;03m# if no explicit local dir, setup caching in temporary dir\u001b[39;00m\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m local_cache_dir \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "\u001b[0;31mInvalidConfigurationException\u001b[0m: If you use the 'FileCacheMode.persistent' cache mode, you must pass a `local_cache_dir` when you instantiate the client." + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mInvalidConfigurationException\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[20]\u001b[39m\u001b[32m, line 6\u001b[39m\n\u001b[32m 2\u001b[39m \n\u001b[32m 3\u001b[39m \u001b[38;5;66;03m# set the mode here so that it will be used when we instantiate the client\u001b[39;00m\n\u001b[32m 4\u001b[39m os.environ[\u001b[33m\"CLOUDPATHLIB_FILE_CACHE_MODE\"\u001b[39m] = \u001b[33m\"persistent\"\u001b[39m\n\u001b[32m 5\u001b[39m \n\u001b[32m----> \u001b[39m\u001b[32m6\u001b[39m tmp_dir_client = S3Client()\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/conductor/workspaces/cloudpathlib-v1/havana/cloudpathlib/s3/s3client.py:142\u001b[39m, in \u001b[36mS3Client.__init__\u001b[39m\u001b[34m(self, aws_access_key_id, aws_secret_access_key, aws_session_token, no_sign_request, botocore_session, profile_name, boto3_session, file_cache_mode, local_cache_dir, endpoint_url, addressing_style, boto3_transfer_config, content_type_method, extra_args, streaming_max_concurrency)\u001b[39m\n\u001b[32m 135\u001b[39m \u001b[38;5;28mself\u001b[39m.boto3_list_extra_args = {\n\u001b[32m 136\u001b[39m k: \u001b[38;5;28mself\u001b[39m._extra_args[k]\n\u001b[32m 137\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m [\u001b[33m\"\u001b[39m\u001b[33mRequestPayer\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mExpectedBucketOwner\u001b[39m\u001b[33m\"\u001b[39m]\n\u001b[32m 138\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m._extra_args\n\u001b[32m 139\u001b[39m }\n\u001b[32m 140\u001b[39m \u001b[38;5;28mself\u001b[39m._endpoint_url = endpoint_url\n\u001b[32m--> \u001b[39m\u001b[32m142\u001b[39m \u001b[30;43msuper\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m)\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m__init__\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m 143\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mlocal_cache_dir\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mlocal_cache_dir\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 144\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mcontent_type_method\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mcontent_type_method\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 145\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mfile_cache_mode\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mfile_cache_mode\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 146\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43mstreaming_max_concurrency\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mstreaming_max_concurrency\u001b[39;49m\u001b[30;43m,\u001b[39;49m\n\u001b[32m 147\u001b[39m \u001b[30;43m\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/conductor/workspaces/cloudpathlib-v1/havana/cloudpathlib/client.py:113\u001b[39m, in \u001b[36mClient.__init__\u001b[39m\u001b[34m(self, file_cache_mode, local_cache_dir, content_type_method, streaming_max_concurrency)\u001b[39m\n\u001b[32m 110\u001b[39m file_cache_mode = FileCacheMode.persistent\n\u001b[32m 112\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m file_cache_mode == FileCacheMode.persistent \u001b[38;5;129;01mand\u001b[39;00m local_cache_dir \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m113\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m InvalidConfigurationException(\n\u001b[32m 114\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mIf you use the \u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mFileCacheMode.persistent\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m cache mode, you must pass a `local_cache_dir` when you instantiate the client.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 115\u001b[39m )\n\u001b[32m 117\u001b[39m \u001b[38;5;66;03m# if no explicit local dir, setup caching in temporary dir\u001b[39;00m\n\u001b[32m 118\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m local_cache_dir \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "\u001b[31mInvalidConfigurationException\u001b[39m: If you use the 'FileCacheMode.persistent' cache mode, you must pass a `local_cache_dir` when you instantiate the client." ] } ], @@ -875,7 +1045,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.1" + "version": "3.12.13" }, "vscode": { "interpreter": { diff --git a/docs/docs/script/caching.py b/docs/docs/script/caching.py index f42cf09a..658fa319 100644 --- a/docs/docs/script/caching.py +++ b/docs/docs/script/caching.py @@ -197,16 +197,15 @@ # # ### Automatically # -# We provide a number of different ways for the cache to get cleared automatically for you depending on your use case. These range from no cache clearing done by `cloudpathlib` (`"persistent"`), to the most aggressive (`"close_file"`), which deletes a file from the cache as soon as the file handle is closed and the file is uploaded to the cloud, if it was changed). +# We provide a number of different ways for the cache to get cleared automatically for you depending on your use case. These range from no cache clearing done by `cloudpathlib` (`"persistent"`), to the most aggressive (`"close_file"`), which deletes a file from the cache as soon as the file handle is closed and the file is uploaded to the cloud, if it was changed). There is also a `"streaming"` mode that bypasses caching entirely for direct I/O. # # The modes are defined in the `FileCacheMode` enum, which you can use directly or you can use the corresponding string value. Examples of both methods are included below. # -# Note: There is not currently a cache mode that _never_ writes a file to disk and only keeps it in memory. -# # - `"persistent"` - `cloudpathlib` does not clear the cache at all. In this case, you must also pass a `local_cache_dir` when you instantiate the client. # - `"tmp_dir"` (_default_) - Cached files are saved using Python's [`TemporaryDirectory`](https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory). This provides three potential avenues for the cache to get cleared. First, cached files are removed by `cloudpathlib` when the `*Client` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called. Second, Python clears a temporary directory if all references to that directory leave scope. Finally since the folder is in an operating system temp directory, it will be cleared by the OS (which, depending on the OS, may not happen until system restart). # - `"cloudpath_object"` - cached files are removed when the `CloudPath` object is garbage collected. This happens on the next garbage collection run after the object leaves scope or `del` is called. # - `"close_file"` - since we only download a file to the cache on read/write, we can ensure the cache is empty by removing the cached file as soon as the read/write is finished. Reading/writing the same `CloudPath` multiple times will result in re-downloading the file from the cloud. Note: For this to work, `cloudpath` needs to be in control of the reading/writing of files. This means your code base should use the `CloudPath.write_*`, `CloudPath.read_*`, and `CloudPath.open` methods. Using `CloudPath.fspath` (or passing the `CloudPath` as a `PathLike` object to another library) will not clear the cache on file close since it was not opened by `cloudpathlib`. +# - `"streaming"` - supported read/write modes stream directly from/to cloud storage using range requests for reads and multipart/block uploads for writes, without writing cache files to disk (append and update modes are the exception: they fall back to the local cache, which is removed as soon as the file is closed, like `close_file`). This mode uses only in-memory buffers and is ideal for large files or memory-constrained environments. Note: `.fspath` and similar properties are not available in streaming mode. Supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS (HTTP writes are a single request, spooled to a temporary file above 5 MiB). # # Note: Although we use it in the examples below, for `"cloudpath_object"` and `"tmp_dir"` you normally shouldn't need to explicitly call `del`. Letting Python garbage collection run on its own once all references to the object leave scope should be sufficient. See details [in the Python docs](https://docs.python.org/3/reference/datamodel.html?highlight=__del__#object.__del__)). # @@ -358,6 +357,57 @@ shutil.rmtree(client_cache_dir) +# ### File cache mode: `"streaming"` +# +# The `"streaming"` mode provides direct streaming I/O without any local caching. This is ideal for: +# +# - **Large files** that don't fit in memory or disk +# - **Partial reads** where you only need part of a file +# - **Sequential processing** where you read/write once +# - **Memory-constrained environments** +# +# Unlike other cache modes, streaming mode: +# - Reads data directly from cloud storage using range requests +# - Writes data directly to cloud storage using multipart/block uploads +# - Never creates cached files on disk for read and write modes (append and update modes fall back to the cache and clean it up on close) +# - Works with standard Python file-like interfaces +# +# **Note:** Streaming mode is supported for S3, Azure Blob Storage, Google Cloud Storage, and HTTP/HTTPS. See the [Streaming I/O](../streaming_io/) page for details. +# + +# Example: Streaming a large file +streaming_client = S3Client(file_cache_mode=FileCacheMode.streaming) + +flood_image = streaming_client.CloudPath( + "s3://ladi/Images/FEMA_CAP/2020/70349/DSC_0002_a89f1b79-786f-4dac-9dcc-609fb1a977b1.jpg" +) + +# Read the image in streaming mode - no cache file created +with flood_image.open("rb") as f: + i = Image.open(f) + print("Image loaded via streaming...") + +# No cache file exists - streaming mode doesn't create one +print("Cache file exists: ", flood_image._local.exists()) + + +# Example: Reading in chunks for memory efficiency +streaming_client = S3Client(file_cache_mode=FileCacheMode.streaming) + +flood_image = streaming_client.CloudPath( + "s3://ladi/Images/FEMA_CAP/2020/70349/DSC_0002_a89f1b79-786f-4dac-9dcc-609fb1a977b1.jpg" +) + +# Read file in 8KB chunks without loading entire file +print("Reading file in chunks:") +chunk_count = 0 +with flood_image.open("rb", buffering=8192) as f: + while chunk := f.read(8192): + chunk_count += 1 + +print(f"Read {chunk_count} chunks without caching the file") + + # We show an example below of `InvalidConfigurationException` being raised with the mode being interpreted from the environment variable. import os From c8a426728ea4a09046326bc3e57a4be41aa66ae6 Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sat, 3 Oct 2026 15:07:26 -0700 Subject: [PATCH 34/35] Cover the GCS import fallbacks and multipart part guard The fallbacks run at import time, so the tests re-import gsclient in a subprocess with the relevant modules made unimportable (reloading in-process would re-register GSClient and desynchronise the rest of the suite). Coverage's subprocess patch is enabled so those lines count. Co-Authored-By: Claude Fable 5.1 --- pyproject.toml | 2 ++ tests/test_gs_specific.py | 74 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 44e9b5a3..69d4d369 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,4 +72,6 @@ markers = ["no_seed_assets: test creates all of its own cloud data and needs no [tool.coverage.run] source = ["cloudpathlib"] +# measure Python subprocesses started by tests (import-fallback tests re-import in a child) +patch = ["subprocess"] omit = ["cloudpathlib/legacy/glob.py"] diff --git a/tests/test_gs_specific.py b/tests/test_gs_specific.py index 048d9580..46673636 100644 --- a/tests/test_gs_specific.py +++ b/tests/test_gs_specific.py @@ -1,3 +1,5 @@ +import subprocess +import sys from urllib.parse import urlparse, parse_qs from google.api_core import retry @@ -109,3 +111,75 @@ def test_timeout_and_retry(gs_rig): p.write_text("hello world") assert custom_retry.mocked_retries == 1 + + +# ---- import-time fallbacks for optional / missing GCS modules ---------------------------- +# +# These run in a subprocess: reloading gsclient in-process would re-register a new GSClient +# class with the implementation registry and desynchronise every other test. + + +def _run_isolated(blocked_modules, body): + """Import cloudpathlib.gs.gsclient with `blocked_modules` made unimportable, run `body`, + and return its stdout.""" + code = "\n".join( + ["import sys"] + + [f"sys.modules[{name!r}] = None" for name in blocked_modules] + + ["import cloudpathlib.gs.gsclient as gsclient", body] + ) + result = subprocess.run( + [sys.executable, "-c", code], capture_output=True, text=True, timeout=120 + ) + assert result.returncode == 0, result.stderr + return result.stdout.strip() + + +def test_import_without_google_cloud_storage(): + """With the GCS SDK missing, the module imports, marks the dependency as unavailable, and + leaves the optional transfer manager unset.""" + out = _run_isolated( + ["google.cloud.storage.client"], + 'print(gsclient.implementation_registry["gs"].dependencies_loaded, ' + "gsclient.transfer_manager is None)", + ) + assert out == "False True" + + +def test_import_xml_multipart_from_resumable_media_fallback(): + """Older google-cloud-storage versions ship the XML multipart classes in + google-resumable-media instead of the storage package.""" + out = _run_isolated( + ["google.cloud.storage._media.requests"], + "import google.resumable_media.requests as fallback\n" + "print(gsclient.XMLMPUContainer is fallback.XMLMPUContainer)", + ) + assert out == "True" + + +def test_streaming_write_requires_xml_multipart_support(): + """Without any XML multipart implementation, reads still work but a streaming write fails + with an actionable error.""" + out = _run_isolated( + ["google.cloud.storage._media.requests", "google.resumable_media.requests"], + "from cloudpathlib.exceptions import CloudPathNotImplementedError\n" + "assert gsclient.XMLMPUContainer is None and gsclient.XMLMPUPart is None\n" + "client = gsclient.GSClient.__new__(gsclient.GSClient) # no credentials needed\n" + "try:\n" + " gsclient.GSClient._initiate_multipart_upload(client, None)\n" + "except CloudPathNotImplementedError as e:\n" + " print(e)", + ) + assert "google-cloud-storage 2.10 or newer" in out + + +def test_bytes_multipart_part_cannot_be_uploaded_twice(): + from cloudpathlib.gs.gsclient import _bytes_mpu_part_class + + part = _bytes_mpu_part_class()("https://storage.googleapis.com/b/o", "upload-1", b"abc", 1) + method, url, body, _headers = part._prepare_upload_request() + assert (method, body) == ("PUT", b"abc") + assert url.endswith("?partNumber=1&uploadId=upload-1") + + part._finished = True + with pytest.raises(ValueError, match="already been uploaded"): + part._prepare_upload_request() From bbdddfb526b47d839e8e50bbf98cd692d54f4a1d Mon Sep 17 00:00:00 2001 From: Peter Bull <1799186+pjbull@users.noreply.github.com> Date: Sun, 4 Oct 2026 10:16:16 -0700 Subject: [PATCH 35/35] Show the mode name in the caching docs table of contents The inline-code part of the 'File cache mode' headers was dropped from the rendered table of contents, leaving five identical entries. Co-Authored-By: Claude Fable 5.1 --- docs/docs/caching.ipynb | 10 +++++----- docs/docs/script/caching.py | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/docs/caching.ipynb b/docs/docs/caching.ipynb index 11130734..7fdc729b 100644 --- a/docs/docs/caching.ipynb +++ b/docs/docs/caching.ipynb @@ -617,7 +617,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### File cache mode: `\"close_file\"`\n", + "### File cache mode: close_file\n", "\n", "Example instantiation by passing a string to the client.\n", "\n", @@ -665,7 +665,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### File cache mode: `\"cloudpath_object\"`\n", + "### File cache mode: cloudpath_object\n", "\n", "Example instantiation by passing enum member to the client.\n", "\n", @@ -724,7 +724,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### File cache mode: `\"tmp_dir\"` (default)\n", + "### File cache mode: tmp_dir (default)\n", "\n", "Local cache file exists after file is closed for reading.\n", "\n", @@ -788,7 +788,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### File cache mode: `\"persistent\"`\n", + "### File cache mode: persistent\n", "\n", "If `local_cache_dir` is specified, but `file_cache_mode` is not, then the mode is set to `\"persistent\"` automatically. Conversely, if you set the mode to `\"persistent\"` explicitly, you must also pass `local_cache_dir` or the `Client` will raise `InvalidConfigurationException`.\n", "\n", @@ -872,7 +872,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### File cache mode: `\"streaming\"`\n", + "### File cache mode: streaming\n", "\n", "The `\"streaming\"` mode provides direct streaming I/O without any local caching. This is ideal for:\n", "\n", diff --git a/docs/docs/script/caching.py b/docs/docs/script/caching.py index 658fa319..69930564 100644 --- a/docs/docs/script/caching.py +++ b/docs/docs/script/caching.py @@ -222,7 +222,7 @@ print("\n".join(FileCacheMode)) -# ### File cache mode: `"close_file"` +# ### File cache mode: close_file # # Example instantiation by passing a string to the client. # @@ -243,7 +243,7 @@ print("Cache file exists after finished reading: ", flood_image._local.exists()) -# ### File cache mode: `"cloudpath_object"` +# ### File cache mode: cloudpath_object # # Example instantiation by passing enum member to the client. # @@ -274,7 +274,7 @@ print("Cache file exists after CloudPath is no longer referenced: ", local_cached_file.exists()) -# ### File cache mode: `"tmp_dir"` (default) +# ### File cache mode: tmp_dir (default) # # Local cache file exists after file is closed for reading. # @@ -309,7 +309,7 @@ print("Cache file exists after Client is no longer referenced: ", local_cached_file.exists()) -# ### File cache mode: `"persistent"` +# ### File cache mode: persistent # # If `local_cache_dir` is specified, but `file_cache_mode` is not, then the mode is set to `"persistent"` automatically. Conversely, if you set the mode to `"persistent"` explicitly, you must also pass `local_cache_dir` or the `Client` will raise `InvalidConfigurationException`. # @@ -357,7 +357,7 @@ shutil.rmtree(client_cache_dir) -# ### File cache mode: `"streaming"` +# ### File cache mode: streaming # # The `"streaming"` mode provides direct streaming I/O without any local caching. This is ideal for: #