jharness-models
OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages adapters; DeepSeek profiles; and provider-neutral model composition for the JHarness kernel.
uv add jharness-models
from jharness.models.openai import OpenAIResponsesModel
| Adapter | Runtime tools | Provider-hosted tools | Ordered output |
|---|---|---|---|
| OpenAI Chat Completions | Function calls | None | Content and calls are normalized into ModelResponse.output |
| Anthropic Messages | Client tool_use |
Profile-installed server-tool codecs | Native block order is retained |
| OpenAI Responses | Function and freeform calls | Profile-installed image generation and web search codecs | Native Responses item order is retained |
DeepSeek's native Responses endpoint uses OpenAIResponsesModel with
deepseek_openai_responses_profile. That profile is text-only, accepts only
deepseek-v4-flash, exposes provider-hosted web search plus the exact freeform
apply_patch runtime tool, and forces stateless requests with complete history. The
DeepSeek Anthropic profile independently exposes its verified server-side web search.
Model modalities describe what the model itself understands or produces. Tool
ownership is separate: RuntimeToolCall is executed by the JHarness runtime, while a
ProviderToolCall records work already executed by the supplier. Both remain
interleaved with ContentPart values in ordered output.
Each protocol profile contains the exact immutable ModelCapabilities returned by
its model client. The default Responses profile is conservative and text-only;
model-specific modalities, structured output, and hosted tools require explicit host
opt-in. Tool selection is declared as a set of supported types rather than a coarse
boolean. Supplier factories only compose protocol capabilities and wire policies; the
shared codecs contain no supplier-name branches.
OpenAI Responses sends store=false by default and requests encrypted reasoning
history. Hosted image generation additionally requires a host-owned
ResponsesArtifactStore; generated base64 is persisted externally and durable history
contains only integrity-bearing ArtifactRef values. Stores must be durable,
idempotent, safe for provider-controlled call ids, available during run recovery, and
responsible for retention and garbage collection of uncommitted saves.
Retry and fallback compose directly around model values:
from jharness.models.decorators import FallbackModel, RetryingModel
model = FallbackModel(
RetryingModel(primary_model, max_attempts=3),
RetryingModel(backup_model, max_attempts=2),
)
Installing this distribution installs the exact matching jharness-kernel version.
Provider configuration and composition details are in the
model adapter guide.
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 jharness_models-0.6.1.tar.gz.
File metadata
- Download URL: jharness_models-0.6.1.tar.gz
- Upload date:
- Size: 63.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1e5a71651ced277f4f7838119e4567f1506ed80d4b6bce62fbda2e60da901af
|
|
| MD5 |
9f075d3fd162c61ef670eeb0cc7acad9
|
|
| BLAKE2b-256 |
faaafc6460f7da48c56b6598bebabc09411fe2adda0cdce34c9bf511c3dae9b8
|
Provenance
The following attestation bundles were made for jharness_models-0.6.1.tar.gz:
Publisher:
release.yml on Ezio2000/jharness
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jharness_models-0.6.1.tar.gz -
Subject digest:
d1e5a71651ced277f4f7838119e4567f1506ed80d4b6bce62fbda2e60da901af - Sigstore transparency entry: 2436563089
- Sigstore integration time:
-
Permalink:
Ezio2000/jharness@cd2d3bc8f8aad577a1194a2ffc5aafdd903941b2 -
Branch / Tag:
refs/tags/v0.6.1 - Owner: https://github.com/Ezio2000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd2d3bc8f8aad577a1194a2ffc5aafdd903941b2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file jharness_models-0.6.1-py3-none-any.whl.
File metadata
- Download URL: jharness_models-0.6.1-py3-none-any.whl
- Upload date:
- Size: 84.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09ba1e099e94017a392c57e0837084680d94427c44dbf6632465ee775c079e96
|
|
| MD5 |
73f501b07f1649fa128ee751ab34f0d6
|
|
| BLAKE2b-256 |
db74e7dbc24848177ced872dbc691cd4deb6f9d116ffc0c9818e416f495f7bbd
|
Provenance
The following attestation bundles were made for jharness_models-0.6.1-py3-none-any.whl:
Publisher:
release.yml on Ezio2000/jharness
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jharness_models-0.6.1-py3-none-any.whl -
Subject digest:
09ba1e099e94017a392c57e0837084680d94427c44dbf6632465ee775c079e96 - Sigstore transparency entry: 2436563136
- Sigstore integration time:
-
Permalink:
Ezio2000/jharness@cd2d3bc8f8aad577a1194a2ffc5aafdd903941b2 -
Branch / Tag:
refs/tags/v0.6.1 - Owner: https://github.com/Ezio2000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cd2d3bc8f8aad577a1194a2ffc5aafdd903941b2 -
Trigger Event:
push
-
Statement type: