2 releases
new 0.1.2 | Mar 15, 2025 |
---|---|
0.1.1 | Mar 15, 2025 |
#748 in Web programming
34KB
666 lines
openmeter.rs
A rust client for OpenMeter.
Installation
Add the following to your Cargo.toml
:
[dependencies]
openmeter = "0.1.1"
Usage
use openmeter::MeterClient;
let client = MeterClient::new("https://api.openmeter.co/v1", "your-api-token");
use openmeter::{MeterClient, CreateMeterRequest};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = MeterClient::new("https://openmeter.cloud".to_string(), "YOUR_SECRET_TOKEN".to_string());
// Create a meter
let create_req = CreateMeterRequest {
slug: "tokens_total".to_string(),
name: Some("Tokens Total".to_string()),
description: Some("AI Token Usage".to_string()),
aggregation: "SUM".to_string(),
event_type: "prompt".to_string(),
event_from: None,
value_property: Some("$.tokens".to_string()),
group_by: None,
metadata: None,
};
let meter = client.create_meter(&create_req).await?;
println!("Created meter: {:?}", meter);
// ... other usage: get, list, update meters, ingest events, etc.
Ok(())
}
Dependencies
~4–20MB
~196K SLoC