Lepak: a lightweight and generic Alibaba Cloud OpenAPI client inspired by Boto3.
Project description
Lepak
Lepak is a lightweight, generic Alibaba Cloud OpenAPI client inspired by Boto3.
Chinese documentation: see README_CN.md.
Why Lepak
Compared with official Alibaba Cloud SDKs, Lepak focuses on low-friction integration:
- One unified client for RPC-style services.
- Plain
dictrequest parameters instead of service-specific request classes. - Sync-first API with optional async support.
Installation
pip install lepak
Example 1: Basic Usage
import lepak
client = lepak.client(
service_name="ecs",
version="2014-05-26",
access_key_id="your-ak",
access_key_secret="your-sk",
region_id="cn-hangzhou",
)
response = client.call(
action="DescribeInstances",
params={"PageSize": 10},
)
print(response)
Example 2: Official SDK Comparison
Lepak:
import lepak
client = lepak.client("ecs", "2014-05-26", "your-ak", "your-sk", "cn-hangzhou")
result = client.call("DescribeInstances", {"PageSize": 10})
print(result)
Official SDK (same action, more setup and product-specific models):
from alibabacloud_ecs20140526.client import Client as EcsClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ecs20140526 import models as ecs_models
config = open_api_models.Config(
access_key_id="your-ak",
access_key_secret="your-sk",
)
config.endpoint = "ecs.cn-hangzhou.aliyuncs.com"
client = EcsClient(config)
request = ecs_models.DescribeInstancesRequest(region_id="cn-hangzhou", page_size=10)
response = client.describe_instances(request)
print(response.body.to_map())
Example 3: Async Usage
import asyncio
import lepak
async def main():
client = lepak.client(
service_name="slb",
version="2014-05-15",
region_id="us-east-1",
)
result = await client.acall("DescribeLoadBalancers", {"PageSize": 2})
print(result)
asyncio.run(main())
Example 4: RuntimeOptions Usage
import lepak
from alibabacloud_tea_util.models import RuntimeOptions
client = lepak.client("ecs", "2014-05-26", "your-ak", "your-sk", "cn-hangzhou")
runtime = RuntimeOptions(
read_timeout=10000,
connect_timeout=5000,
autoretry=True,
max_attempts=3,
)
result = client.call("DescribeInstances", {"PageSize": 5}, runtime=runtime)
print(result)
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lepak-0.1.1.tar.gz.
File metadata
- Download URL: lepak-0.1.1.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a1cf5604683c22d3620d94394956f98192e7909da932ec2e7e1ff97e01c5b2a
|
|
| MD5 |
d3c93e7601c2cd0c418910d781a1b52d
|
|
| BLAKE2b-256 |
0306629bb8bbf201b85ba3b3761c553415877768f5532307f741817cedbf5f9c
|
File details
Details for the file lepak-0.1.1-py3-none-any.whl.
File metadata
- Download URL: lepak-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbccfc623d4315e1a9c34997dfc64fa6793804e77de792b2da9f4c4e49f5c547
|
|
| MD5 |
9daa8614317d267d448866e998c133b7
|
|
| BLAKE2b-256 |
c200fe57a7c8eacd7a38990dedbb496d2d6783728f3ff44a0a2d768eb336542b
|