Skip to main content

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 .

Metadata

Release files for flow-platform-sdk 3.0.0

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

Source distribution (sdist)

Source distribution for flow-platform-sdk 3.0.0
File Size Uploaded
flow_platform_sdk-3.0.0.tar.gz 71.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flow-platform-sdk 3.0.0
File Interpreter ABI Platform
flow_platform_sdk-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 85.1 kB

Release files / flow_platform_sdk-3.0.0.tar.gz

Download URL flow_platform_sdk-3.0.0.tar.gz
Size 71.6 kB
Tags Source
SHA-256 checksum
How to use checksums
32f6483ceb8369d5323aabafd22283ce7015f184ba4bff785f1491d623f842ad
BLAKE2b-256 checksum
How to use checksums
e61521260a1e9e49951575d48a4913599bcbc9be82a4f860efad96854e27ea6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 16, 2026.

Transparency log

Release files / flow_platform_sdk-3.0.0-py3-none-any.whl

Download URL flow_platform_sdk-3.0.0-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac33e5f705a65a9d4bb65143a0ac4836a4f7bdb2dcd5c660b6de226d5702f795
BLAKE2b-256 checksum
How to use checksums
5ad57a7daf5d85fc39343aa620e3bd6cfa43b8e6ccdaa4d6ce14be646a9cb1c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.0.1

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.6

2 release files

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