Skip to content

TimHillier/quickchart-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quickchart-rs

crates.io docs.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.

About

Quickchart Api wrapper built in rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages