ibm-cos-sdk
IBM SDK for Python
What it is and what it does
IBM Cloud Object Storage SDK is a Python library derived from boto3 that enables developers to programmatically interact with IBM Cloud Object Storage using an S3-compatible API. It handles authentication via IBM Cloud IAM credentials, supports bucket and object operations (create, upload, download, delete), and includes features like lifecycle policies, archive tiers, and immutable object storage for compliance use cases. The package can serve as a drop-in replacement for boto3 when applications only need S3-like object storage and do not depend on other AWS services.
The SDK depends on ibm-cos-sdk-core for authentication and request handling, ibm-cos-sdk-s3transfer for multipart uploads and downloads, and jmespath for response parsing. It is actively maintained, supports Python 3.8 through 3.14, and carries no known security vulnerabilities. Installation involves multiple transitive dependencies, which increases setup complexity but is typical for cloud SDKs.
Use it for:
- Upload and download files to IBM Cloud Object Storage buckets from Python applications without managing raw HTTP requests.
- Implement automatic archival policies on buckets to move infrequently accessed objects to cheaper storage tiers after a specified period.
- Configure immutable object storage policies to enforce SEC-compliant record retention and prevent accidental or malicious deletion.
- Migrate applications from AWS S3 to IBM COS by using the SDK as a drop-in replacement when no other AWS services are in use.
- Manage bucket lifecycle configurations, access control, and metadata programmatically as part of cloud infrastructure automation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python SDK for interacting with IBM Cloud Object Storage using an S3-compatible API, allowing developers to upload, download, and manage objects in cloud storage buckets.
Yes, with conditions. The package is production-stable, actively maintained, and carries no known vulnerabilities. Install it if you need to interact with IBM Cloud Object Storage from Python and accept the high dependency footprint. Avoid it if your application requires AWS services beyond S3, or if you are building on a minimal environment where multiple transitive dependencies create friction.
Install
ibm-cos-sdk on PyPI
pip
pip install ibm-cos-sdkuv
uv add ibm-cos-sdkpoetry
poetry add ibm-cos-sdkInstalling ibm-cos-sdk
Before you install
High install friction due to multiple runtime dependencies (ibm-cos-sdk-core, ibm-cos-sdk-s3transfer, jmespath). Package is actively maintained with recent releases and supports current Python versions, reducing long-term compatibility risk.
License in practice
Distributed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions. Users must retain license and copyright notices.
Quickstart
pip install ibm-cos-sdk
from ibm_cos_sdk import ibm_boto3
cos = ibm_boto3.client('s3', ibm_api_key_id='key', ibm_service_instance_id='id', ibm_auth_endpoint='endpoint', endpoint_url='url')
cos.put_object(Bucket='bucket', Key='key', Body=b'data')
Requires IBM Cloud credentials (API key, service instance ID, authentication endpoint, and service endpoint) to authenticate and connect to IBM COS.
Verify before relying
- Whether the package maintains full boto3 API compatibility or has documented deviations beyond S3-like operations.
- Performance characteristics and throughput limits compared to direct S3 or other cloud storage SDKs.
- Support status for the legacy Aspera high-speed transfer feature and timeline for removal.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | high — source build required |
| Runtime dependencies | 3 — ibm-cos-sdk-core, ibm-cos-sdk-s3transfer, jmespath |
| Maintenance | actively maintained — 122 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,594,356/month — #3,731 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ibm_cos_sdk-2.16.2.tar.gz
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
ibm-cos-sdk-coreProvides a low-level Python interface to IBM…
permissive · top 5,000 on PyPI
ibm-cos-sdk-s3transferManages transfers to and from IBM Cloud Object…
permissive · top 5,000 on PyPI
ibm-platform-servicesPython client library for IBM Cloud Platform…
permissive · top 5,000 on PyPI
cos-python-sdk-v5Python SDK for Tencent Cloud's COS (Cloud…
permissive · top 5,000 on PyPI
ibm-vpcPython client library for programmatically…
permissive · top 15,000 on PyPI
ibm-watson-machine-learningPython client library for IBM Watson Machine…
permissive · top 5,000 on PyPI
ibm-secrets-manager-sdkA Python client library for programmatically…
permissive · top 15,000 on PyPI
coscmdCOSCMD is a command-line tool for managing…
permissive · top 15,000 on PyPI
ibmcloudantPython client library for IBM Cloudant and…
permissive · top 5,000 on PyPI
ibm-cloud-sdk-coreProvides core authentication, HTTP request…
permissive · top 5,000 on PyPI