| Crates.io | buddy_client |
| lib.rs | buddy_client |
| version | 0.0.1 |
| created_at | 2025-09-26 07:56:42.181349+00 |
| updated_at | 2025-09-26 07:56:42.181349+00 |
| description | A client for the Prusa Buddy Firmware http api. |
| homepage | |
| repository | https://github.com/jamesgopsill/buddy_client |
| max_upload_size | |
| id | 1855548 |
| size | 75,712 |
This crate contains a http client for the Buddy Board Web API that exist for the Prusa 3D printers. The API features endpoints related to Octoprint and Prusa's own PrusaLink service. The functions calls feature octo and v1 in their names for the two variants respectively.
The client provides both async and sync clients. The async client is on by default and the sync client can be activated using the blocking feature flag. The async feature can be removed by setting default-features = false in your Config.toml.
Please see the examples folder for more examples but the following gives the general gist.
use buddy_client::{PrusaClient, structs::V1JobState};
#[tokio::main]
async fn main() {
let ip = "[PRINTER_IP_ADDRESS]"
let key = "[PRINTER_API_KEY]";
let client = PrusaClient::new_async(ip, key);
let version = client.version().await.unwrap();
println!("{:?}", version);
}
If you find this crate useful, please consider supporting by:
Here are some more examples of Rust being used in the Manufacturing sector.
Meatpack - A Rust implementation of a gcode encoding algorithm that can increase the data density by a factor of two.
BinaryGcode - A Rust implementation of the binary gcode standard.
Embassy Buddy - A Board Support Crate for the embassy embedded runtime and Prusa Buddy Board.
I would like to thank the support from the UKRI Innovation Launchpad Network+ Researchers-in-Residence and Booster Award schemes.