Registry / aws / esdk-obs-python

esdk-obs-python

JSON →
library3.26.2pypypi✓ verified 89d ago

The official Huawei Cloud Object Storage Service (OBS) Python SDK, providing APIs to manage buckets and objects on OBS. Current version 3.26.2 is released regularly.

pip install esdk-obs-python
INSTALL
IMPORT
SIG · ESDK-OBS-PYTHON
E
esdk-obs-python
awspythonv3.26.2
Install
4.5s avg
Import
828ms
Disk
31MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v3.26.2 · 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
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.860s · 32MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 4.5s · import 0.796s · 33MB
31MB installed
● package 31MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ObsClient
✓ from obs import ObsClient
✗ from esdk_obs_python import ObsClient
The package is installed as esdk-obs-python, but import uses 'obs' module.
PutObjectHeader
✓ from obs import PutObjectHeader

Initialize ObsClient, list buckets, and handle errors.

from obs import ObsClient import os ak = os.environ.get('OBS_AK', '') sk = os.environ.get('OBS_SK', '') server = os.environ.get('OBS_SERVER', 'https://your-endpoint.com') obsClient = ObsClient(access_key_id=ak, secret_access_key=sk, server=server) resp = obsClient.listBuckets() if resp.status < 300: for bucket in resp.body.buckets: print(bucket.name) else: print(f"Error: {resp.errorCode} {resp.errorMessage}") obsClient.close()
Debug
Known issues
breakingIn v3.x, import path changed from earlier SDK versions. Use 'from obs import ObsClient', not 'from esdk_obs_python import ...'.
fix
Use correct import: from obs import ObsClient
affects: >=3.0.0
gotchaThe ObsClient must be closed explicitly to release resources. Not doing so can cause connection leaks.
fix
Always call obsClient.close() after operations, or use a context manager wrapper.
affects: all
gotchaHTTP status codes are not Python exceptions; check resp.status < 300. Do not assume success.
fix
Inspect resp.status and handle error codes via resp.errorCode/resp.errorMessage.
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'obs'
Installing the package but import fails because the module name is 'obs' not 'esdk_obs_python'.
fix
Use 'from obs import ObsClient' after installing esdk-obs-python.
obs.ObsClient() got an unexpected keyword argument 'region'
Using an outdated initialization pattern with region parameter; current SDK expects server URL.
fix
Use ObsClient(access_key_id=ak, secret_access_key=sk, server='https://your-endpoint.com')
AttributeError: 'NoneType' object has no attribute 'buckets'
Resp is None or error response has no body. Usually means network/authentication failure not caught.
fix
Check resp.status before accessing resp.body.
Upgrade
Version history
3.26.2latest on PyPI · released Mar 7, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
46 hits · last 30 days
node
44
Amazon
1
Resources
esdk-obs-python — pip install esdk-obs-python · libregistry