Skip to main content

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

import asyncio
from flow_platform_sdk import platform_api

async def main():
    # List data connectors
    connectors = await platform_api.list_connectors()

    # Execute SQL query
    result = await platform_api.execute_query(
        connector_id="conn_123",
        sql_query="SELECT * FROM customers LIMIT 10",
        max_rows=10
    )

    # Query knowledge base
    answer = await platform_api.query_knowledge_base(
        knowledge_base_id="kb_123",
        query="What is the revenue?"
    )

asyncio.run(main())

API Reference

Data Connectors

# List all connectors
await platform_api.list_connectors()

# Get schema
await platform_api.get_schema(connector_id="conn_123")

# Execute query
await platform_api.execute_query(
    connector_id="conn_123",
    sql_query="SELECT * FROM table",
    max_rows=1000
)

# Discover schema
await platform_api.discover_schema(
    connector_id="conn_123",
    include_sample_data=True,
    table_filter="customer*"
)

# Get table info
await platform_api.get_table_info(
    connector_id="conn_123",
    table_name="customers"
)

# Get sample data
await platform_api.get_sample_data(
    connector_id="conn_123",
    table_name="customers",
    limit=5
)

Knowledge Base

# List knowledge bases
await platform_api.list_knowledge_bases()

# Query knowledge base
await platform_api.query_knowledge_base(
    knowledge_base_id="kb_123",
    query="What are the main features?"
)

Agent Evaluation

# Invoke agent with draft skill
result = await platform_api.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
)

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flow_platform_sdk-2.3.0.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flow_platform_sdk-2.3.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file flow_platform_sdk-2.3.0.tar.gz.

File metadata

  • Download URL: flow_platform_sdk-2.3.0.tar.gz
  • Upload date:
  • Size: 61.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for flow_platform_sdk-2.3.0.tar.gz
Algorithm Hash digest
SHA256 fa7664e3940113b7e1528c09d2c445deb1ecd3410c6f8a5ba0cdf7b91a22b8ad
MD5 a4abb02f010f53332c6d390472d87fb8
BLAKE2b-256 3fb7d8e7a08eb8c6832f8aa474e7bb740f738b6a2bb7dcfde9f1b9765fca99f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for flow_platform_sdk-2.3.0.tar.gz:

Publisher: sdk-release.yml on uniphore/flow-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flow_platform_sdk-2.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for flow_platform_sdk-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 257101ff7358251e5345bf34b759943f5e905f88adad04e079331e2309da4e7c
MD5 a63e5a2e8cd8fb8d1673bc6ba23e5522
BLAKE2b-256 e37e36dd5e1c6795959fc96760b7873672aa3ef17be5837f8b1cbbec2ce3545d

See more details on using hashes here.

Provenance

The following attestation bundles were made for flow_platform_sdk-2.3.0-py3-none-any.whl:

Publisher: sdk-release.yml on uniphore/flow-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page