Skip to main content
Both SDKs cover the same operations. TypeScript exposes each as a method on ParmanaClient. Python exposes each area as an attribute of the client, such as client.policy or client.receipt, and adds a shortcut method on the client for most of them. Both forms are listed.
Version. Rows marked 1.3.0 need SDK 1.3.0, published on 2026-09-25 to npm (npm install @parmana/sdk) and PyPI (pip install parmana). Every other row works in 1.2.0.

Executing and deciding

Evidence and verification

The offline verifiers make no network call. Get the public key once with publicKey() or public_key() and keep it. In Python they need pip install "parmana[verify]", and from 1.3.0 they accept either the raw JSON or the SDK’s own model.

Execution Intents

Policies and governance

Caller and service

Operations with no SDK method, and why

Errors

Both SDKs raise a typed error for every non 2xx response. From 1.3.0 both carry the HTTP status: error.statusCode in TypeScript, error.status_code in Python (Python has had it since before 1.3.0). The server’s own code, for example CONNECTOR_NOT_REGISTERED or SIGNING_UNAVAILABLE, is on serverCode / server_code of InternalServerError and of AuthorizationError when present.

How this is kept true

  • scripts/check-sdk-docs.ts fails the build when a page names a method, option or export that does not exist in the SDK.
  • Unit tests in typescript/test/Alignment.test.ts and python/tests/test_sdk_alignment.py check the method, path and body of every operation added in 1.3.0.
  • Both SDKs verify the same real server signed Execution Intent offline. A step up authorization signed by each SDK is accepted by the server’s own verifier.
  • On 2026-09-25 both SDKs were run against a live self hosted deployment: caller, public key, propose, list, sign and approve a policy change, a reused signature refused, a refused request with its Refusal Record verified, an authorized request with no connector (503, CONNECTOR_NOT_REGISTERED), its Execution Intent verified offline, and Trust Record listing. 11 of 11 checks in each SDK.