///SDK・CLI
SateAIs / Delivery 02 / SDK・CLI

SDK・CLI

SateAIs API を各言語から手軽に呼び出せる公式 SDK(JavaScript / TypeScript・Python)と CLI を提供。 HTTP通信・認証・ジョブのポーリングを内包し、数行で衛星データ解析を組み込めます。

これは何か

SDK・CLIは、SateAIs API を各言語のライブラリ/コマンドとして提供する形態。認証・非同期ジョブのポーリング・エラー処理を内包し、REST APIを直接扱わずに解析を呼び出せます。

誰向けか

自社のアプリケーション・データ処理パイプライン・スクリプトに衛星データ解析を組み込みたい開発者・データエンジニア。

何ができるか

npm / pip でインストールし、APIキーを設定するだけで、数行のコードやワンコマンドで解析を投入し、結果 GeoJSON を取得できます。

Packages · 提供パッケージ

3つのかたちで SateAIs APIへ

JavaScript / TypeScript SDK、Python SDK、そして CLI。いずれも SateAIs API と同じ解析を、それぞれの開発環境から自然に呼び出せます。

01 / JavaScript · TypeScript

@sateais/sdk

npm install @sateais/sdk

async/await でSateAIs APIを呼び出せる公式 JS/TS SDK。標準 fetch を利用した依存ゼロ設計で、Node.js とブラウザの双方で動作します。

  • 依存ゼロ(標準 fetch を利用)
  • ESM / CommonJS デュアル出力
  • 型定義(.d.ts)同梱で型補完が効く
  • Node.js 18+ / モダンブラウザ対応
GitHub リポジトリ ↗
02 / Python

sateais

pip install sateais

SateAIs APIをプログラムから同期的に呼び出せる公式 Python SDK。1パッケージに SDK と CLI の両方を同梱しています。

  • SDK と CLI を単一パッケージで提供
  • 完了までポーリングする jobs.wait
  • きめ細かな例外クラスを用意
  • 認証は環境変数・認証ファイルで自動解決
GitHub リポジトリ ↗
03 / CLI

sateais(コマンド)

pip install sateais

ターミナルから解析を投入し、結果 GeoJSON を保存できる公式 CLI。Python SDK に同梱され、スクリプトやCI/CDへの組み込みに最適です。

  • ワンコマンドで投入から結果保存まで
  • --wait で完了まで待機して取得
  • --json でパラメータを一括指定
  • 終了コードで結果を判定(CI/CD向け)
GitHub リポジトリ ↗
Quick start · 使い方

数行で最初の解析

APIキーを設定したら、解析メソッドを呼ぶだけ。ジョブの投入から完了待ち、結果取得までを SDK / CLI が引き受けます。

import { Client } from "@sateais/sdk";

const client = new Client({ apiKey: process.env.SATEAIS_API_KEY });

// 解析ジョブを投入
const job = await client.analyze.ship({ scene_id: "S1A_IW_GRDH_..." });

// 完了までポーリングして結果(GeoJSON)を取得
const result = await client.jobs.wait(job.job_id);
console.log(result.features.length, "ships found");
Note解析は非同期で実行されます。jobs.wait (CLI は --wait)が完了までポーリングし、結果 GeoJSON を返します。
SDK · 解析メソッド

SDKで呼び出せる解析

JavaScript / TypeScript・Python の SDK は共通のインターフェースを持ちます。SateAIs API と同じ5解析に加え、ジョブ管理メソッドを提供します。

analyze.ship(...)scene_id または polygon + dateSAR画像から船舶の位置・サイズを検知
analyze.oilslick(...)scene_id または polygon + dateSAR画像から流出油(オイルスリック)を検知
analyze.newbuilding(...)polygon + date_start + date_end2時点比較で新築・再開発を検知
analyze.disappearbuilding(...)polygon + date_start + date_end2時点比較で除却・倒壊を検知
analyze.timeseries(...)polygon + date_start + date_end期間を通した変化スコアを算出
jobs.status(job_id)job_id投入したジョブの状態を1回取得
jobs.result(job_id)job_id完了済ジョブの結果(GeoJSON)を取得
jobs.wait(job_id)job_id完了までポーリングして結果を取得
パラメータの詳細(APIリファレンス)↗
CLI · コマンド

ターミナルから解析を実行

Python パッケージに同梱の sateais コマンド。日次の解析バッチや CI/CD パイプラインへの組み込みに適しています。

sateais loginAPIキーを ~/.sateais/credentials に保存(省略時はプロンプト)
sateais analyze <endpoint>解析を投入。--wait で完了まで待機、-o FILE で結果を保存
sateais jobs status <job_id>ジョブの現在の状態を取得
sateais jobs result <job_id>完了済ジョブの結果(GeoJSON)を取得
sateais jobs wait <job_id>完了までポーリングして結果を取得
sateais scene <scene_id>Sentinel-1 シーンIDを構成要素にデコード
Details · 詳細

認証・実行・エラー処理

運用に必要な要点です。詳細は各リポジトリの README・APIリファレンスをご確認ください。

認証の自動解決

APIキーは、明示指定した引数 > 環境変数 SATEAIS_API_KEY の優先度で解決されます。Python では加えて ~/.sateais/credentials も参照します。キーは SateAIs コンソールで発行できます。

非同期ジョブとポーリング

解析は非同期ジョブとして実行されます。jobs.wait(CLIは --wait)が完了までポーリングし、結果 GeoJSON を返します。検知には30〜60分かかる場合があります。

きめ細かな例外

認証エラー・クレジット不足・レート制限・ジョブ失敗などを個別の例外クラスとして送出。CLI は用途別の終了コードを返すため、CI/CD での分岐制御にも使えます。

コンソールでAPIキーを発行 JS/TS SDK (GitHub) ↗Python SDK・CLI (GitHub) ↗