Official Python SDK for integrating and invoking HIPAA-compliant AI agents from any application on the Hikigai healthcare platform. Provides session management, streaming invocation, BYOK model keys, MCP connector credentials, and real-time agent response handling for App Developers.
Project description
hikigai-appsdk
Python SDK for invoking AI agents in your applications.
Installation
Note: The Hikigai SDKs are currently published to Test PyPI while in early access. Do not run the SDK from the repository source directly — the
hikigai.corenamespace package must be installed to resolve correctly. Always install via the commands below.
# Using pip
pip install \
--index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple/ \
hikigai-appsdk==0.0.1
This will automatically install hikigai-core (the shared namespace dependency) alongside
hikigai-appsdk.
Once released on the main PyPI index, installation will simplify to:
# Future release (main PyPI)
pip install hikigai-appsdk
Quick Start
Using the SDK (Recommended)
from hikigai.appsdk import AppClient
# Initialize client
client = AppClient(
api_key="your-api-key",
project_id="your-project-id"
)
# Get an agent
agent = client.agent("medical-coder")
# Invoke the agent
response = agent.invoke("Patient presents with fever and cough...")
print(response.content)
# Stream responses
for chunk in agent.stream("Tell me a story"):
print(chunk, end="")
# Session-based conversations
session_agent = agent.with_session("user-123")
session_agent.invoke("What is diabetes?")
session_agent.invoke("How is it treated?") # Remembers context
Using Direct API (Advanced)
For custom integrations or when you need direct HTTP control:
Step 1: Exchange API Key for Session Token
curl --location --request POST 'http://localhost:8000/api/v1/auth/exchange' \
--header 'X-API-Key: your_api_key_here' \
--header 'Content-Type: application/json'
Step 2: Invoke Agent via API
import requests
import os
from datetime import datetime, timedelta
class HikigaiAPIClient:
def __init__(self, api_key: str, base_url: str = "http://localhost:8000"):
self.api_key = api_key
self.base_url = base_url
self.access_token = None
self.token_expiry = None
def exchange_api_key(self):
"""Exchange API Key for session token."""
headers = {"X-API-Key": self.api_key, "Content-Type": "application/json"}
response = requests.post(
f"{self.base_url}/api/v1/auth/exchange",
headers=headers
)
response.raise_for_status()
data = response.json()
self.access_token = data["access_token"]
self.token_expiry = datetime.utcnow() + timedelta(seconds=data["expires_in"] - 300)
return data
def ensure_token_valid(self):
"""Refresh token if needed."""
if not self.access_token or datetime.utcnow() >= self.token_expiry:
self.exchange_api_key()
def invoke_agent(self, agent_id: str, message: str, session_id: str = None) -> dict:
"""Invoke an agent via API."""
self.ensure_token_valid()
headers = {
"Authorization": f"Bearer {self.access_token}",
"Content-Type": "application/json"
}
payload = {
"message": message,
"stream": False,
}
if session_id:
payload["session_id"] = session_id
response = requests.post(
f"{self.base_url}/api/v1/agents/{agent_id}/invoke",
headers=headers,
json=payload
)
response.raise_for_status()
return response.json()
# Usage with context manager
class HikigaiAPIClientContext:
def __init__(self, api_key: str):
self.client = HikigaiAPIClient(api_key)
def __enter__(self):
self.client.exchange_api_key()
return self.client
def __exit__(self, exc_type, exc_val, exc_tb):
pass
# Invoke agent
with HikigaiAPIClientContext(api_key=os.environ["HIKIGAI_API_KEY"]) as client:
result = client.invoke_agent(
agent_id="medical-coder",
message="Patient presents with fever and cough...",
session_id="user-123"
)
print(result["content"])
For complete API documentation, see the Python AppSDK Docs.
Features
- 🚀 Simple Invocation: Call agents with a single method
- 📡 Streaming: Real-time streaming responses
- 💬 Sessions: Multi-turn conversations with context
- ⚡ Async Support: Built-in async/await support (coming soon)
- 🔍 Agent Discovery: List and search available agents
- 📊 Metadata: Access performance metrics and status
Documentation
Full documentation: https://docs.hikigai.com/appsdk
License
MIT
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 hikigai_appsdk-0.0.13.tar.gz.
File metadata
- Download URL: hikigai_appsdk-0.0.13.tar.gz
- Upload date:
- Size: 30.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0de665747c373948f03353e24aae5549a4fd1c05891f95580adff011913f900
|
|
| MD5 |
b3f75d8c01718c86f618aee06a946a59
|
|
| BLAKE2b-256 |
23c85e83af5bdd8cbe54b287912c102b206c23c7077d5c4034257bb948ea4baa
|
File details
Details for the file hikigai_appsdk-0.0.13-py3-none-any.whl.
File metadata
- Download URL: hikigai_appsdk-0.0.13-py3-none-any.whl
- Upload date:
- Size: 27.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0edb2cf15cfc9d1f67226d744266493ff0bdc014fa2b24fff2c3944cf0e7becd
|
|
| MD5 |
d58a9935773298056480090c008acfed
|
|
| BLAKE2b-256 |
5c03f83419234b03d3ff451ebe79970a8e16ee59d5e6cd2b45f78916fc05b057
|