Official Python SDK for Fabric - Distributed AI Compute Network
Project description
Fabric SDK
Official Python SDK for Fabric - Distributed AI Compute Network
Submit AI workloads to the Fabric network programmatically.
Installation
pip install fabric-compute-sdk
Quick Start
Option 1: Email/Password Authentication
from fabric_sdk import FabricClient
# Initialize client with email/password
client = FabricClient(
api_url="https://api.fabric.carmel.so",
email="your@email.com",
password="your_password"
)
# Submit a job
job = client.submit_job(
workload_type="llm_inference",
params={
"prompt": "Explain quantum computing in simple terms",
"max_length": 200,
"temperature": 0.7,
"use_gpu": True
},
job_name="My LLM Inference Job"
)
print(f"Job submitted: {job['id']}")
# Wait for completion
result = client.wait_for_job(job['id'], timeout=300)
print(f"Job completed in {result['duration_seconds']}s")
print(f"Cost: ${result['actual_cost']}")
Option 2: API Key Authentication (Recommended for Google OAuth users)
from fabric_sdk import FabricClient
# Initialize client with API key
client = FabricClient(
api_url="https://api.fabric.carmel.so",
api_key="fb_live_..." # Get this from dashboard Settings > API Keys
)
# Works exactly the same!
job = client.submit_job(
workload_type="llm_inference",
params={"prompt": "Explain quantum computing"},
job_name="My Job"
)
Why use API keys?
- No password needed (great for Google/GitHub OAuth users)
- More secure for CI/CD pipelines
- Easy to rotate and revoke
- Each project can have its own key
Features
- Dual Authentication - Email/password OR API keys (NEW!)
- API Key Management - Create, list, and revoke keys programmatically
- Job Submission - Submit 28 production workload types
- Batch Submission - Submit 1000s of jobs in seconds (100x faster!)
- Custom Workloads - Upload and run your own Python code
- Job Monitoring - Track progress and get results
- Credit Management - Check balance and purchase credits
- Node Discovery - List available compute nodes
- Auto-Retry - Built-in network resilience
- Type Hints - Full TypeScript-style typing support
🆕 New: Batch Submission (December 2025)
For large-scale parameter sweeps and production workloads, use batch submission:
# Submit 1000 jobs in ~5 seconds (vs 50 minutes with loop)
jobs = [
{
'workload_type': 'custom_python',
'params': {'param1': i, 'param2': 'value'},
'custom_workload_id': workload_id,
'job_name': f'Job_{i}'
}
for i in range(1000)
]
result = client.submit_batch(jobs)
print(f"Submitted {result['total_submitted']} jobs!")
print(f"Cost: ${result['total_cost_estimate']:.2f}")
Performance:
- 1,000 jobs: ~5 seconds
- 10,000 jobs: ~50 seconds
- 100,000 jobs: ~8 minutes
Supports: 1-3 million jobs/week for production use cases
Supported Workload Types (26 Total)
Compute & Simulation (5)
cpu_compute_benchmark,gpu_compute_benchmarkeigenvalue_decomposition,financial_forecast_simulation,agent_simulation
Data Processing (5)
data_cleaning,feature_extraction,csv_vectorizationdata_augmentation,outlier_detection
AI Inference (7)
llm_inference,llm_inference_batch,image_classificationembedding_generation,sentiment_analysistext_summarization,question_answering
Media Processing (5)
video_transcode,audio_to_text,video_object_detectionimage_resize_batch,video_summarization
ML Training (4)
random_forest_training,svm_trainingxgboost_training,neural_network_training
Custom (1)
custom_python
For detailed parameter documentation for each workload type, see DEVELOPER_GUIDE.md.
Documentation
For Developers
- Developer Guide - Complete SDK API reference
- Custom Workloads Guide - Upload and run your own Python code on Fabric
- Publishing to PyPI - How to release new versions
For Enterprises
- Enterprise Integration Guide - Complete documentation with examples, best practices, and API reference
- SDK Playground Specification - Interactive playground implementation guide for dashboard integration
License
MIT License - See LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fabric_compute_sdk-1.0.6.tar.gz.
File metadata
- Download URL: fabric_compute_sdk-1.0.6.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab707c5c702bf059114cc14a0ad6609863d41e22425cda8d9265a0e66842cd3f
|
|
| MD5 |
f3c4c86c8e8251c92a22efd0dc3105f7
|
|
| BLAKE2b-256 |
be312f08fa54abbc445524e893c9b4175686f5686a2636495f9a03b193adc00c
|
File details
Details for the file fabric_compute_sdk-1.0.6-py3-none-any.whl.
File metadata
- Download URL: fabric_compute_sdk-1.0.6-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3d06534d5d60f8574832821ba751d56fc075b34f10618b28d0d7e675c2f4ee1
|
|
| MD5 |
2a100b0f515a0e747e74f0b7eb7d8eb7
|
|
| BLAKE2b-256 |
f6139ffee06df4936deb63262b32971ad981667857553aa4db8c4bd2a50829fc
|