Files
aitbc/docs/8_development/4_examples.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

2.9 KiB

title, description
title description
Code Examples Practical examples for building on AITBC

Code Examples

This section provides practical examples for common tasks on the AITBC platform.

Python Examples

Basic Job Submission

from aitbc import AITBCClient

client = AITBCClient(api_key="your_key")

job = client.jobs.create({
    "name": "image-classification",
    "type": "ai-inference",
    "model": {
        "type": "python",
        "entrypoint": "model.py",
        "requirements": ["torch", "pillow"]
    }
})

result = client.jobs.wait_for_completion(job["job_id"])

Batch Job Processing

import asyncio
from aitbc import AsyncAITBCClient

async def process_images(image_paths):
    client = AsyncAITBCClient(api_key="your_key")
    
    tasks = []
    for path in image_paths:
        job = await client.jobs.create({
            "name": f"process-{path}",
            "type": "image-analysis"
        })
        tasks.append(client.jobs.wait_for_completion(job["job_id"]))
    
    results = await asyncio.gather(*tasks)
    return results

JavaScript Examples

React Component

import React, { useState, useEffect } from 'react';
import { AITBCClient } from '@aitbc/client';

function JobList() {
    const [jobs, setJobs] = useState([]);
    const client = new AITBCClient({ apiKey: 'your_key' });
    
    useEffect(() => {
        async function fetchJobs() {
            const jobList = await client.jobs.list();
            setJobs(jobList);
        }
        fetchJobs();
    }, []);
    
    return (
        <div>
            {jobs.map(job => (
                <div key={job.jobId}>
                    <h3>{job.name}</h3>
                    <p>Status: {job.status}</p>
                </div>
            ))}
        </div>
    );
}

WebSocket Integration

const client = new AITBCClient({ apiKey: 'your_key' });
const ws = client.websocket.connect();

ws.on('jobUpdate', (data) => {
    console.log(`Job ${data.jobId} updated to ${data.status}`);
});

ws.subscribe('jobs');
ws.start();

CLI Examples

Job Management

# Create job from file
aitbc job create job.yaml

# List all jobs
aitbc job list --status running

# Monitor job progress
aitbc job watch <job_id>

# Download results
aitbc job download <job_id> --output ./results/

Marketplace Operations

# List available offers
aitbc marketplace list --type image-classification

# Create offer as miner
aitbc marketplace create-offer offer.yaml

# Accept offer
aitbc marketplace accept <offer_id> --job-id <job_id>

Complete Examples

Find full working examples in our GitHub repositories: