Python client package for the ARP Standard (v1).
Project description
ARP Standard Python Client (arp-standard-client)
Install
python3 -m pip install arp-standard-client
Usage
from arp_standard_client.run_gateway import RunGatewayClient
from arp_standard_model import (
NodeTypeRef,
RunGatewayHealthRequest,
RunGatewayStartRunRequest,
RunStartRequest,
)
client = RunGatewayClient(base_url="http://127.0.0.1:8080", bearer_token="your-jwt")
health = client.health(RunGatewayHealthRequest())
run = client.start_run(
RunGatewayStartRunRequest(
body=RunStartRequest(
root_node_type_ref=NodeTypeRef(
node_type_id="example.com/node-types/my-root",
version="1.0.0",
),
input={"goal": "Hello, ARP"},
)
)
)
Request objects
All facade methods require a single request object from arp_standard_model. These request objects wrap:
params: path/query parameters (if any)body: JSON request body (if any)
Request and params models are service-prefixed (e.g., RunGatewayGetRunRequest, NodeRegistryListNodeTypesRequest) to avoid collisions.
Request body models are also exported with a *RequestBody alias (e.g., RunStartRequestBody).
Response payloads
Client methods return the spec-defined payload objects directly (for example: Run, Health, VersionInfo) rather
than service-specific *Response wrappers. For forward-compatible additions, use extensions (and metadata where
available); arbitrary top-level fields are not allowed by the schemas (additionalProperties: false).
Wire format
Models use the exact JSON field names from the spec (no aliasing). When serializing manually, use model_dump(exclude_none=True).
Authentication (JWT Bearer)
client = RunGatewayClient(
base_url="http://127.0.0.1:8080",
bearer_token="your-jwt",
)
Streaming (NDJSON)
Streaming endpoints currently return NDJSON as plain text. Helpers are planned but not implemented yet.
from arp_standard_client.run_gateway import RunGatewayClient
from arp_standard_model import RunGatewayStreamRunEventsParams, RunGatewayStreamRunEventsRequest
gateway = RunGatewayClient(base_url="http://127.0.0.1:8080", bearer_token="your-jwt")
text = gateway.stream_run_events(
RunGatewayStreamRunEventsRequest(params=RunGatewayStreamRunEventsParams(run_id=run_id))
)
for line in text.splitlines():
if not line:
continue
# json.loads(line)
Spec reference
arp_standard_client.SPEC_REF exposes the spec tag (for example, spec/v1@v0.3.4) used to generate the package.
See also
General Documentation
- Spec (normative):
spec/v1/ - Docs index:
docs/README.md - Security profiles (auth configuration):
docs/security-profiles.md - Repository README:
README.md
Python Specific Documentation
- Python client + models docs:
docs/python-client.md - Model package:
models/python/README.md - Codegen (developers):
tools/codegen/python/README.md
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 arp_standard_client-0.3.4.tar.gz.
File metadata
- Download URL: arp_standard_client-0.3.4.tar.gz
- Upload date:
- Size: 45.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
534d7a9892055cd28c1b4f191e7b4fa4e889749c9ac4abb08737bcc0ccc0cd69
|
|
| MD5 |
8edb825ecda076907cba6053f2ae16e0
|
|
| BLAKE2b-256 |
67c32856d332fbf7ab81731d997c744848975b095d4be667af55c2857c7988b3
|
Provenance
The following attestation bundles were made for arp_standard_client-0.3.4.tar.gz:
Publisher:
release.yml on AgentRuntimeProtocol/ARP_Standard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arp_standard_client-0.3.4.tar.gz -
Subject digest:
534d7a9892055cd28c1b4f191e7b4fa4e889749c9ac4abb08737bcc0ccc0cd69 - Sigstore transparency entry: 789209068
- Sigstore integration time:
-
Permalink:
AgentRuntimeProtocol/ARP_Standard@9f4b7ff79d2ac4b21d19bb0d3be5993e7210e3f5 -
Branch / Tag:
refs/tags/v0.3.4 - Owner: https://github.com/AgentRuntimeProtocol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f4b7ff79d2ac4b21d19bb0d3be5993e7210e3f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file arp_standard_client-0.3.4-py3-none-any.whl.
File metadata
- Download URL: arp_standard_client-0.3.4-py3-none-any.whl
- Upload date:
- Size: 89.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2f87180dc6c10fedd04e823cc14f75e38dfb2e94d8632751dba9b3c286d3c55
|
|
| MD5 |
393eb815de17db663698a8aa3a5485fb
|
|
| BLAKE2b-256 |
b9723c8e09e7748619d8eb2497e64159b6e2e721de3566c6c3ed934fa4a64c75
|
Provenance
The following attestation bundles were made for arp_standard_client-0.3.4-py3-none-any.whl:
Publisher:
release.yml on AgentRuntimeProtocol/ARP_Standard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arp_standard_client-0.3.4-py3-none-any.whl -
Subject digest:
a2f87180dc6c10fedd04e823cc14f75e38dfb2e94d8632751dba9b3c286d3c55 - Sigstore transparency entry: 789209081
- Sigstore integration time:
-
Permalink:
AgentRuntimeProtocol/ARP_Standard@9f4b7ff79d2ac4b21d19bb0d3be5993e7210e3f5 -
Branch / Tag:
refs/tags/v0.3.4 - Owner: https://github.com/AgentRuntimeProtocol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9f4b7ff79d2ac4b21d19bb0d3be5993e7210e3f5 -
Trigger Event:
push
-
Statement type: