Skip to main content

ThinkPlatform Client

ThinkPlatform Client provides the tp command-line interface and Python SDK for working with a ThinkPlatform service. Install it into a supported Python environment and connect it to a service URL and credentials supplied by your deployment.

Install

python -m pip install --upgrade pip
python -m pip install ThinkPlatform-client

The public binary wheels target CPython 3.11–3.13 on Linux x86_64 (glibc 2.28 or newer), macOS 11 or newer on Apple silicon (arm64), and Windows x86_64. Source distributions are not published. Other Python versions and platforms are outside the public wheel support matrix. Use a fresh virtual environment if migrating from a full ThinkPlatform runtime installation.

Command line

tp --help
tp auth login
tp auth whoami
tp orgs

With no deployment settings configured, the CLI uses https://thinkplatform.ai, API audience api://04d6aecc-4540-463a-87e3-4024ffad7428, and interactive-browser sign-in through a shared public client registration. The built-in tenant is 5a959e94-a278-467d-ab33-d59909a75bad; the built-in CLI application ID is 709439d2-4a99-44c2-8c35-9b1e71cc2e34. These are non-secret public application settings. Users do not need to register an app per installation or provide a client secret.

The registration is single-tenant, supports the http://localhost loopback redirect, and has device-code public-client flow enabled. Your organization may require administrator consent. A successful sign-in does not grant ThinkPlatform membership or resource permissions. The CLI uses the same REST client as the SDK.

For production browser/device authentication, the CLI stores tokens in the operating system's encrypted credential store and keeps a separate non-secret account record under ~/.config/thinkplatform/auth/. Later CLI processes reuse the account silently until Azure requires sign-in again. SDK client_from_profile() uses the same secure cache. If encrypted OS storage is unavailable, authentication fails closed without writing tokens in plaintext. On headless Linux without Secret Service, use Azure CLI authentication instead.

On macOS, this uses a dedicated ThinkPlatform CLI Keychain item. macOS may ask you to allow the Python interpreter to access it. A one-time permission can prompt again on later accesses; persistent permission is an optional trust decision for that interpreter. Changing Python installations can also require permission again. Older preview versions used a Microsoft shared item; the CLI does not read or migrate that item, so sign in again after upgrading if needed. Workspace managed-identity authentication does not use this local user cache.

Custom deployments and sign-in

For a different deployment, set its URL and API audience explicitly. An existing configured deployment that has no explicit auth mode continues to use azure-cli; use the mode approved for that deployment. These environment variables can be replaced by CLI options or a saved CLI profile:

export THINKPLATFORM_API_BASE_URL="https://thinkplatform.example"
export THINKPLATFORM_API_AUDIENCE="api://<api-application-id>"
export THINKPLATFORM_AUTH_MODE="azure-cli"
tp auth login

The examples use POSIX shell syntax; on PowerShell set environment variables with $env:NAME = "value". Azure CLI is a separate installation. Its credential uses the signed-in Azure CLI identity; the API must allow that identity and consent must permit access to its resource. Signing in alone does not establish service access. See Microsoft's Azure CLI credential documentation.

For browser or device-code sign-in to a different deployment, provide its approved public client application ID and tenant:

export THINKPLATFORM_AZURE_CLIENT_ID="<cli-public-client-application-id>"
tp --auth-mode device-code whoami
# Or, on a machine with a local browser:
tp --auth-mode interactive-browser whoami

Keep THINKPLATFORM_API_AUDIENCE configured for the target API. The API audience identifies the target API; THINKPLATFORM_AZURE_CLIENT_ID identifies the sign-in client. They serve different purposes. The CLI requests the API audience with /.default appended. Set the audience explicitly rather than relying on the legacy AZURE_CLIENT_ID audience fallback, which can accidentally target the sign-in client instead of the API.

The production CLI defaults apply only when the effective URL and audience are exactly https://thinkplatform.ai and api://04d6aecc-4540-463a-87e3-4024ffad7428, with browser or device-code auth selected. Explicit client ID and tenant environment variables override the built-in values. For custom URL/audience combinations, set the deployment's approved IDs yourself. Tenant lookup prefers THINKPLATFORM_AZURE_TENANT_ID over AZURE_TENANT_ID; client ID lookup prefers THINKPLATFORM_AZURE_CLIENT_ID over AZURE_CLIENT_ID. Client ID and tenant are read from the environment rather than stored in CLI profiles. The base URL, audience, auth mode, and connection settings can be selected through CLI flags or profiles.

For custom deployments, administrators should provision and validate a dedicated CLI public-client registration, configure its delegated API permissions and required tenant consent, and distribute the non-secret client ID, tenant and API audience to users. Users can share that approved registration; they do not need to create an app per installation. Choose the supported account/tenant configuration for the deployment. Do not distribute a client secret or reuse a confidential web application's credentials. Device-code sign-in requires public client flows to be enabled. Browser sign-in uses a local loopback redirect; this CLI leaves the port selection to Azure Identity, so configure http://localhost under the Mobile and desktop applications platform in the registration. See Microsoft's public-client setup guidance and desktop application configuration. A registration is ready for onboarding only after both the Entra configuration and API admission have been verified for that deployment.

workspace-delegation is for a provisioned workspace using managed identity and a workspace assertion; its optional client ID selects a user-assigned managed identity, not a desktop sign-in registration. execution-delegation uses an API-issued execution token bound to its service and org/project context. Obtain these configurations from the workspace or execution environment rather than setting a public-client ID for them.

