Metadata-Version: 2.5
Name: commoncompute
Version: 0.4.1
Summary: Official Python SDK for the Common Compute workload API.
Project-URL: Homepage, https://commoncompute.ai
Project-URL: Documentation, https://commoncompute.ai/docs
Project-URL: Source, https://github.com/commoncompute/sdk
Project-URL: Changelog, https://commoncompute.ai/changelog
Author-email: Common Compute <contact@commoncompute.ai>
License: MIT
License-File: LICENSE
Keywords: ai,apple-silicon,inference,llm,openai-compatible
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: httpx<1.0,>=0.24
Requires-Dist: pydantic<3.0,>=2.0
Provides-Extra: cli
Requires-Dist: rich>=13; extra == 'cli'
Requires-Dist: typer>=0.9; extra == 'cli'
Provides-Extra: test
Requires-Dist: pytest-asyncio>=0.21; extra == 'test'
Requires-Dist: pytest>=7.0; extra == 'test'
Requires-Dist: respx>=0.20; extra == 'test'
Description-Content-Type: text/markdown

# commoncompute

Python client for the Common Compute API.

The workload catalog is intentionally server-controlled. List the current catalog before submitting work; a workload not currently offered returns `workload_not_offered`.

## Install

```bash
pip install commoncompute
```

## Chat quickstart

```python
import commoncompute as cc

client = cc.Client(api_key="cc_live_...")
job = client.submit(
    "mlx_llm",
    {"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 64},
    model_id="qwen3-4b",
    data_class="public",
    max_spend_usd=1,
    marketplace_execution_risk_acknowledged=True,
)
result = client.jobs.wait(job.id)
print(result)
```

The OpenAI-compatible chat-completions endpoint is also available at `https://api.commoncompute.ai/v1`.

## Current workload discovery

Use `GET /v1/workloads`, `GET /v1/models`, or the SDK catalog resource as the source of truth. Current categories include chat/LLM, vision Q&A, and fine-tuning. Availability can change while the platform is in alpha.

Every marketplace job requires an explicit acknowledgement that assigned provider Mac computers process job inputs in plaintext. Provider Agreement version 2026-09-19 is published for acceptance, but fleet-wide enforcement is still being phased in. A reviewed United States DPA framework is available only by separately signed order. Do not submit sensitive or regulated data unless the signed agreement and supported routing boundary expressly cover it.

See [the documentation](https://commoncompute.ai/docs) and [trust model](https://commoncompute.ai/security/trust-model).
