FastAPI server scaffolding for the ARP Standard (v1).
Project description
ARP Standard Python Server (arp-standard-server)
FastAPI server scaffolding for implementing ARP components with spec-aligned request/response types.
Install
python3 -m pip install arp-standard-server
Usage
from arp_standard_server.run_gateway import BaseRunGatewayServer
from arp_standard_server import AuthSettings
from arp_standard_model import (
Health,
Run,
RunGatewayCancelRunRequest,
RunGatewayGetRunRequest,
RunGatewayHealthRequest,
RunGatewayStartRunRequest,
RunGatewayStreamRunEventsRequest,
RunGatewayVersionRequest,
VersionInfo,
)
class MyRunGateway(BaseRunGatewayServer):
async def cancel_run(self, request: RunGatewayCancelRunRequest) -> Run:
return ...
async def get_run(self, request: RunGatewayGetRunRequest) -> Run:
return ...
async def health(self, request: RunGatewayHealthRequest) -> Health:
return ...
async def start_run(self, request: RunGatewayStartRunRequest) -> Run:
body = request.body
# business logic here
return ...
async def stream_run_events(self, request: RunGatewayStreamRunEventsRequest) -> str:
return ""
async def version(self, request: RunGatewayVersionRequest) -> VersionInfo:
return ...
app = MyRunGateway().create_app(auth_settings=AuthSettings(mode="disabled"))
Service base classes
BaseRunGatewayServerBaseRunCoordinatorServerBaseAtomicExecutorServerBaseCompositeExecutorServerBaseNodeRegistryServerBaseSelectionServerBasePdpServer
Request objects
All server methods accept a single request object from arp_standard_model:
*Paramsfor path/query parameters*RequestBodyfor JSON bodies*Requestwrappers withparamsand/orbody
Response payloads
Server 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).
Abstract method enforcement
Base server classes use ABC + @abstractmethod. Instantiating a class that does not implement all required endpoints raises a TypeError before the app is created.
Authentication (JWT Bearer)
app = MyRunGateway().create_app(
auth_settings=AuthSettings(
mode="required",
issuer="https://issuer.example.com/realms/arp",
audience="arp-run-gateway",
)
)
See also: docs/security-profiles.md for the standard auth configuration profiles (Dev-Insecure, Dev-Secure-Keycloak, Enterprise).
Streaming (NDJSON)
NDJSON endpoints currently use plain text payloads. Streaming helpers are planned but not implemented yet.
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_server-0.3.7.tar.gz.
File metadata
- Download URL: arp_standard_server-0.3.7.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b59a5d3611a2e7dac11f5972c4151ad18efb6427ea49309e2068c99f9a3bb500
|
|
| MD5 |
379a3c62bdb7d2c1efa3b6049b12880a
|
|
| BLAKE2b-256 |
40354325e3db3c4e6fc09ea2f772b11cd0f49bb3f297a9981630e36ddf8841cc
|
Provenance
The following attestation bundles were made for arp_standard_server-0.3.7.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_server-0.3.7.tar.gz -
Subject digest:
b59a5d3611a2e7dac11f5972c4151ad18efb6427ea49309e2068c99f9a3bb500 - Sigstore transparency entry: 789924010
- Sigstore integration time:
-
Permalink:
AgentRuntimeProtocol/ARP_Standard@8b6d25ded38ebf6db3ae7b6053a9a4385786f2ec -
Branch / Tag:
refs/tags/v0.3.7 - Owner: https://github.com/AgentRuntimeProtocol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8b6d25ded38ebf6db3ae7b6053a9a4385786f2ec -
Trigger Event:
push
-
Statement type:
File details
Details for the file arp_standard_server-0.3.7-py3-none-any.whl.
File metadata
- Download URL: arp_standard_server-0.3.7-py3-none-any.whl
- Upload date:
- Size: 21.9 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 |
952adb648affef095e5c40d5f979d1c8d8e66ed6bac126552f433593a8ab6f73
|
|
| MD5 |
204cb4cc65f70e22491401c07a71cffd
|
|
| BLAKE2b-256 |
6402d5c91e1759c3db39a478f1efd997c76c405c33b6d61dc6234a7491a274ae
|
Provenance
The following attestation bundles were made for arp_standard_server-0.3.7-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_server-0.3.7-py3-none-any.whl -
Subject digest:
952adb648affef095e5c40d5f979d1c8d8e66ed6bac126552f433593a8ab6f73 - Sigstore transparency entry: 789924014
- Sigstore integration time:
-
Permalink:
AgentRuntimeProtocol/ARP_Standard@8b6d25ded38ebf6db3ae7b6053a9a4385786f2ec -
Branch / Tag:
refs/tags/v0.3.7 - Owner: https://github.com/AgentRuntimeProtocol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8b6d25ded38ebf6db3ae7b6053a9a4385786f2ec -
Trigger Event:
push
-
Statement type: