MRが楽しい

MRやVRについて学習したことを書き残す

AWESOME-COPILOTのドキュメントを読む その67(Dataverse SDK for Python)

本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つDataverse SDK for Pythonについてです。

Dataverse SDK for Python

Dataverse SDK for Pythonはて「Dataverse Python SDKをどう使わせるか」を粒度別・用途別に分解したインストラクションです。
役割別に11種類のインストラクションに分割されています。

以下のページからDataverse SDK for Pythonのインストールボタンをクリックして取得します。
11種類のインストラクションがあるので利用したいインストラクションを選択して取得します。
github.com

インストールボタンを押してDataverse SDK for Pythonダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このインストラクションを読み込むと、Copilotはインストラクションの種類に応じてDataverse + Python開発のサポートを行います。

11種類のインストラクションは以下のように役割が異なります。

インストラクションの種類

インストラクションを大別すると以下の4つのカテゴリに分かれます。

  • ① 入門 / 全体像
  • ② 実装スタイル(品質・設計)
  • ③ 機能別ガイド(特定用途)
  • ④ 実務・運用(テスト・ユースケース)

11種類のインストラクションの違いを表にまとめると以下の通りです。

カテゴリ ファイル 役割
入門 Getting Started 基本理解
入門 sdk セットアップ
品質 best-practices 設計ルール
品質 error-handling 例外処理
品質 testing-debugging テスト
機能 api-reference API辞書
機能 modules 構造理解
機能 advanced-features 上級機能
機能 file-operations ファイル
機能 pandas-integration 分析
実務 real-world-usecases 実例

入門・基本レイヤー

dataverse-python.instructions.md:最上位の基礎ガイド(Getting Started)

以下の指示内容を持ちます。

  • SDKの全体像
  • CRUD(create/retrieve/update/delete)
  • 基本的なクエリ
  • 初学者向けの「どう使うか」

何も知らない状態から使えるようにする役割を持ちます。

dataverse-python-sdk.instructions.md:公式Quickstartの整理版

以下の指示内容を持ちます。

  • セットアップ手順
  • 認証方法
  • 最初の動作コード

Getting Startedよりも実行手順寄りのインストラクションです。

実装品質レイヤー(プロダクションコード用)

dataverse-python-best-practices.instructions.md:設計・書き方のルール

以下の指示内容を持ちます。

  • コードスタイル
  • 再利用性
  • パフォーマンス考慮
  • API呼び出しの最適化

ちゃんとしたコードを書かせる役割を持ちます。

dataverse-python-error-handling.instructions.md:例外処理特化

以下の指示内容を持ちます。

  • APIエラー処理
  • リトライ戦略
  • タイムアウト対応
  • ログ設計

best-practicesの中でも「エラーだけを切り出した専門版」です。

dataverse-python-testing-debugging.instructions.md:テスト・デバッグ

以下の指示内容を持ちます。

  • ユニットテスト
  • モック
  • ログ解析
  • デバッグ方法

壊れないコードを作る役割を持ちます。

機能別ガイド(用途特化)

dataverse-python-api-reference.instructions.md:API辞書

以下の指示内容を持ちます。

  • 各メソッドの説明
  • 各メソッドのパラメータ一覧
  • 各メソッドの戻り値

pythonのリファレンスを参照して調べる役割を持ちます。

dataverse-python-modules.instructions.md:SDK構造の説明

以下の指示内容を持ちます。

  • モジュール構成
  • クラス関係
  • importの使い方

API referenceより「構造理解寄り」の動作を行います。

dataverse-python-advanced-features.instructions.md:上級機能

以下の指示内容を持ちます。

  • バッチ処理
  • FetchXML
  • expand(JOIN的なやつ)
  • 高度クエリ

基本では足りないより上級処理を取り扱う役割を持ちます。
(例:複雑なデータ取得、expandやFetchXML は上級用途)

dataverse-python-file-operations.instructions.md:ファイル操作特化

以下の指示内容を持ちます。

  • ファイル列アップロード
  • ダウンロード
  • 添付データ管理

Dataverse特有の「ファイル列」操作を取り扱う役割を持ちます。

dataverse-python-pandas-integration.instructions.md:データ分析連携

以下の指示内容を持ちます。

  • DataFrame化
  • Pandas連携
  • 分析・機械学習用途

Pythonならではの強み部分を取り扱う役割を持ちます。
(JSON → DataFrame変換など)

実務レイヤー(使い方テンプレ)

dataverse-python-real-world-usecases.instructions.md:ユースケース集

以下の指示内容を持ちます。

  • 実務シナリオ
  • ワークフロー例
  • アーキテクチャ例

pythonコードを実際にどう組むかを検討する役割を持ちます。