| Crates.io | plausible-rs |
| lib.rs | plausible-rs |
| version | 0.1.5 |
| created_at | 2022-09-06 06:15:51.382119+00 |
| updated_at | 2025-02-22 23:02:27.738297+00 |
| description | A Rust library for the Plausible Analytics API. |
| homepage | https://www.toddgriffin.me/ |
| repository | https://github.com/goddtriffin/plausible-rs |
| max_upload_size | |
| id | 659325 |
| size | 65,801 |
A Rust library for the Plausible Analytics API.
GET /api/healthPOST /api/eventGET /api/v1/stats/realtime/visitorsGET /api/v1/stats/aggregateGET /api/v1/stats/timeseriesGET /api/v1/stats/breakdownPOST /api/v1/sitesDELETE /api/v1/sites/:site_idGET /api/v1/sites/:site_idPUT /api/v1/sites/shared-linksPUT /api/v1/sites/goalsDELETE /api/v1/sites/goals/:goal_idRecord a pageview event!
Useful for server-side tracking by sending analytics directly to the Plausible Analytics API.
PLAUSIBLE_DOMAIN=<domain> cargo run --example event
#[tokio::main]
async fn main() {
let domain: String = env::var("PLAUSIBLE_DOMAIN")
.expect("set env var `PLAUSIBLE_DOMAIN` to name of site in Plausible");
Plausible::new().event(
EventHeaders::new(
String::from("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"),
String::from("127.0.0.1")
),
EventPayload::builder(
domain.clone(),
PAGEVIEW_EVENT.to_string(),
format!("https://{}/test", domain))
.referrer(String::from("https://www.toddgriffin.me/"))
.screen_width(2560)
.props(HashMap::from([(
String::from("author"),
PropValue::from(String::from("Todd Everett Griffin")),
)]))
.build()
).await.unwrap();
}
For more examples, check out the examples directory.
Project is under active maintenance - even if there are no recent commits! Please submit an issue / bug request if the library needs updating for any reason!
Currently, I only have a use-case for Plausible's server-side analytics tracking via the Events API, so I haven't prioritized developing the rest of the endpoints for the Stats API and the Sites API.
I fully intend to implement all of those features so that this library can do everything the Plausible API allows.
If you have a dire need for any of those endpoints, please ping me via an issue on Github and I'll know to prioritize that work. If you're feeling extra adventurous and/or REALLY need those endpoints implemented, please send a pull request :)
make lintmake testmake fixMade with 🤬 and 🥲 by Todd Everett Griffin.