quickchart-rs

Crates.ioquickchart-rs
lib.rsquickchart-rs
version0.1.1
created_at2025-11-27 01:41:36.84774+00
updated_at2025-11-27 01:41:36.84774+00
descriptionQuickchart.io Api wrapper
homepage
repositoryhttps://github.com/TimHillier/quickchart-rs
max_upload_size
id1952912
size66,830
Tim Hillier (TimHillier)

documentation

README

quickchart-rs

A Rust client library for QuickChart.io, a web service that generates chart images from Chart.js configurations.

Installation

[dependencies]
quickchart-rs = "0.1.1"

Usage

Generate Chart URL

use quickchart_rs::QuickchartClient;

let client = QuickchartClient::new()
    .chart(r#"{"type":"bar","data":{"labels":["A","B"],"datasets":[{"data":[1,2]}]}}"#.to_string())
    .width(800)
    .height(400);

let url = client.get_url()?;

Download Chart Image

use quickchart_rs::QuickchartClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let image_bytes = QuickchartClient::new()
        .chart(r#"{"type":"bar","data":{"labels":["A","B"],"datasets":[{"data":[1,2]}]}}"#.to_string())
        .format("png".to_string())
        .post()
        .await?;
    
    std::fs::write("chart.png", image_bytes)?;
    Ok(())
}

Save to File

use quickchart_rs::QuickchartClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    QuickchartClient::new()
        .chart(r#"{"type":"bar","data":{"labels":["A","B"],"datasets":[{"data":[1,2]}]}}"#.to_string())
        .to_file("chart.png")
        .await?;
    Ok(())
}

Documentation

Full API documentation is available at docs.rs/quickchart-rs or by running cargo doc --open.

Examples

See the examples directory for more complete examples.

License

MIT License - see LICENSE for details.

Commit count: 0

cargo fmt