Expand description
§openapp-sdk-core
Language-agnostic core of the OpenApp SDK. All language SDKs (Python today; .NET,
Ruby, Go, TypeScript in the future) sit on top of this crate — either directly via
a native binding (PyO3 for Python) or through [openapp-sdk-core-c-bridge].
What lives here:
Client/ClientBuilder— the main entry point.Clientowns an asyncreqwest::Clientconfigured with retries, telemetry, and a pluggableauth::TokenProvider.- Per-tag sub-clients (e.g.
resources::OrgsClient,resources::DevicesClient) mirror theOpenAPIgroups defined inpackages/api-spec/openapi.json. error::SdkError— exhaustive error enum. All fallible SDK calls returnResult<_, SdkError>.interceptor::Interceptor— hook for request/response observability (logging, tracing, custom headers, tenant pinning).
What does not live here:
- Workflow / determinism layers.
OpenAppis REST; there is no workflow sandbox. - Language-specific ergonomics. Those live in
packages/sdk/python/python/openapp_sdk/.
Re-exports§
pub use client::Client;pub use client::ClientBuilder;pub use client::ClientConfig;pub use error::SdkError;pub use interceptor::Interceptor;
Modules§
- auth
- Authentication providers.
- client
- The top-level
Clientand its builder. - error
- Error types surfaced by every SDK call.
- interceptor
- Request / response interceptors.
- resources
- Per-OpenAPI-tag sub-clients.
- retry
- Retry policy configuration.
- telemetry
- Tracing / telemetry configuration.
- transport
- HTTP transport engine shared by every sub-client.
Structs§
- ApiError
Response - JSON body returned by the
OpenAppAPI for non-2xx responses. - ApiKey
- A parsed
OpenAppAPI-key token.
Enums§
- Token
Format Error - Errors raised when parsing an
OpenAppAPI-key token.
Constants§
- SDK_
NAME - The SDK name we advertise in the
User-Agentheader. - SDK_
VERSION - The SDK version (kept in sync with
Cargo.toml).