Metadata-Version: 2.4
Name: volcengine-python-sdk
Version: 5.0.42
Summary: Volcengine SDK for Python
Home-page: https://github.com/volcengine/volcengine-python-sdk
Author-email: volc-engine <volc-sdk-team@bytedance.com>
License-Expression: Apache-2.0
Keywords: volcengine,sdk
Platform: any
Requires-Python: >=2.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt
License-File: NOTICE.md
Requires-Dist: certifi>=2017.4.17
Requires-Dist: python-dateutil>=2.1
Requires-Dist: six>=1.16
Requires-Dist: urllib3>=1.26.5
Provides-Extra: ark
Requires-Dist: pydantic<3,>=1.9.0; extra == "ark"
Requires-Dist: httpx<1,>=0.23.0; extra == "ark"
Requires-Dist: anyio<5,>=3.5.0; extra == "ark"
Requires-Dist: cached-property; python_version < "3.8" and extra == "ark"
Requires-Dist: cryptography>=44.0.1; extra == "ark"
Dynamic: home-page
Dynamic: license-file
Dynamic: platform

中文 | [English](README.EN.MD)

# Volcengine SDK for Python

## 目录

* Requirements
* Install
* Usage
* FAQ

### Requirements ###

* Python 版本需要不低于2.7。
* 如使用方舟服务（`arkruntime`），Python 版本需要不低于 3.6。

### Install ###

Install via pip

```sh
pip install volcengine-python-sdk
```

如需使用方舟，请安装 Ark 可选依赖：

```sh
pip install "volcengine-python-sdk[ark]"
```

### Usage ###

#### 详细使用文档 ####

SDK 详细使用文档（凭证配置、Endpoint、Transport、超时、重试、异常处理、Debug）请参考：[SDK 接入文档](./docs/0-Overview-zh.md)

#### Configuration Usage ####

步骤一：启动时初始化，配置 Configuration 全局默认参数

```python
import volcenginesdkautoscaling
import volcenginesdkcore

configuration = volcenginesdkcore.Configuration()
configuration.client_side_validation = True  # 客户端是否进行参数校验
configuration.scheme = "https"  # https or http
configuration.debug = False  # 是否开启调试
configuration.logger_file = "sdk.log"

volcenginesdkcore.Configuration.set_default(configuration)
```

步骤二：获取 Client

```python
def get_client(ak, sk, region):
    # 包含默认属性
    configuration = volcenginesdkcore.Configuration()
    configuration.ak = ak
    configuration.sk = sk
    configuration.region = region
    client = volcenginesdkautoscaling.AUTOSCALINGApi(volcenginesdkcore.ApiClient(configuration))
    return client
```

#### Endpoint 设置 ####

如果您要自定义SDK的Endpoint，可以按照以下示例代码设置：

```python
configuration = volcenginesdkcore.Configuration()
configuration.host = 'ecs.cn-beijing-autodriving.volcengineapi.com'
```

火山引擎标准的Endpoint规则说明：

| Regional 服务                                                                                                                            | Global 服务                                                                          |
|----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| `{service}.{region}.volcengineapi.com` <br> 例如：云服务ecs在cn-beijing-autodriving Region域名为： `ecs.cn-beijing-autodriving.volcengineapi.com` | `{service}.volcengineapi.com` <br> 例如：访问控制iam为Global服务，域名为：`iam.volcengineapi.com` |

注：

- Service中存在_符号时，Endpoint时需转为-符号。存在大写字母时需转成小写。

#### 完整示例 ####

```python
from __future__ import print_function
import volcenginesdkecs
import volcenginesdkcore
from pprint import pprint
from volcenginesdkcore.rest import ApiException

if __name__ == '__main__':
    configuration = volcenginesdkcore.Configuration()
    configuration.ak = "Your AK"
    configuration.sk = "Your SK"
    configuration.region = "cn-beijing"
    configuration.client_side_validation = True
    # set default configuration
    volcenginesdkcore.Configuration.set_default(configuration)

    # use global default configuration
    api_instance = volcenginesdkecs.ECSApi()
    # use custom configuration
    # api_instance = volcenginesdkecs.ECSApi(volcenginesdkcore.ApiClient(configuration))

    try:
        resp = api_instance.run_instances(
            volcenginesdkecs.RunInstancesRequest(
                instance_name="insname",
                instance_type="ecs.g1.large",
                zone_id="cn-beijing-a",
                network_interfaces=[volcenginesdkecs.NetworkInterfaceForRunInstancesInput(
                    subnet_id="subnet-2d68bh73d858ozfekrm8fj",
                    security_group_ids=["sg-2b3dq7v0ha0w2dx0eg0nhljv"],
                )],
                image_id="image-ybvz29l3da4ox5h0m9",
                volumes=[volcenginesdkecs.VolumeForRunInstancesInput(
                    volume_type="ESSD",
                    size=40,
                )],
                key_pair_name="vtable",
                instance_charge_type="PostPaid"
            ))
        pprint(resp)
    except ApiException as e:
        print("Exception when calling ECSApi->run_instances: %s\n" % e)

```

### FAQ ###

关于 SDK 使用时碰到的常见问题，请查看 [FAQ](FAQ.md)

## Security and privacy
This project takes security seriously. 
For vulnerability reporting and supported versions, see [SECURITY.md](SECURITY.md)
