peach-workspace/peach-lib
notplants 7daab74b37
continuous-integration/drone/pr Build is failing Details
Fix golgi import
2022-07-07 10:51:44 +02:00
..
examples Fix example 2022-05-10 13:08:32 +02:00
src Cargo fmt 2022-07-04 14:54:00 +02:00
.gitignore First workspace commit 2021-08-06 13:58:40 -04:00
Cargo.toml Fix golgi import 2022-07-07 10:51:44 +02:00
README.md First workspace commit 2021-08-06 13:58:40 -04:00

README.md

peach-lib

Generic badge

JSON-RPC client library for the PeachCloud ecosystem.

peach-lib offers the ability to programmatically interact with the peach-network, peach-oled and peach-stats microservices.

Overview

The peach-lib crate bundles JSON-RPC client code for making requests to the three PeachCloud microservices which expose JSON-RPC servers (peach-network, peach-oled and peach-menu). The full list of available RPC APIs can be found in the READMEs of the respective microservices (peach-network, peach-oled, peach-menu), or in the developer documentation for PeachCloud.

The library also includes a custom error type, PeachError, which bundles the underlying error types into three variants: JsonRpcHttp, JsonRpcCore and Serde. When used as the returned error type in a Result function response, this allows convenient use of the ? operator (as illustrated in the example usage code below).

Usage

Define the dependency in your Cargo.toml file:

peach-lib = { git = "https://github.com/peachcloud/peach-lib", branch = "main" }

Import the required client from the library:

use peach_lib::network_client;

Call one of the exposed methods:

network_client::ip("wlan0")?;

Further example usage can be found in the peach-menu code (see src/states.rs).

Licensing

AGPL-3.0