openmeter 0.1.2

A Rust client for OpenMeter API
Documentation
  • Coverage
  • 38.62%
    56 out of 145 items documented0 out of 45 items with examples
  • Size
  • Source code size: 73.39 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 7.79 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 1m 1s Average build duration of successful builds.
  • all releases: 1m Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • pbarker

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(())
}