Skip to main content

Cowboy SDK

The official Python SDK for developing autonomous actors on the Cowboy PVM (Python Virtual Machine).

With this SDK, you can write fully deterministic on-chain Python code that interacts natively with LLMs, APIs, and the broader Cowboy ecosystem.

Features

  • Decentralized AI Agents: Write prompt chains, FSM-based LLM logic, and MCP integrations directly in Python.
  • @runner.continuation: Turn Python async functions into verified Finite State Machines (FSMs) capable of pausing execution, offloading heavy compute (LLM inference, HTTP requests) to Runners, and seamlessly resuming on the next block.
  • Robust Determinism: The SDK strips away standard Python non-determinism (time, random, set) and replaces it with consensus-safe primitives.
  • CBOR-backed State: The CowboyModel and self.storage dict provide automatic schema validation and canonical CBOR serialization for zero-boilerplate state management.
  • Built-in Async Primitives: Leverage TaskGroup for concurrent Runner tasks, Retry for robust backoff logic, and bounded_loop to ensure safety limits.

Quick Start

pip install cowboy-actor-sdk
from cowboy_sdk import actor, runner, capture

@actor
class MyAgent:
    def init(self, payload):
        self.storage["calls"] = 0
        return b"ok"

    @runner.continuation
    async def chat(self, msg):
        ctx = capture()
        ctx.prompt = msg.get("message", "Hello")
        
        # Off-chain heavy compute (LLM) securely verified via consensus
        result = await runner.llm(ctx.prompt, system_prompt="You are a helpful assistant")
        
        # Execution resumes here on the next block
        chat_id = self.storage.get("calls", 0)
        self.storage[f"reply:{chat_id}"] = result
        self.storage["calls"] = chat_id + 1
        
        return b"ok"

def _a(): return MyAgent()
def init(p): return _a().init(p)
def chat(p): return _a().chat(p)
def chat__resume(p): return _a().chat__resume(p)
def on_runner_result(p): return _a().on_runner_result(p)

Documentation & Tools

  • Developer Manual: View on GitHub
  • Vibe Coding Blueprint (Claude Code): Learn how to set up autonomous development without local chain dependencies. View Guide.
  • Cowboy CLI: Pre-compiled binary required to deploy and send transactions. Download from the GitHub Releases.

License

MIT License. See the repository for details.

Metadata

Release files for cowboy-actor-sdk 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cowboy-actor-sdk 0.1.4
File Size Uploaded
cowboy_actor_sdk-0.1.4.tar.gz 176.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cowboy-actor-sdk 0.1.4
File Interpreter ABI Platform
cowboy_actor_sdk-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 378.8 kB

Release files / cowboy_actor_sdk-0.1.4.tar.gz

Download URL cowboy_actor_sdk-0.1.4.tar.gz
Size 176.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ae2ac111ddb8b46e5e59ca96e3668fa8d8e01221b90ead6e3957fbcc07704d29
BLAKE2b-256 checksum
How to use checksums
069c0cbcbd4953b5078455e3dc01d6af2adb5b5afbaac9575f299aebd3694389
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 16, 2026.

Transparency log

Release files / cowboy_actor_sdk-0.1.4-py3-none-any.whl

Download URL cowboy_actor_sdk-0.1.4-py3-none-any.whl
Size 202.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64bcec2c2259ffd8af8b8249d5520accb088f5705d295538699397ad534bac06
BLAKE2b-256 checksum
How to use checksums
f3aa49ef745c1f6469a299d491779bcda817384e008e53ea41d0a904e4533672
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page