Python SDK, CLI, and MCP server for the C3PO research platform
Project description
c3po-sdk
Python SDK, CLI, and MCP server for the C3PO research platform.
Installation
uv tool install c3po-sdk
Modules
Client (c3po_sdk.client)
Python SDK for the C3PO API.
from c3po_sdk.client.client import C3poClient
async with C3poClient() as client:
cursor: str | None = None
while True:
page = await client.datasets.list(last_evaluated_key=cursor, limit=50)
for dataset in page.items:
...
if not page.has_more:
break
cursor = page.last_evaluated_key
CLI (c3po_sdk.cli)
c3po --help
CLI commands
Global options (where supported): --output / -o (rich | plain | json), --profile, --version / -V. Use c3po <group> <command> --help for flags and arguments.
auth
c3po auth status
configure
c3po configure auth
datasets
c3po datasets listc3po datasets getc3po datasets updatec3po datasets treec3po datasets assets
kb (analytics knowledge base — POST /v1/kb/query: NL question → generated SQL and executed result rows in one response)
c3po kb query [QUESTION]— pass the question as an argument or pipe text on stdin; use--output jsonfor the rawsql/columns/rowsobject.- Timeouts: In CDK this route uses the streaming API Lambda with a 15-minute Lambda and API Gateway integration timeout (
c3po_backend/services/api/_constructs/api.py). The SDK applies the same ceiling for the HTTP read timeout so long NL2SQL + Redshift runs are not cut off early by the default httpx limits used elsewhere.
nodes (all subcommands take a NODE_ID unless noted)
c3po nodes get NODE_ID— node details; optional--treefor dataset subtreec3po nodes update NODE_ID—--name,--descriptionc3po nodes reset NODE_ID— clear pipeline outputs (--force/-f)c3po nodes cluster NODE_ID— cell clustering (--obs-variable, repeatable--obs-values,--run-pipeline)c3po nodes assets NODE_ID— presigned asset URLs;--downloadto fetch files
nodes pipeline
c3po nodes pipeline run NODE_ID— start execution (see--helpfor Leiden / IDS params);--watch/--no-watchc3po nodes pipeline list NODE_ID— paginated history (--all/-a,--limit)c3po nodes pipeline status NODE_ID EXECUTION_ID— Step Functions payload;--watchto poll until terminal
nodes programs (gene programs for a node)
c3po nodes programs list NODE_ID— paginated (--all/-a,--limit)c3po nodes programs get NODE_ID PROGRAM_ID— full program record
nodes clusters (cell clusters for a node)
c3po nodes clusters list NODE_ID— paginated (--all/-a,--limit)c3po nodes clusters get NODE_ID CLUSTER_ID— full cluster record
tenants
c3po tenants mec3po tenants users listc3po tenants credentials generatec3po tenants credentials regenerate
users
c3po users mec3po users updatec3po users tenants listc3po users tokens listc3po users tokens createc3po users tokens revoke
MCP Server (c3po_sdk.mcp)
See docs/MCP.md for detailed configuration instructions.
c3po.mcp
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 c3po_sdk-0.4.1.tar.gz.
File metadata
- Download URL: c3po_sdk-0.4.1.tar.gz
- Upload date:
- Size: 37.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b804825b7713e926dda1ed86467c240691a3c52fa253878102d278baa20a31d
|
|
| MD5 |
65fb4bde63ff1d1155b957404c90eeee
|
|
| BLAKE2b-256 |
921208f47222b372648ef48f4a5c98884824a9283ec79173631318e4f04351ea
|
File details
Details for the file c3po_sdk-0.4.1-py3-none-any.whl.
File metadata
- Download URL: c3po_sdk-0.4.1-py3-none-any.whl
- Upload date:
- Size: 63.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65f6cd1dd3b33c9685ada2dd6b5feb2e8645cae633a7812d911d68b4302509e3
|
|
| MD5 |
5524652782eb4cd7d9c76e943977184f
|
|
| BLAKE2b-256 |
3a33ae9170377b9393fe0cc743c100b0209d14a04c1798cb3e5864e8600525af
|