Outsail Python SDK
outsail-sdk is the official async Python SDK for Outsail. It supports Python 3.10–3.13.
pip install outsail-sdk
import asyncio
from outsail import OutsailClient, OutsailApiError
async def main():
async with OutsailClient(api_key="osk_...") as client:
pack = await client.research("Research current OAuth migration guidance", profile="developer", discover=True)
print(pack.answer)
asyncio.run(main())
For account-session authentication, call await client.login(email, password), then construct a client with the returned session/API token. Production services should create scoped keys with create_api_key() and pass them as api_key; do not put keys in browser code.
Research and streaming
Use extract, map, discover, research, start_research, verify, compare, report, and decision_report to build agent-ready workflows. start_research accepts the same full options as research, including provider, budget, cache, site, and Context Memory settings.
job = await client.start_research("Compare database migration guides", discover=True, max_sources=12)
async for event in client.stream_research(job):
print(event.event_type, event.data)
report = await client.report(pack)
The SDK includes Context Packs, monitors (including RSS feeds), knowledge-base creation and ingestion, connectors, graph, memory, trust, workflows, API keys, organizations, notifications, billing, and self-service account controls.
monitor = await client.create_monitor("Track release notes", rss_feeds=["https://example.com/feed.xml"])
base = await client.create_knowledge_base(name="Engineering docs")
await client.ingest_knowledge_base_documents(base["id"], [{"title": "Runbook", "content": "# Recovery"}])
Connectors and platform controls
github = await client.create_github_connector("Engineering docs", token=os.environ["GITHUB_TOKEN"])
await client.sync_github("owner/repository", connector_id=github.id)
print(await client.operations())
create_notion_connector, create_google_drive_connector, and create_slack_connector return connector records. Call the matching begin_*_authorization method and open its URL in a browser, then run sync_notion, sync_google_drive, or sync_slack. The client also exposes graph, memory, trust-policy, workflow, Context Pack feedback, notifications, and usage operations for durable agent workflows.
Errors and compatibility
Non-2xx API responses raise OutsailApiError (OutsailError remains a compatible alias), with status and parsed body. Supply idempotency_key when retrying research or ingestion. The SDK is version-locked to Outsail 0.28.0; consult the served OpenAPI reference for request and response details.
Compatibility and deprecations
Use the SDK release that matches the platform’s 0.28.x release. Breaking changes require a new major release; deprecated operations are announced in release notes before removal. Store API keys only in server-side environment variables and revoke keys promptly if they may have been exposed.
OAuth callbacks and inbound GitHub/Slack webhooks are browser/server integration flows, not SDK calls. Create a connector, open its returned authorization URL, then call its sync method.
Metadata
Release files for outsail-sdk 0.28.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| outsail_sdk-0.28.1.tar.gz | 30.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| outsail_sdk-0.28.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.7 kB
Release files / outsail_sdk-0.28.1.tar.gz
| Download URL | outsail_sdk-0.28.1.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de8b8f0d141370c2745570ac0eb06a81240f74e7a034b7d05f6bc56002e1c7ec
|
|
BLAKE2b-256 checksum How to use checksums |
b6eded5d206c142ca1971ac730eb3735095dde773ec7bf920ed21233d2aab5c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / outsail_sdk-0.28.1-py3-none-any.whl
| Download URL | outsail_sdk-0.28.1-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e3d7508b25010a6602d3e41770cd269e15e8814579a356001c1196fab3e1122
|
|
BLAKE2b-256 checksum How to use checksums |
925d9d67881c1555c5531ed4b55ec460ebdac58c495bf6350164c2fba996443d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|