Forte Platforms Python SDK
Official Python SDK for interacting with the Forte Platforms API.
Installation
pip install forte-sdk
Authentication
The SDK supports three auth modes.
Inside a Forte-hosted service (no config)
FORTE_API_TOKEN is set automatically and scoped to the service's project:
client = ForteClient()
Server-side BFF calling client.users.* (no token, per-call authorization)
When proxying user-scoped calls from a BFF, omit the token and pass each user's session token as the authorization parameter on each call:
client = ForteClient()
client.users.renew_session_token(
project_id=project_id,
authorization=f"Bearer {user_session_token}",
)
External server-side calling client.projects.* (explicit token)
client = ForteClient(api_token="your_api_token_here")
Or set FORTE_API_TOKEN in the environment and call ForteClient().
You can generate an API token from the Forte Platforms dashboard.
Quick Start
from forte_sdk import ForteClient
client = ForteClient()
# List your projects
projects = client.projects.list_projects()
# Get a specific project
project = client.projects.get_project(project_id="your-project-id")
Error Handling
API errors are raised as exceptions:
from forte_sdk.generated.exceptions import ApiException
try:
project = client.projects.get_project(project_id="invalid-id")
except ApiException as e:
print(f"API error {e.status}: {e.reason}")
User Custom Attributes
Store arbitrary key-value metadata on your users. Useful for tracking subscription tiers, feature flags, preferences, or any application-specific data.
# Set custom attributes on a user
user = client.projects.put_user_custom_attributes(
project_id="your-project-id",
user_id="user-id",
request_body={
"plan": "pro",
"referral_source": "google",
"onboarding_completed": "true",
},
)
print(user.custom_metadata_attributes)
# {'plan': 'pro', 'referral_source': 'google', 'onboarding_completed': 'true'}
Key constraints:
- Keys must be 1-64 characters: letters, numbers, underscores, and hyphens only
- Values are strings
- Each call replaces all existing attributes — include any you want to keep
Merge with existing attributes
# Read current attributes, then merge
user = client.projects.get_project_user(
project_id="your-project-id",
user_id="user-id",
)
client.projects.put_user_custom_attributes(
project_id="your-project-id",
user_id="user-id",
request_body={
**user.custom_metadata_attributes,
"plan": "enterprise", # update one field
},
)
API Reference
client.projects
Manage projects and services on Forte Platforms.
client.users
Manage end-users within your projects.
Metadata
Release files for forte-sdk 1.0.496
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| forte_sdk-1.0.496.tar.gz | 175.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| forte_sdk-1.0.496-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 652.0 kB
Release files / forte_sdk-1.0.496.tar.gz
| Download URL | forte_sdk-1.0.496.tar.gz |
|---|---|
| Size | 175.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
05177eeaf61f9ac3995b91a0bc2f36a367374f2f4805f4c96a79d3bcfc4bc0b3
|
|
BLAKE2b-256 checksum How to use checksums |
e2291391d6367ab3e4332f5354a993a566df6c45a166f3bf6c3e9efe9fd95343
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|
Release files / forte_sdk-1.0.496-py3-none-any.whl
| Download URL | forte_sdk-1.0.496-py3-none-any.whl |
|---|---|
| Size | 476.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b8f4edd51ef8a56b930b44e6a8e44851009f534f86ddd53243e08da3f35dc93
|
|
BLAKE2b-256 checksum How to use checksums |
fe55ad53b1f9fe7d17386450afac621daf569ce8daf568c36bc21013d748e635
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|
Security for forte-sdk 1.0.496
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.