mcpField
P
python-notebook

python-notebook

github.com/valdesrosierデータ・データベース8107 回インストール4 週間前に更新
リポジトリ

python-notebook について

ホスト型またはローカル環境で ArcGIS API for Python のノートブックを扱うためのスキルです。ランタイムに応じた依存関係、環境に合った認証、破壊的なデータ操作の防止を重視します。

主な機能

  1. 01ホスト型・ローカルランタイムの案内
  2. 02ライブラリと Python のバージョン確認
  3. 03環境に応じた認証
  4. 04破壊的操作の承認確認

活用シーン

  1. 01インポート前の ArcGIS ライブラリ確認
  2. 02ローカル導入時の Python 選定
  3. 03GIS データを変更・削除するコードの準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/valdesrosier/skills --skill python-notebook

インストール後、Claude Code で/python-notebookを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

ArcGIS API for Python と ArcGIS Notebooks

まず実行環境のターゲットを特定する

ライブラリのバージョンは実行環境によって固定されます。個別に選ぶことはできません。何かをインポートする前に、該当するターゲットを確認してください。ここからルールが分かれます。

  • ホスト型 ArcGIS Notebooks(Enterprise または Online)
  • ローカル/conda/pip 環境

ホスト型ノートブック:実行環境マニフェストを確認する

ホスト型の実行環境のバージョンは、Notebook Server のバージョンに合わせられています(例:「ArcGIS Notebook Server Standard 12.0」)。2 つの実行環境がコンテナーイメージとして提供されています。

  • Standard
  • Advanced — Standard のすべてに ArcPy が加わります。

ArcPy を使用できるのは Advanced のみです。Standard に切り替えたノートブックで ArcPy を含むセルを実行すると、エラーになります。各実行環境での作成には、それぞれ個別のポータル権限が必要です。インポートする前に対象バージョンの実行環境マニフェストを確認してください。ライブラリが存在すると決めつけたり、実行環境を回避して pip でインストールしたりしないでください。

実行環境を変更すると、動作していたコードが壊れることがあります

前例:arcgis 2.4.0 では Jupyter Notebook 7/JupyterLab 4 向けの新しいマップウィジェットが導入されました。旧ウィジェットを前提に書かれたコードには移行が必要です。arcgis 2.3.1 を使い続ければ、Jupyter Notebook 6 を維持できます。ノートブックの実行環境を切り替える前に、このリスクを伝え、使用するバージョンのリリースノートで現在の動作を確認してください。

ローカルインストール:Python のバージョンをライブラリに合わせる

arcgis 2.4.2+ には Python 3.10.x–3.13.x が必要です。使用するバージョンのシステム要件ページで正確な範囲を確認し、推測で判断しないでください。

非推奨モジュールに注意する

GeoAnalytics Server の最終リリースは Enterprise 11.3 です。arcgis.geoanalytics は組み込みの Python API を通じて 11.3 以前でのみサポートされています。それ以降のリリースでは使用しないでください。

認証:環境に合わせ、認証情報をコードに直接記述しない

  • ホスト型ノートブック内では、GIS("home") で認証します。
  • それ以外の環境では、明示的な認証情報による認証を使用します。ただし、認証情報をコードに直接記述せず、環境またはプロンプトから取得してください。

破壊的操作をガードする

truncate、delete、delete_features、overwrite を呼び出すコードや、アイテムまたはレイヤーを削除するコードを生成する前に、いったん停止し、以下の各項目を順に満たしてください。対象となるのは元に戻せないデータ操作のみで、認証情報や組織の衛生管理は含みません。

  1. 対象を明示する。 呼び出しの対象となる組織と、正確なアイテム ID またはレイヤー ID を示します。対象が特定されていない場合は停止します。
  2. 対象の内容を示す。 対象のタイトル、タイプ、フィーチャ数を表示し、失われる内容をユーザーが確認できるようにします。
  3. 本番環境ではないことを確認する。 その旨を明示し、処理を進める前にユーザーの確認を得ます。
  4. まず元に戻せる方法を優先する。 破壊的な呼び出しを実行する前に影響範囲を把握できるよう、クエリ優先/件数確認優先、またはドライランの方法を提示します。
  5. 確認なしに出力しない。 1~4 の項目を満たし、ユーザーが確認するまで、破壊的な呼び出しを提示しません。ユーザーが自信ありげに話している場合も同様です。

完了条件

実行環境のターゲットが特定され、その環境にライブラリが存在することが確認されている(またはローカルインストール用に Python のバージョンが固定されている)こと、認証が環境に合っており認証情報がコードに直接記述されていないこと、そして破壊的な呼び出しがガードを通過していること。

コメント