gcloud-aio-storage is an asyncio-compatible Python client library for Google Cloud Storage. It provides full CRUD operations for buckets and blobs, including streaming support for large files, parallel upload capabilities, and built-in session management. Designed for high-performance cloud storage operations with modern async/await patterns, it is currently at version 9.6.4 and follows an active release cadence.
Install & Compatibility
Where this runs
tested against v9.6.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.925 runs
installs and imports cleanly · install 0.0s · import 0.918s · 63.4MB
glibcpy 3.10–3.925 runs
installs and imports cleanly · install 6.2s · import 0.811s · 65MB
65MB installed
● package 65MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
from gcloud.aio.storage import Storage
from gcloud.aio.storage import Bucket
from gcloud.aio.storage import Blob
from gcloud.aio.storage import StreamResponse
This quickstart demonstrates how to initialize the Storage client, upload a byte string, download it, and then delete the object. Ensure that Google Cloud authentication (e.g., via `GOOGLE_APPLICATION_CREDENTIALS` environment variable) and the `GCLOUD_PROJECT` environment variable are set, or provide them as arguments to the `Storage` client.
import asyncio
import os
from gcloud.aio.storage import Storage
async def main():
# GCLOUD_PROJECT, GOOGLE_APPLICATION_CREDENTIALS, or similar env vars
# should be set for authentication.
project_id = os.environ.get('GCLOUD_PROJECT', 'your-gcp-project-id')
bucket_name = 'your-gcs-bucket-name'
file_name = 'hello_gcloud_aio.txt'
content = b'Hello, gcloud-aio-storage!'
async with Storage(project=project_id) as storage:
print(f"Uploading '{file_name}' to bucket '{bucket_name}'...")
await storage.upload(bucket_name, file_name, content, content_type='text/plain')
print(f"'{file_name}' uploaded successfully.")
print(f"Downloading '{file_name}' from bucket '{bucket_name}'...")
downloaded_content = await storage.download(bucket_name, file_name)
print(f"Downloaded content: {downloaded_content.decode()}")
print(f"Deleting '{file_name}' from bucket '{bucket_name}'...")
await storage.delete(bucket_name, file_name)
print(f"'{file_name}' deleted successfully.")
if __name__ == '__main__':
asyncio.run(main())
Upgrade
Version history
Breaking-change detection hasn't run for this library yet.
Audit
Security & dependencies
CVE tracking and dependency tree are planned for a later release.