Skip to content

MultiCloud-Py

Write once, deploy to any supported cloud

MultiCloud-Py is a cloud-agnostic Python SDK providing unified interfaces for cloud services. Build applications against a consistent API and select a cloud provider when you create a client.

Get started API reference

Key features

  • Cloud-agnostic APIs: use the same client interface across supported providers.
  • Provider isolation: install only the service and provider packages you need.
  • Native cloud SDKs: provider implementations use the underlying cloud SDKs.
  • Consistent errors: handle a shared exception hierarchy in application code.
  • Conformance tests: shared tests verify behavior across provider implementations.

Supported services

Service AWS GCP Documentation
Blob Storage S3 Cloud Storage Usage guide
Security Token Service STS IAM credentials Usage guide
Pub/Sub SNS / SQS Pub/Sub Usage guide
IAM IAM IAM Usage guide
Document Store DynamoDB Firestore API reference

Ali Cloud distributions currently reserve package names; their provider implementations are planned. See the roadmap for development plans.

One API across clouds

from multicloud.blob.blob_client import BucketClient

with BucketClient(provider="aws", bucket="my-bucket", region="us-west-2") as client:
    client.upload(key="hello.txt", payload=b"Hello, MultiCloud-Py!")
    response = client.download(key="hello.txt")
    print(response.content)

Select provider="gcp" and use your Cloud Storage bucket and region to run the same operations on GCP. Configure credentials for the selected provider before running the example.

Explore the SDK

Community

Meet the team and reach out with questions about the SDK or contributing.

MultiCloud-Py is maintained by Salesforce and released under the Apache License 2.0.