Skip to content

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

Usage guide · API reference

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:

async for version in client.list_blob_versions("report.pdf"):
    print(version.version_id)
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.