Files
aitbc/packages/py/aitbc-sdk/README.md
AITBC System b033923756 chore: normalize file permissions across repository
- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore)
- Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md)
- Remove executable permissions from web assets (HTML, CSS, JS files)
- Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt)
- Remove executable permissions from source code files across all apps
- Add executable permissions to Python
2026-03-08 11:26:18 +01:00

3.7 KiB

AITBC SDK

Python client SDK for interacting with AITBC coordinator services, blockchain nodes, and marketplace components.

Installation

pip install aitbc-sdk

Requirements

  • Python: 3.11 or later
  • Dependencies: httpx, pydantic, aitbc-crypto

Compatibility & Stability

Python Version Support

  • Minimum Version: Python 3.11+
  • Recommended: Python 3.11 or 3.12
  • Guarantee: All APIs maintain backward compatibility within Python 3.11+
  • Security: Cryptographic operations maintain security properties across versions

API Stability

  • Major Version: 0.x (pre-1.0, APIs may change with notice)
  • Deprecation Policy: Deprecated features marked with warnings for 2+ releases
  • Breaking Changes: Announced in release notes with migration guides
  • Semantic Versioning: Follows semver.org specifications

Quick Start

import asyncio
from aitbc_sdk import AITBCClient

async def main():
    # Initialize client
    client = AITBCClient(base_url="https://aitbc.bubuit.net")
    
    # Submit a job
    job = await client.submit_job({
        "service_type": "llm_inference",
        "model": "llama3.2",
        "prompt": "Hello, world!"
    })
    
    # Check job status
    status = await client.get_job_status(job.id)
    print(f"Job status: {status.status}")
    
    # Get results when complete
    if status.status == "completed":
        result = await client.get_job_result(job.id)
        print(f"Result: {result.output}")

if __name__ == "__main__":
    asyncio.run(main())

Features

  • Job Management: Submit, monitor, and retrieve computation jobs
  • Receipt Verification: Cryptographically verify job completion receipts
  • Marketplace Integration: Browse and participate in GPU marketplace
  • Blockchain Integration: Interact with AITBC blockchain for settlement
  • Zero-Knowledge Support: Private computation with ZK proof verification

API Reference

Client Initialization

from aitbc_sdk import AITBCClient

client = AITBCClient(
    base_url="https://aitbc.bubuit.net",
    api_key="your-api-key",
    timeout=30
)

Job Operations

# Submit a job
job = await client.submit_job({
    "service_type": "llm_inference",
    "model": "llama3.2",
    "parameters": {
        "prompt": "Explain quantum computing",
        "max_tokens": 500
    }
})

# Get job status
status = await client.get_job_status(job.id)

# Get job result
result = await client.get_job_result(job.id)

# Cancel a job
await client.cancel_job(job.id)

Receipt Operations

# Get job receipts
receipts = await client.get_job_receipts(job.id)

# Verify receipt authenticity
is_valid = await client.verify_receipt(receipt)

Marketplace Operations

# List available services
services = await client.list_services()

# Get service details
service = await client.get_service(service_id)

# Place bid for computation
bid = await client.place_bid({
    "service_id": service_id,
    "max_price": 0.1,
    "requirements": {
        "gpu_memory": "8GB",
        "compute_capability": "7.5"
    }
})

Configuration

The SDK can be configured via environment variables:

export AITBC_BASE_URL="https://aitbc.bubuit.net"
export AITBC_API_KEY="your-api-key"
export AITBC_TIMEOUT=30

Development

Install in development mode:

git clone https://github.com/oib/AITBC.git
cd AITBC/packages/py/aitbc-sdk
pip install -e ".[dev]"

Run tests:

pytest

License

MIT License - see LICENSE file for details.

Support