SuperAPI AI 工具集

dataverse-sdk-dev

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:该技能面向参与 PowerPlatform Dataverse Client Python SDK 仓库本身开发的贡献者,而非使用该 SDK 的开发者,用于指导 SDK 开发任务。

主要能力与约定: API 设计方面,新增公共方法应放入 src/PowerPlatform/Dataverse/operations/ 下对应命名空间模块(records.py、query.py、tables.py、batch.py),由 client.py 通过命名空间属性暴露;公共类型与常量放在独立模块。每个公共方法需在 README.md 提供示例,新增功能需同步更新 README 与 SKILL 文件,避免破坏性变更,非公共 API 的模块、文件、函数需加 _ 前缀。

异步客户端:SDK 提供 AsyncDataverseClient,位于 src/PowerPlatform/Dataverse/aio/,同步客户端新增功能需同步加入异步客户端;纯逻辑放在 data/_odata_base.py 供同步与异步共用,HTTP 调用代码分别放在 data/_odata.py 与 aio/data/_async_odata.py;异步测试在 tests/unit/aio/,示例在 examples/aio/;aiohttp 为可选依赖,安装命令为 pip install "PowerPlatform-Dataverse-Client[async]",不得移入必需依赖。

命名规则:结构属性(列)使用全小写 LogicalName,用于 $select、$filter、$orderby 及记录负载键;导航属性(关系/查找)使用区分大小写的 Navigation Property Name(通常为 PascalCase),用于 $expand 与 @odata.bind 注解键。处理记录字典或构建查询参数时应使用 _lowercase_keys(),不要手动对所有键调用 .lower(),不要小写 $expand 值或 @odata.bind 键前缀,遍历记录键时跳过含 @odata. 的键。

代码风格:不使用 emoji;控制台输出使用 [INFO]、[WARN]、[ERR]、[OK] 前缀;不添加 noqa 注释;公共 API 使用 Sphinx 风格文档字符串并附示例;各模块通过 all 声明导出,包 init.py 使用 all = [];提交前运行 python -m black <changed files>。

文档字符串类型标注:为兼容 Microsoft Learn 文档管线,:type: 与 :rtype: 应使用 Python 括号表示法(如 list[str]、dict[str, typing.Any])、用 or 表示联合类型、用 ~ 前缀表示 SDK 类型短名,避免使用 :class: 配合 of、mapping、to 等词,否则会产生损坏的 xref 链接。

限制:资料未提供该技能的安装方式、收费、平台支持范围及具体使用步骤,暂未提供。