Official Python SDK for the Fetch Hive API
Project description
fetch-hive-sdk
Official Python SDK for Fetch Hive — invoke AI prompts, workflows, and agents from your application.
Installation
pip install fetch-hive-sdk
Quick start
from fetch_hive_sdk import FetchHive
client = FetchHive(api_key="fhk_...")
# or: client = FetchHive() # reads FETCH_HIVE_API_KEY env var
Get your API key from the Fetch Hive dashboard.
Invoke a prompt
result = client.invoke_prompt(
deployment="my-prompt",
inputs={"name": "Alice", "topic": "machine learning"},
)
print(result["response"])
Invoke a prompt (streaming)
for chunk in client.invoke_prompt_stream(
deployment="my-prompt",
inputs={"name": "Alice"},
):
if chunk.get("type") == "delta":
print(chunk.get("content", ""), end="", flush=True)
Invoke a workflow
run = client.invoke_workflow(
deployment="my-workflow",
inputs={"customer_id": "42"},
)
print(run["status"], run.get("output"))
Invoke a workflow (async)
run = client.invoke_workflow(
deployment="my-workflow",
inputs={"customer_id": "42"},
async_mode=True,
callback_url="https://example.com/webhook",
)
print("Queued:", run["run_id"])
Invoke an agent
reply = client.invoke_agent(
agent="my-agent",
message="What is the weather in London?",
)
print(reply["response"])
Invoke an agent (streaming)
for chunk in client.invoke_agent_stream(
agent="my-agent",
message="What is the weather in London?",
thread_id="session-abc123", # optional — persist conversation history
):
if chunk.get("type") == "delta":
print(chunk.get("content", ""), end="", flush=True)
elif chunk.get("type") == "tool_start":
print(f"\n[Calling tool: {chunk.get('tool_name')}]")
Multimodal (image) inputs
result = client.invoke_agent(
agent="vision-agent",
message="Describe this image",
image_urls=["https://example.com/photo.jpg"],
)
print(result["response"])
Async streaming
import asyncio
async def main():
async for chunk in client.ainvoke_agent_stream(
agent="my-agent",
message="Hello",
thread_id="session-abc123",
):
if chunk.get("type") == "delta":
print(chunk.get("content", ""), end="", flush=True)
elif chunk.get("type") == "tool_start":
print(f"\n[Calling tool: {chunk.get('tool_name')}]")
asyncio.run(main())
Authentication
Pass the API key to the constructor or set the environment variable:
export FETCH_HIVE_API_KEY=fhk_...
client = FetchHive() # picks up FETCH_HIVE_API_KEY automatically
Configuration
| Option | Default | Description |
|---|---|---|
api_key |
FETCH_HIVE_API_KEY env var |
Bearer token from the Fetch Hive dashboard |
base_url |
https://api.fetchhive.com/v1 |
Override the API base URL |
timeout |
120 |
Request timeout in seconds |
Links
Version
0.2.3
License
MIT — see LICENSE.
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
fetch_hive_sdk-0.2.3.tar.gz
(40.3 kB
view details)
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 fetch_hive_sdk-0.2.3.tar.gz.
File metadata
- Download URL: fetch_hive_sdk-0.2.3.tar.gz
- Upload date:
- Size: 40.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d81fbb2489410903c1b51df207d29a230ece90fcb21420c96db1bde076f67688
|
|
| MD5 |
9f507969e8c9a7dd37f0eea6a0946416
|
|
| BLAKE2b-256 |
b22f4a6e3db8d8f6e5ea35104cbaccbd954e5ec1ce27dfcfdc2d1d2f07e79389
|
File details
Details for the file fetch_hive_sdk-0.2.3-py3-none-any.whl.
File metadata
- Download URL: fetch_hive_sdk-0.2.3-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b34b512fe46bdf9e0d09dd0efb6ba96b60ed7ef029e273a5a5b9a7200c5a26ae
|
|
| MD5 |
ad3ddbe84e77057715716b2dd37337a6
|
|
| BLAKE2b-256 |
b79111fd65466559951a2f5fbb94118477206afb28884e768c618dddb5cad631
|