Files
aitbc/packages/py/aitbc-sdk
aitbc b301164102
Some checks failed
CLI Tests / test-cli (push) Failing after 2m46s
Documentation Validation / validate-docs (push) Successful in 7s
Documentation Validation / validate-policies-strict (push) Successful in 3s
Integration Tests / test-service-integration (push) Failing after 4s
Package Tests / Python package - aitbc-agent-sdk (push) Successful in 28s
Package Tests / Python package - aitbc-core (push) Failing after 10s
Package Tests / Python package - aitbc-crypto (push) Successful in 18s
Package Tests / Python package - aitbc-sdk (push) Failing after 18s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 7s
Package Tests / JavaScript package - aitbc-token (push) Failing after 15s
Python Tests / test-python (push) Failing after 2m51s
Security Scanning / security-scan (push) Failing after 48s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Failing after 11s
Smart Contract Tests / test-solidity (map[name:zk-circuits path:apps/zk-circuits]) (push) Failing after 46s
Smart Contract Tests / lint-solidity (push) Failing after 11s
security: add timeouts to HTTP requests and fix temp directory usage
- Add 30-second timeouts to all HTTP requests in enterprise_cli.py (5 instances)
- Add 30-second timeouts to all HTTP requests in miner_management.py (4 instances)
- Replace hardcoded /tmp with tempfile.gettempdir() in extended_features.py
- Fix requires-python constraint from ^3.13 to >=3.13 in aitbc-core
- Add missing dependencies: pynacl to aitbc-crypto, httpx to aitbc-sdk
- Add poetry packages configuration to aitbc-core pyproject.toml
- Add type
2026-04-18 20:39:33 +02:00
..

AITBC SDK

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

Installation

pip install aitbc-sdk

Requirements

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

Compatibility & Stability

Python Version Support

  • Minimum Version: Python 3.13.5+
  • Recommended: Python 3.13.5 or 3.14
  • Guarantee: All APIs maintain backward compatibility within Python 3.13.5+
  • 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