Feature Roadmap¶
Browse the SDK APIs by service. Support describes whether an operation is implemented; provider-specific behavior is explained in the notes.
Supported Unsupported
Blob Storage¶
BucketClient supports every operation below on AWS and GCP.
Upload, download, and copy¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
upload |
Upload bytes or a binary stream | Supported | Supported |
upload_from_path |
Upload from a local file | Supported | Supported |
download |
Download object content | Supported | Supported |
download_to_path |
Download to a local path | Supported | Supported |
download_to_file |
Download to a binary file | Supported | Supported |
download_stream |
Iterate content chunks | Supported | Supported |
copy |
Copy to another bucket | Supported | Supported |
copy_from |
Copy from another bucket | Supported | Supported |
delete |
Delete one object | Supported | Supported |
delete_objects |
Delete multiple objects | Supported | Supported |
Listing and metadata¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
list_page |
List with prefix, delimiter, and pagination | Supported | Supported |
list_blob_versions |
List object versions | Supported | Supported |
does_object_exist |
Check object existence | Supported | Supported |
does_bucket_exist |
Check bucket existence | Supported | Supported |
get_metadata |
Read object metadata | Supported | Supported |
get_tags |
Read tags | Supported | Supported |
set_tags |
Replace tags | Supported | Supported |
generate_presigned_url |
Generate a signed upload or download URL | Supported | Supported |
Object protection¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
get_object_lock |
Read retention and legal hold | Supported | Supported |
update_object_retention |
Update retention | Supported | Supported |
update_legal_hold |
Update legal hold | Supported | Supported |
Multipart upload¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
initiate_multipart_upload |
Start a multipart upload | Supported | Supported |
upload_part |
Upload a part | Supported | Supported |
complete_multipart_upload |
Complete a multipart upload | Supported | Supported |
list_parts |
List uploaded parts | Supported | Supported |
abort_multipart_upload |
Abort a multipart upload | Supported | Supported |
Client lifecycle¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
close |
Release client resources | Supported | Supported |
Use with for automatic client cleanup.
AsyncBucketClient supports every operation below on AWS and GCP.
Upload, download, and copy¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
upload |
Upload bytes or a binary stream | Supported | Supported |
upload_from_path |
Upload from a local file | Supported | Supported |
download |
Download object content | Supported | Supported |
download_to_path |
Download to a local path | Supported | Supported |
download_to_file |
Download to a binary file | Supported | Supported |
download_stream |
Iterate content chunks | Supported | Supported |
copy |
Copy to another bucket | Supported | Supported |
copy_from |
Copy from another bucket | Supported | Supported |
delete |
Delete one object | Supported | Supported |
delete_objects |
Delete multiple objects | Supported | Supported |
Listing and metadata¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
list_page |
List with prefix, delimiter, and pagination | Supported | Supported |
list_blob_versions |
List object versions | Supported | Supported |
does_object_exist |
Check object existence | Supported | Supported |
does_bucket_exist |
Check bucket existence | Supported | Supported |
get_metadata |
Read object metadata | Supported | Supported |
get_tags |
Read tags | Supported | Supported |
set_tags |
Replace tags | Supported | Supported |
generate_presigned_url |
Generate a signed upload or download URL | Supported | Supported |
Object protection¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
get_object_lock |
Read retention and legal hold | Supported | Supported |
update_object_retention |
Update retention | Supported | Supported |
update_legal_hold |
Update legal hold | Supported | Supported |
Multipart upload¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
initiate_multipart_upload |
Start a multipart upload | Supported | Supported |
upload_part |
Upload a part | Supported | Supported |
complete_multipart_upload |
Complete a multipart upload | Supported | Supported |
list_parts |
List uploaded parts | Supported | Supported |
abort_multipart_upload |
Abort a multipart upload | Supported | Supported |
Directory operations¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
upload_directory |
Upload local directory contents | Supported | Supported |
download_directory |
Download objects under a prefix | Supported | Supported |
delete_directory |
Delete objects under a prefix | Supported | Supported |
Client lifecycle¶
| API | Purpose | AWS | GCP |
|---|---|---|---|
close |
Release client resources | Supported | Supported |
Await coroutine operations and use async with for cleanup.
list_blob_versions() returns an async iterator directly:
Blob Storage provider notes
Object protection needs appropriate resource configuration and permissions.
AWS uses ETag write matching and GCP uses generation/version matching. A
standalone unsupported token raises an error; when both if_match and
if_version_match are supplied, each provider uses its supported token.
Version ordering remains provider-native; use is_latest or sort explicitly.
STS¶
StsClient provides identity and temporary-credential operations.
Usage guide · API reference
| API | Purpose | AWS | GCP |
|---|---|---|---|
get_caller_identity |
Identify the caller | Supported | Supported |
assume_role |
Obtain temporary role credentials | Supported | Supported |
get_access_token |
Obtain refreshed or scoped credentials | Supported | Supported |
generate_service_account_token |
Impersonate a service account | Unsupported | Supported |
assume_role_with_web_identity |
Exchange a web-identity token | Supported | Supported |
close |
Release client resources | Supported | Supported |
StsUtilities exposes the following additional operation:
| API | Purpose | AWS | GCP |
|---|---|---|---|
create_signed_auth_request |
Create a signed caller-identity authentication request | Supported | Unsupported |
STS provider notes
All operations marked supported have implementations. Credential types, permissions, and token parameters are prerequisites, not a separate support level. GCP identity/audience tokens need compatible service-account or impersonated credentials; scoped tokens need a service-account email.
AWS get_access_token uses session tokens and ignores audience and
scopes. GCP assume_role impersonates a service account and ignores
session_name, external_id, policy, and tags; use the implemented
credential_scope path for downscoping. Token lifetimes remain provider-specific.
AWS generate_service_account_token and GCP
create_signed_auth_request explicitly raise UnsupportedOperationException.
These are the two unsupported provider paths shown above.
IAM¶
IamClient manages identities and permissions.
Usage guide · API reference
| API | Purpose | AWS | GCP |
|---|---|---|---|
create_identity |
Create or resolve an identity | Supported | Supported |
get_identity |
Read its identifier | Supported | Supported |
delete_identity |
Delete an identity | Supported | Supported |
attach_inline_policy |
Attach policy permissions | Supported | Supported |
get_inline_policy_details |
Read a policy document or binding | Supported | Supported |
get_attached_policies |
List attached policy names or roles | Supported | Supported |
remove_policy |
Remove policy permissions | Supported | Supported |
close |
Release client resources | Supported | Supported |
IAM provider notes
All listed IAM APIs are implemented. Their policy representations differ:
AWS uses named inline policies; GCP uses project-level role bindings.
On GCP, lookup/removal uses role names such as roles/storage.objectViewer.
GCP applies ALLOW statements, skips DENY statements, rejects conditions on translated ALLOW statements, and does not use statement resources to restrict the binding. Read the IAM guide before applying a policy: the same method name does not guarantee equivalent policy semantics on every provider.
Pub/Sub¶
Publish with TopicClient; receive and acknowledge with SubscriptionClient.
Usage guide · API reference
| API | Purpose | AWS | GCP |
|---|---|---|---|
send |
Publish a message (TopicClient) | Supported | Supported |
receive |
Receive a message (SubscriptionClient) | Supported | Supported |
send_ack |
Acknowledge one message | Supported | Supported |
send_acks |
Batch acknowledgments; returns a Future | Supported | Supported |
send_nack |
Make one message available for redelivery | Supported | Supported |
send_nacks |
Batch negative acknowledgments; returns a Future | Supported | Supported |
can_nack |
Check negative-acknowledgment capability | Supported | Supported |
get_attributes |
Read subscription metadata | Supported | Supported |
is_retryable |
Classify a failure for retry | Supported | Supported |
close |
Flush pending work and release the client | Supported | Supported |
Pub/Sub provider notes
AWS publishing selects awssns or awssqs; AWS subscriptions use aws.
GCP uses gcp. Both clients expose close; the other rows identify their
relevant client. Batch acknowledgments return Futures whose results should
be observed. Redelivery follows provider visibility/deadline limits.
The current get_attributes implementations leave
approximate_number_of_messages unset. is_retryable classifies errors;
it does not promise to retry every failed operation.
Document Store¶
DocStoreClient supports document operations and batching through actions().
API reference
| API | Purpose | AWS | GCP |
|---|---|---|---|
actions |
Build a list of document actions | Supported | Supported |
create |
Create a document | Supported | Supported |
replace |
Replace an existing document | Supported | Supported |
put |
Upsert a document | Supported | Supported |
delete |
Delete a document | Supported | Supported |
get |
Read into a supplied document | Supported | Supported |
batch_get |
Read multiple documents | Supported | Supported |
batch_put |
Upsert multiple documents | Supported | Supported |
batch_delete |
Delete multiple documents | Supported | Supported |
close |
Release client resources | Supported | Supported |
Batching within DocStoreClient
actions() returns a fluent builder within the DocStore API. Chain
create, replace, put, delete, or get and execute with run().
enable_atomic_writes() requests transactional writes, and before_do()
registers a before-operation hook. These belong to DocStore batching,
rather than a separate service interface.
Revision checks, supported field shapes, and transaction limits depend on
the provider. Query/filter/order/pagination APIs are not exposed by the
current public DocStoreClient.
Ali provider distributions for Blob Storage, STS, and Pub/Sub remain placeholders. The tables show the implemented AWS and GCP providers. Reviewed October 22, 2026.