Python SDK for cq — shared agent knowledge commons
Project description
cq-sdk
Python SDK for cq — the shared agent knowledge commons.
Lets any Python application query, propose, confirm, and flag knowledge units against a remote cq API, or store locally when no remote is configured.
Installation
uv add cq-sdk
Or with pip:
pip install cq-sdk
Quick Start
from cq import Client, FlagReason
cq = Client() # Auto-discovers config; falls back to local-only.
# Query.
results = cq.query(domains=["api", "stripe"], language="python")
# Propose.
ku = cq.propose(
summary="Stripe 402 means card_declined",
detail="Check error.code, not error.type.",
action="Handle card_declined explicitly.",
domains=["api", "stripe"],
)
# Confirm / flag.
cq.confirm(ku.id)
cq.flag(ku.id, reason=FlagReason.STALE)
# Get the canonical agent protocol prompt.
prompt = cq.prompt()
Configuration
The client reads configuration from environment variables:
| Variable | Description | Default |
|---|---|---|
CQ_ADDR |
Remote cq API address | None (local-only) |
CQ_API_KEY |
API key | None |
CQ_LOCAL_DB_PATH |
Local SQLite path | ~/.local/share/cq/local.db |
Or pass directly:
cq = Client(
addr="http://localhost:3000",
local_db_path=Path("~/.local/share/cq/local.db").expanduser(),
)
Knowledge tiers
Every knowledge unit has a tier: local (on-disk SQLite, never leaves the machine), private (stored on the remote API at CQ_ADDR, visible to every client pointing at the same remote), or public (open commons; not yet available).
With a remote configured, cq.propose(...) sends the unit to the remote and returns it tagged private; with no remote, or if the remote is unreachable, it writes the unit locally as local.
See the top-level README for the full description.
Dev Setup
uv sync --group dev
Testing
make test
Linting
make lint
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 cq_sdk-0.6.2.tar.gz.
File metadata
- Download URL: cq_sdk-0.6.2.tar.gz
- Upload date:
- Size: 36.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
468948b7ddf0adde94c750e63ed4f029567040d31770504436e747bd396be298
|
|
| MD5 |
272a7727b490faaa8dee260c3cefbd81
|
|
| BLAKE2b-256 |
f411218bf6de3d5222a88c355644d2efd633c96d8e9a2afdc563c1097597b334
|
Provenance
The following attestation bundles were made for cq_sdk-0.6.2.tar.gz:
Publisher:
release-sdk-python.yaml on mozilla-ai/cq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cq_sdk-0.6.2.tar.gz -
Subject digest:
468948b7ddf0adde94c750e63ed4f029567040d31770504436e747bd396be298 - Sigstore transparency entry: 1263729449
- Sigstore integration time:
-
Permalink:
mozilla-ai/cq@c5cc5c03e630dded91c7a06f60c7e609a06367a8 -
Branch / Tag:
refs/tags/sdk/python/0.6.2 - Owner: https://github.com/mozilla-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-sdk-python.yaml@c5cc5c03e630dded91c7a06f60c7e609a06367a8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cq_sdk-0.6.2-py3-none-any.whl.
File metadata
- Download URL: cq_sdk-0.6.2-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c80e9b7ba9727e0f7d4585439ccdc31cb34219a69036e160908eb6dcd155eff8
|
|
| MD5 |
c1d4ff3426463ef1d116a9f2614b5d52
|
|
| BLAKE2b-256 |
6a903434c0f0c97919dc77324362d8379e1f8c59cf826505839d44d265413418
|
Provenance
The following attestation bundles were made for cq_sdk-0.6.2-py3-none-any.whl:
Publisher:
release-sdk-python.yaml on mozilla-ai/cq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cq_sdk-0.6.2-py3-none-any.whl -
Subject digest:
c80e9b7ba9727e0f7d4585439ccdc31cb34219a69036e160908eb6dcd155eff8 - Sigstore transparency entry: 1263729545
- Sigstore integration time:
-
Permalink:
mozilla-ai/cq@c5cc5c03e630dded91c7a06f60c7e609a06367a8 -
Branch / Tag:
refs/tags/sdk/python/0.6.2 - Owner: https://github.com/mozilla-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-sdk-python.yaml@c5cc5c03e630dded91c7a06f60c7e609a06367a8 -
Trigger Event:
release
-
Statement type: