Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

northstar-sdk

Python client for the Northstar platform API. It authenticates with the API key of an integration (developer) account and talks only to the platform's Next.js API (NORTHSTAR_API_URL), never to a database or a warehouse.

Install

pip install northstar-sdk
# or
uv add northstar-sdk

Configure

Variable Description Example
NORTHSTAR_API_URL Platform API base, including /api https://data.example.com/api
NORTHSTAR_API_KEY Integration account API key northstar_…

Example

from northstar_sdk import Client

client = Client()

orders = client.datasets.upsert(
    location={"schema": "marts", "table": "orders"},
    name="Orders",
    type="TABLE",
    layer="GOLD",
    storage_system_slug="warehouse",
)
orders.assign_to_team("sales")
orders.analyze()

Documentation

The user guide is the Developers section of the platform's help center (Help, in the app). Its source is in this repository:

A change to the SDK's public behaviour updates those articles, in English and French, in the same change (see the root CLAUDE.md).

Maintaining the SDK

The SDK is a thin HTTP client: request bodies are validated by the servers, not by the SDK.

flowchart LR
  Sdk["northstar-sdk Client"]
  Bff["Next.js /api/feature/..."]
  FastApi["FastAPI /v1/feature/..."]
  Compute["northstar-compute"]
  Prisma["Prisma / Postgres"]
  Sdk -->|"X-API-KEY"| Bff
  Bff -->|"proxyAuthenticatedJson"| FastApi
  FastApi --> Compute
  Bff --> Prisma
Resource Next.js route Canonical body
Storage system /api/feature/data-storage-systems/create|upsert → FastAPI DataStorageSystemWriteRequest
Dataset /api/feature/datasets/create|upsert → FastAPI DatasetWriteRequest
Document collection /api/feature/document-collections/create|upsert|ingest → FastAPI DocumentCollectionWriteRequest
Data source /api/feature/data-sources/create|upsert, PATCH …/[id]/write → FastAPI DataSourceWriteRequest
Data source category /api/feature/data-source-categories/create|upsert (Prisma) Zod in those routes
KPI POST /api/feature/kpi-catalogue camelCase in that route
Dashboard POST /api/feature/dashboards registerDashboardSchema
Figure POST /api/feature/builder/figures Builder figure route
Team / user / organization /api/teams, /api/users, /api/organizations Those Next.js routes
  • Storage credentials are checked in warehouse/credentials.py (validate_and_normalize_credentials).
  • Dataset and collection location keys: LOCATION_KEY_PARTS in datasets/location.py and document_collections/location.py.
  • Resources proxied to FastAPI use snake_case JSON; Next.js catalogue resources (kpi-catalogue, dashboards, figures) use camelCase. The SDK maps snake_case Python arguments for you.

When you change a FastAPI *WriteRequest or a Next.js Zod schema:

  1. Update the matching handle _payload() / _base_payload() in src/northstar_sdk/handles/.
  2. Update the namespace arguments and src/northstar_sdk/types/params.py.
  3. Run uv run --package northstar-sdk pytest tests/test_typing_params.py.
  4. Update the SDK articles of the help center (front/content/help/*/python-sdk.md, sdk-recipes.md, sdk-reference.md).

Publishing: PUBLISHING.md.

Metadata

Release files for northstar-sdk 1.5rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for northstar-sdk 1.5rc1
File Size Uploaded
northstar_sdk-1.5rc1.tar.gz 45.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for northstar-sdk 1.5rc1
File Interpreter ABI Platform
northstar_sdk-1.5rc1-py3-none-any.whl Python 3 none any Details

Total release size: 112.1 kB

Release files / northstar_sdk-1.5rc1.tar.gz

Download URL northstar_sdk-1.5rc1.tar.gz
Size 45.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9d87074597263c405b1fb28cdc29719611d4a273fb9496bfc336f312e2612c0f
BLAKE2b-256 checksum
How to use checksums
7eeddff7f889f878b74d8041aee2480453a9d28bafb31169884aef37c57d937d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / northstar_sdk-1.5rc1-py3-none-any.whl

Download URL northstar_sdk-1.5rc1-py3-none-any.whl
Size 66.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6374f01e5a569097d56c1bbc3022f2cf31dadd6be608e445b825052d4b47561d
BLAKE2b-256 checksum
How to use checksums
3bcef49ad7e8b770650f39cad780bc8c9c709de325fab39c3198c028a38925e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page