# CAPI: python

## 简介

Python 通信组件与选手接口

## 目标

### 基本目标

* 基于Protobuf和gRPC，在C++接口的基础上修改，为客户端提供Python通信组件
* 为选手提供游戏接口

### 重要目标

* 针对Python的语言特性，做出相应调整
* 改进选手接口，设计可用的异步接口

### 提高目标

* 提供其他语言的接口：Java、Rust、C#……

## 统一约定

* Python版本使用Python3.9.16

## 注意事项

* 充分利用Python的语言特性，尽量防止对C++接口做简单的语言翻译
* 降低各个模块的耦合度，注意避免相互依赖、环形依赖等问题
* 避免忙等待，注意线程安全，做好线程同步
* 思考如何避免选手利用Python的特性做出违法操作
