CHP capability adapter — run any capability as a polled background job
Project description
chp-adapter-jobs
Run any CHP capability as a polled background job. Built for heavy or
long-running capabilities — e.g. huggingface.generate_image (minutes on MPS) —
that outlive HTTP request timeouts.
How it works
submit runs the target capability via host.ainvoke inside a
ThreadPoolExecutor and returns a job_id immediately. The target runs to
completion server-side regardless of client timeouts, and — because the SQLite
evidence store is thread-safe — keeps its own full evidence chain. This
adapter emits only lightweight job-lifecycle events, never the target's payload
or result.
Capabilities
| Capability | Description |
|---|---|
chp.adapters.jobs.submit |
Submit {capability_id, payload}; returns a job_id. |
chp.adapters.jobs.status |
Poll lifecycle state: submitted / running / completed / failed + duration. |
chp.adapters.jobs.result |
Fetch a completed job's result data (ready: false while running). |
chp.adapters.jobs.list |
List all jobs and their state. |
Example: async image generation
// 1. submit — returns immediately
POST chp.adapters.jobs.submit
{ "capability_id": "chp.adapters.huggingface.generate_image",
"payload": { "prompt": "a serene mountain lake", "output_path": "/tmp/out.png" } }
// → { "job_id": "job_ab12…", "status": "submitted" }
// 2. poll
POST chp.adapters.jobs.status { "job_id": "job_ab12…" } // → running … completed
// 3. fetch result
POST chp.adapters.jobs.result { "job_id": "job_ab12…" }
// → { "ready": true, "success": true, "result": { "output_path": "/tmp/out.png", … } }
Config
| Field | Default | Meaning |
|---|---|---|
max_workers |
2 |
Thread pool size. |
allowed_capabilities |
None |
Allowlist of submittable capability ids (None = any). |
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 Distributions
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 chp_adapter_jobs-0.10.0-py3-none-any.whl.
File metadata
- Download URL: chp_adapter_jobs-0.10.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11b6ce879861c8e00cef48944075c9c752860c6e147f5715c5634e0f70a05bc8
|
|
| MD5 |
017b8b6235470006eadf2339f5d1c248
|
|
| BLAKE2b-256 |
6fa4c3ebbf6788d5a661cce24bddbb98b2227f64cf61b1027fd467fbca04f185
|