SDKs
Official Python and JavaScript/TypeScript SDKs for the SateAIs API.
The official SateAIs SDKs wrap the REST API with a typed client, automatic credential resolution, and a built-in polling helper that waits for a job to finish. They share the same method shape across languages, so examples translate one-to-one.
Choose your language
Quickstart
Submit, poll, and save a result end-to-end in either language.
Python
pip install sateais — typed client, polling helper, and a sateais CLI.
JavaScript / TypeScript
npm install @sateais/sdk — zero-dependency, ESM + CommonJS, bundled types.
Installation at a glance
pip install sateaisfrom sateais import Client
client = Client() # reads SATEAIS_API_KEY
job = client.analyze.ship(scene_id="S1A_IW_GRDH_...")
result = client.jobs.wait(job.job_id) # poll until completed
print(len(result["features"]), "ships detected")npm install @sateais/sdkimport { Client } from "@sateais/sdk";
const client = new Client(); // reads SATEAIS_API_KEY
const job = await client.analyze.ship({ scene_id: "S1A_IW_GRDH_..." });
const result = await client.jobs.wait(job.job_id); // poll until completed
console.log(result.features.length, "ships detected");What the SDKs handle for you
- Authentication — resolve the API key from an argument or the
SATEAIS_API_KEYenvironment variable. - Typed methods — one method per detection type under
client.analyze, plusclient.jobsfor status and results. - Polling —
jobs.wait()polls until the job completes and returns the GeoJSON, raising a typed error on failure or timeout. - Errors — HTTP and job failures are mapped to typed exception classes that mirror the API error codes.
The SDKs are thin wrappers over the REST API. Endpoints, parameters, credit costs, and limits are identical — see the API Reference for the underlying contract.