Python SDK

from thinkplatform.sdk import ThinkPlatformClient
from thinkplatform.sdk.credentials import AzureCliCredential

client = ThinkPlatformClient(
    base_url="https://thinkplatform.example",
    audience="api://your-service",
    credential=AzureCliCredential(),
)

user = client.auth.whoami()
organizations = client.organizations.list()

The SDK also provides profile and environment based client factories, typed resource clients, and context helpers. Flow and Agent API operations are available without installing their execution engines.

Compatibility and security

The CLI and SDK are clients for an existing ThinkPlatform service; they do not include the service or grant access to it. The service remains responsible for authenticating requests and enforcing authorization. Cython wheels omit the original Python implementation files, but compiled code, names, documentation strings, and string constants can still be inspected. Do not treat the wheel format as a security boundary or put secrets in client code.

Metadata

Release files for ThinkPlatform-client 0.6.103

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

Built distributions (wheels)

Table of built distributions (wheels) for ThinkPlatform-client 0.6.103
File
thinkplatform_client-0.6.103-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
thinkplatform_client-0.6.103-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
thinkplatform_client-0.6.103-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
thinkplatform_client-0.6.103-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
thinkplatform_client-0.6.103-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
thinkplatform_client-0.6.103-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
thinkplatform_client-0.6.103-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
thinkplatform_client-0.6.103-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
thinkplatform_client-0.6.103-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 37.3 MB

Release files / thinkplatform_client-0.6.103-cp313-cp313-win_amd64.whl

Download URL thinkplatform_client-0.6.103-cp313-cp313-win_amd64.whl
Size 3.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
1b809fb97912946381c73ea481adc87a89b17780ace18563885bf0c39f51227f
BLAKE2b-256 checksum
How to use checksums
020904fc598710b512dca9798ea4405df1fcc97fa007d0386c9fdf6a6fc18272
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL thinkplatform_client-0.6.103-cp313-cp313-manylinux_2_28_x86_64.whl
Size 5.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1e65543348f338c69dabfbeecf71a0947c3764b13b3d71f8904ab7c3e1735169
BLAKE2b-256 checksum
How to use checksums
a491a0ff48ce7fda985e215f99b2e7e21f4e4ca8ae3d2ad9b5ee86eca3f14c50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp313-cp313-macosx_11_0_arm64.whl

Download URL thinkplatform_client-0.6.103-cp313-cp313-macosx_11_0_arm64.whl
Size 3.3 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ca4c13ca399d2089e6c07e4c9f5a0fff81bdb7c4496d2b9dadb1a270591e26b3
BLAKE2b-256 checksum
How to use checksums
d7a8c6021d6a5e1d10e51d9bf4d47af694bfd5ee5aeb420edd8415ee0f4b4d18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp312-cp312-win_amd64.whl

Download URL thinkplatform_client-0.6.103-cp312-cp312-win_amd64.whl
Size 3.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
8582649acf877afa4ac226f221a71530327bab3543d9e302deef5beee3c2f228
BLAKE2b-256 checksum
How to use checksums
5490d4c0da95f8538a64996235c371471dbaedb5a2633f5a28ecf6e98e97d1b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL thinkplatform_client-0.6.103-cp312-cp312-manylinux_2_28_x86_64.whl
Size 4.9 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6a3a7ad32de1bad6c8bef64402906d69514857932fd0911b35f43c0f1570267f
BLAKE2b-256 checksum
How to use checksums
b79453b5f050de386705db0740a2943ed34d629b0d2c1d656722930c659e6adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp312-cp312-macosx_11_0_arm64.whl

Download URL thinkplatform_client-0.6.103-cp312-cp312-macosx_11_0_arm64.whl
Size 3.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e59e3f03983d04b8ff091839ea37179fea02b246f30b5ea8357369d5e8f7db01
BLAKE2b-256 checksum
How to use checksums
eaa2db67009e46c009e3118496a2cc12d12ab7ea3f09d3bc61bd856992690e8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp311-cp311-win_amd64.whl

Download URL thinkplatform_client-0.6.103-cp311-cp311-win_amd64.whl
Size 4.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
404bb13638a40551ca541da7feda5be3864d5e3145c5de8b577a58758f932a8a
BLAKE2b-256 checksum
How to use checksums
90e59de34784203760c5f0041cdca50fa1f924fdd0b031772e6593330b36111f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL thinkplatform_client-0.6.103-cp311-cp311-manylinux_2_28_x86_64.whl
Size 5.5 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c81a29ec496fa50135e45edb4c34fb4a26a61c2300f253449a6d1f420a6b4a78
BLAKE2b-256 checksum
How to use checksums
9a61b73cca4aa677131baffb7f0e29adcf0d3a3cef3d21965e479a31b8702514
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / thinkplatform_client-0.6.103-cp311-cp311-macosx_11_0_arm64.whl

Download URL thinkplatform_client-0.6.103-cp311-cp311-macosx_11_0_arm64.whl
Size 3.6 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ddd0f27df51c64b1ee236f2c079286e1aa925a853b7835408bc0ad7c338280fc
BLAKE2b-256 checksum
How to use checksums
904df53c4d48cac6075e16eab1c14b988a909814e60e05f80d47411c805d9824
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Security for ThinkPlatform-client 0.6.103

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 9 files in this release have been uploaded with provenance metadata.

Select from 9 files

Attestation for thinkplatform_client-0.6.103-cp313-cp313-win_amd64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.6.103 This release

9 release files Full provenance

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