Crossnode Python SDK
The official Python SDK for interacting with the Crossnode AI platform.
Installation
pip install crossnode
Authentication
Authenticate the client using an API Key from your crossnode dashboard. By default, the SDK looks for the CROSSNODE_API_KEY environment variable.
import os
from crossnode import CrossnodeClient
os.environ["CROSSNODE_API_KEY"] = "sk-crossnode-..."
client = CrossnodeClient()
Core Resources
The SDK provides programmatic access to your Agents, Runs, and Tools.
1. Agents
Manage and run your AI agents.
# List agents
agents = client.agents.list(limit=10)
# Get specific agent
agent = client.agents.retrieve(agent_id="agt_123")
# Trigger an agent run
run = client.agents.run(agent_id="agt_123", input_data="Analyze the market trends.")
# Export an agent configuration
config = client.agents.export(agent_id="agt_123")
# View run history for an agent
history = client.agents.list_runs(agent_id="agt_123")
2. Runs
Access and control agent execution logs, chat workflows, and files.
# Check run status
status = client.runs.retrieve(run_id=run["id"])
# Stream agent logs in real-time (Server-Sent Events)
for event in client.runs.stream_logs(run_id=run["id"]):
print(event)
# Upload a file to the sandbox for the agent to use
file_info = client.runs.upload_file(run_id=run["id"], file_path="dataset.csv")
# Continue a conversational agent session
response = client.runs.chat_continue(run_id=run["id"], input_text="What about Q3?")
# Pause and resume execution
client.runs.pause(run_id=run["id"])
client.runs.resume(run_id=run["id"])
# Human-In-The-Loop: List and approve pending runs
pending = client.runs.list_pending_approvals()
client.runs.approve(run_id=pending[0]["run_id"], decision="approved")
3. Tools
Register, list, and delete custom tools used by your agents.
from crossnode import tool
@tool
def get_customer_details(customer_id: int) -> dict:
"""
Retrieves the details for a specific customer.
:param customer_id: The unique identifier for the customer.
"""
if customer_id == 123:
return {"name": "Jane Doe", "plan": "premium"}
return {"error": "Customer not found"}
# Register the Python function as a tool on Crossnode
registered_tool = client.tools.register(get_customer_details)
# List available tools
tools = client.tools.list()
# Retrieve or delete a tool
client.tools.retrieve(tool_id=registered_tool["id"])
client.tools.delete(tool_id=registered_tool["id"])
Metadata
Release files for crossnode 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| crossnode-0.2.0.tar.gz | 9.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crossnode-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.9 kB
Release files / crossnode-0.2.0.tar.gz
| Download URL | crossnode-0.2.0.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83ab139c716beba5dfc5ffa70041acb5023c958b01b9d80d13339322137ac86a
|
|
BLAKE2b-256 checksum How to use checksums |
bb95e07ea41af10f010aa1ed375bac6cb6ac3fb8d5456c4baeb157da4d399dc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 3, 2026.
Transparency logRelease files / crossnode-0.2.0-py3-none-any.whl
| Download URL | crossnode-0.2.0-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c0f78efc8dd477fc6464d2a4e71ac1934dd13014eb7b20db839d246f55d2b442
|
|
BLAKE2b-256 checksum How to use checksums |
2498c29e7c11d7e9fe58e0d5be5dd8550513ed2b0e2f78cf142623c95fd725a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 3, 2026.
Transparency logSecurity for crossnode 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for crossnode-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 3, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.