The `s3torchconnectorclient` library is an internal S3 client implementation that underpins the `s3torchconnector` library. It provides high-throughput data access and checkpointing capabilities for PyTorch training jobs interacting with Amazon S3. It is currently at version 1.5.0 and is actively developed with regular releases, often in sync with the broader `s3torchconnector` project.
pip install s3torchconnectorclientVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to directly configure the `S3ClientConfig` which is part of `s3torchconnectorclient`. While direct interaction with this low-level client is possible, it's more commonly used by passing `S3ClientConfig` instances to higher-level APIs provided by the `s3torchconnector` library for datasets and readers. This example sets a custom part size and throughput target. Ensure AWS credentials are configured (e.g., via environment variables or AWS CLI) for actual S3 operations.
Update custom S3 client logic to use `HeadObjectResult` and adapt if the `key` field was previously accessed. For most users leveraging `s3torchconnector`'s high-level APIs, this change is internal and should not require direct modification.
Review the documentation for `DCPOptimizedS3Reader Errors` and test existing workloads thoroughly. If previous behavior is required, explicitly configure `S3StorageReader` with `S3ReaderConstructor.sequential()` or `S3ReaderConstructor.range_based()`.
Upgrade to Python 3.9 or newer. The library currently supports Python 3.8-3.14.
Users on macOS x86_64 should plan to migrate to an ARM-based Mac or use a Linux environment.
If experiencing issues with third-party S3 services, you can disable the new integrity protections by setting `request_checksum_calculation='when_required'` and `response_checksum_validation='when_required'` in your AWS configuration (e.g., via `~/.aws/config` or environment variables). It is generally not recommended to disable these for Amazon S3 itself.
Do not share `S3Reader` instances across multiple threads. For multiprocessing with `DataLoader`, each worker process automatically creates its own `S3Reader` instance, which is the recommended pattern.