Skip to main content

iri_client/
lib.rs

1//! Rust and Python-facing client library for the IRI REST API.
2//!
3//! Public API layers:
4//! - [`ApiClient`]/[`BlockingApiClient`]: generic JSON HTTP clients.
5//! - [`IriClient`]/[`BlockingIriClient`]: OpenAPI-driven operation clients.
6//! - [`ClientError`]: unified error type used by all clients.
7//!
8//! The `OpenAPI` operation registry is generated at build time from
9//! `openapi/openapi.json`.
10
11mod blocking_client;
12mod client;
13mod error;
14mod openapi_client;
15
16/// Generic blocking JSON REST client.
17pub use blocking_client::BlockingApiClient;
18/// Generic async JSON REST client.
19pub use client::ApiClient;
20/// Error type returned by all client operations.
21pub use error::ClientError;
22/// OpenAPI-backed blocking operation client.
23///
24/// See also [`IriClient`] for the async variant.
25pub use openapi_client::{
26    BlockingIriClient, IriClient, OperationDefinition, openapi_default_server_url,
27};
28
29#[cfg(feature = "python")]
30mod python;