Python SDK for Uniphore Flow Platform APIs
Project description
Flow Platform SDK
Python SDK for interacting with Uniphore Flow Platform services via async RPC.
Usage
Call any backend tool by name through the tools.* proxy:
import asyncio
from flow_platform_sdk import tools
async def main():
# List data connectors
connectors = await tools.list_connectors()
# Execute SQL query
result = await tools.execute_query(
connector_id="conn_123",
sql_query="SELECT * FROM customers LIMIT 10",
max_rows=10
)
# Query knowledge base
answer = await tools.query_knowledge_base(
knowledge_base_id="kb_123",
query="What is the revenue?"
)
asyncio.run(main())
tools.<name>(**kwargs) dispatches to the backend tool registered under that
name -- platform API, connector, or spec action. New backend tools are callable
immediately with no SDK code change and no SDK release.
API Reference
Data Connectors
# List all connectors
await tools.list_connectors()
# Inspect schema -- table names only (cheap)
await tools.inspect_schema(connector_id="conn_123", detail="tables")
# Inspect schema -- columns per table (default), optionally filtered
await tools.inspect_schema(
connector_id="conn_123",
detail="columns",
table_filter="customer*",
)
# Execute a read-only query (also how you fetch sample rows)
await tools.execute_query(
connector_id="conn_123",
sql_query="SELECT * FROM customers LIMIT 5",
max_rows=1000,
)
Knowledge Base
# List knowledge bases
await tools.list_knowledge_bases()
# Query knowledge base
await tools.query_knowledge_base(
knowledge_base_id="kb_123",
query="What are the main features?"
)
Agent Evaluation
# Invoke agent with draft skill
result = await tools.invoke_agent(
agent_spec_id="agent_123",
draft_skill_id="draft_456",
input_message="What is the weather today?",
context={"location": "San Francisco"},
timeout=60
)
Deprecated: platform_api.*
platform_api.* is the legacy fixed-op surface (platform_api.list_connectors(),
etc.). It still works but emits a DeprecationWarning on use and will be
removed in a future major version.
It is deprecated because every backend tool change forces a matching SDK code
change and a semver-breaking release (e.g. collapsing four schema methods into
inspect_schema required a major bump). The tools.* proxy routes any tool by
name, so the backend can add, change, or remove tools without an SDK release.
Migrate by replacing platform_api.X(...) with tools.X(...) -- the method
names and keyword arguments are unchanged.
Architecture
The SDK uses stdio-based RPC for communication with backend services:
- Requests sent to stdout:
REMOTE_SERVICE_CALL:{...} - Responses read from stdin:
REMOTE_TOOL_RESULT:{...}
Designed for sandboxed execution environments.
Configuration
- Default timeout: 120 seconds per request
- Daemon threads for clean exit on timeout
Development
# Setup
uv sync
# Format code
uvx ruff format .
uvx ruff check .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flow_platform_sdk-3.0.0.tar.gz.
File metadata
- Download URL: flow_platform_sdk-3.0.0.tar.gz
- Upload date:
- Size: 71.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32f6483ceb8369d5323aabafd22283ce7015f184ba4bff785f1491d623f842ad
|
|
| MD5 |
fda94025dd67b200f75efbb150eeab8b
|
|
| BLAKE2b-256 |
e61521260a1e9e49951575d48a4913599bcbc9be82a4f860efad96854e27ea6d
|
Provenance
The following attestation bundles were made for flow_platform_sdk-3.0.0.tar.gz:
Publisher:
sdk-release.yml on uniphore/flow-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flow_platform_sdk-3.0.0.tar.gz -
Subject digest:
32f6483ceb8369d5323aabafd22283ce7015f184ba4bff785f1491d623f842ad - Sigstore transparency entry: 1842099242
- Sigstore integration time:
-
Permalink:
uniphore/flow-agent@a75fbc38e1453662ef8613283d193a04a435b43c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/uniphore
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
sdk-release.yml@a75fbc38e1453662ef8613283d193a04a435b43c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file flow_platform_sdk-3.0.0-py3-none-any.whl.
File metadata
- Download URL: flow_platform_sdk-3.0.0-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac33e5f705a65a9d4bb65143a0ac4836a4f7bdb2dcd5c660b6de226d5702f795
|
|
| MD5 |
738b51879ad63cb31132db9e136a36d6
|
|
| BLAKE2b-256 |
5ad57a7daf5d85fc39343aa620e3bd6cfa43b8e6ccdaa4d6ce14be646a9cb1c1
|
Provenance
The following attestation bundles were made for flow_platform_sdk-3.0.0-py3-none-any.whl:
Publisher:
sdk-release.yml on uniphore/flow-agent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flow_platform_sdk-3.0.0-py3-none-any.whl -
Subject digest:
ac33e5f705a65a9d4bb65143a0ac4836a4f7bdb2dcd5c660b6de226d5702f795 - Sigstore transparency entry: 1842099373
- Sigstore integration time:
-
Permalink:
uniphore/flow-agent@a75fbc38e1453662ef8613283d193a04a435b43c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/uniphore
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
sdk-release.yml@a75fbc38e1453662ef8613283d193a04a435b43c -
Trigger Event:
workflow_dispatch
-
Statement type: