PRADIOTAMIGHTY DEVELOPERS

MIGHTY DEVELOPERS

Python SDK

Install the Python development wheel. The API and account clients are included, with no third-party runtime dependencies.

Start here →

Install the SDK

Download a package for your language and follow its installation guide. After your application is approved, use its credentials and the scopes required by each API.

Development SDK · 259 service methods · 124 account and console methods

Archives are downloadable here, not published to Maven Central, npm or PyPI. Installing a package does not grant API access. Use approved sandbox credentials with https://www.pradiota.com/sandbox/v1. These packages preserve the configured API path. Current sandbox API base URL: https://www.pradiota.com/sandbox/v1.

Read the preview manifest →

Python development SDK

Version 0.0.0.dev6 · 186,360 bytes

Download Python SDK

SHA-256
939eb09639605d5603a97c73701600c58494b9c55034d9e9b391078b4814ba1d

Runtime requirements

Python 3.10 or newer; preview built and tested on Python 3.12.14.

The wheel includes the native API client and DeveloperHumanClient; no third-party runtime dependencies.

An approved organization grant and issued client credentials for platform.capabilities:read.

Native API base URL https://www.pradiota.com/sandbox/v1. These packages preserve the configured API path. Use approved sandbox credentials.

Install locally

python -m pip install --no-deps https://www.pradiota.com/assets/developer-sdks/preview-20261007-sandbox-path/mighty_developers_staging-0.0.0.dev6-py3-none-any.whl
# Save the example as example.py:
python example.py

Make your first request

Create client credentials after your application is approved and its sandbox license is active. Set MIGHTY_CLIENT_ID and MIGHTY_CLIENT_SECRET in your server environment. The example exchanges them for a platform.capabilities:read token, then calls GET /v1/capabilities. Java and TypeScript use platformCapabilitiesGet; Python uses platform_capabilities_get. Save the example in the file named in the install instructions, then run it locally. Check the HTTP status, request ID and response body.

First request — approved application required
import os
from mighty_developers import Client

client = Client("https://www.pradiota.com/sandbox/v1")
auth = client.client_credentials(os.environ["MIGHTY_CLIENT_ID"],
    os.environ["MIGHTY_CLIENT_SECRET"], "platform.capabilities:read")
if (auth.status != 200 or not isinstance(auth.body, dict)
        or not isinstance(auth.body.get("access_token"), str)
        or not auth.body["access_token"].strip()):
    raise RuntimeError(f"Credential exchange failed: HTTP {auth.status}")
response = client.platform_capabilities_get(auth.body["access_token"])
print(response.status, response.request_id, response.body)

Fresh-install checks: 2496 service transport cases and 67 account transport cases passed, with no failures or skips. These check installation and HTTP behavior. These checks use a local API test server and do not verify requests made with your credentials.

Transport verification

All 259 service methods passed HTTP tests in each language with origin, /v1 and /sandbox/v1 addresses. These tests verify client HTTP behavior against a local API test server.

SDK source f037ad356b212fd71a003b1bc490e84f32888500
Packaged contract SHA-256 6bc41c50901daa46fc98bfa658c366033c15028be53aaa81161b1633ff7426a7

MIC SDKs

Use the MIC client to work with inputs, recipes, jobs, file downloads and processing requests. This release includes the 15 methods in the MIC API reference.

Python MIC client

Version 0.1.0.dev2 · 16,383 bytes

Download MIC SDK

Python 3.11 or later. Download the archive into your project directory, then follow the installation commands.

python -m pip install ./pradiota_mic-0.1.0.dev2-py3-none-any.whl

Check your workspace

After your application is approved for MIC and its sandbox license is active, create client credentials. Set MIGHTY_CLIENT_ID and MIGHTY_CLIENT_SECRET on your server and exchange them for a token with mic.capabilities:read.

curl --request POST "https://www.pradiota.com/sandbox/oauth/token" \
  --user "$MIGHTY_CLIENT_ID:$MIGHTY_CLIENT_SECRET" \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'scope=mic.capabilities:read'

Set MIGHTY_ACCESS_TOKEN to the returned access_token. Copy your workspace’s micws_ ID from the MIC console into MIC_WORKSPACE_ID. Save the example as mic_example.py, then run it on your server.

The SDK method getMicPublicCapabilities calls GET /v1/mic/capabilities in all three languages. The response describes the capabilities available to your application and workspace.

import os
from pradiota_mic import MicClient

client = MicClient(
    "https://www.pradiota.com/sandbox/v1",
    lambda: os.environ["MIGHTY_ACCESS_TOKEN"],
)
response = client.getMicPublicCapabilities({
    "workspaceId": os.environ["MIC_WORKSPACE_ID"],
})
print(response.status, response.request_id, response.body)
python mic_example.py
Checksum & verification
e1b0854224806ab52c67d1dee82bfc072e37dc279c2b05b1ec7b266efa548433

Compare the SHA-256 with your downloaded archive. The release manifest lists every artifact and its validation details.

Read DAY, MONTH or ENTITLEMENT usage with mic.usage:read. MONTH reports measured calendar-month totals; granted, remaining and resetAt are null because no monthly allowance is approved.

Read the package guide.

Request every scope shown for the operation. File-backed methods also require files:read. Use a stable ASCII idempotency key of 8–160 characters for each mutation and the current If-Match value when cancelling a job.

Methods & required scopes
EndpointSDK methodRequired token scopes
GET /v1/mic/capabilitiesgetMicPublicCapabilitiesmic.capabilities:read
POST /v1/mic/inputscreateMicPublicInputfiles:read mic.inputs:write
GET /v1/mic/inputs/{inputId}getMicPublicInputfiles:read mic.inputs:read
GET /v1/mic/recipeslistMicExecutableRecipesmic.recipes:read
GET /v1/mic/recipe-versions/{versionId}getMicExecutableRecipemic.recipes:read
POST /v1/mic/jobscreateMicJobmic.jobs:run
GET /v1/mic/jobslistMicJobsmic.jobs:read
GET /v1/mic/jobs/{jobId}getMicJobmic.jobs:read
POST /v1/mic/jobs/{jobId}/cancellationscancelMicJobmic.jobs:cancel
POST /v1/mic/jobs/{jobId}/retriesretryMicJobmic.jobs:run
GET /v1/mic/assets/{assetId}/contentgetMicPublicAssetContentfiles:read mic.assets:read
GET /v1/mic/operations/{operationId}getMicPublicOperationmic.operations:read
GET /v1/mic/usagegetMicPublicUsagemic.usage:read
POST /v1/mic/processing-requestsrequestMicSharedFileProcessingfiles:read mic.jobs:run
GET /v1/mic/processing-requests/{requestId}getMicSharedFileProcessingRequestmic.jobs:read

Downloads are buffered with a default 64 MiB limit. Use Range for larger files; Node and Python expose a configurable response limit, while Java uses the fixed default.

A processing request is submitted for review. Approval and execution are separate steps; follow its status in the MIC console.