#price #blocking #api #date #api-bindings #api-wrapper #hvakosterstrommen

Strompris

对 https://hvakosterstrommen.no 的 Strømpris-API 的简单封装。

3 个不稳定版本

0.4.1 2024年7月20日
0.4.0 2024年7月20日
0.3.1 2024年7月19日

592网页编程

Download history 269/week @ 2024-07-16 55/week @ 2024-07-23 17/week @ 2024-07-30

每月341次下载

MIT 许可证

20KB
345

Strømpris

此 crate 是围绕 https://hvakostersttrommen.no 上托管的 Strømpris-API 的封装。

此 crate 提供了客户端的异步和阻塞版本,以及响应对象的强类型模型。

文档

https://docs.rs/strompris

用法

运行 cargo add strompris 将此 crate 添加到您的 Cargo.toml 文件。

示例

use strompris::blocking::Strompris;
use strompris::{PriceRegion, Date};

fn main() {
    let date = Date::from_ymd_opt(2024, 1, 31).unwrap();
    let client = Strompris::default();
    let prices = client.get_prices(date, PriceRegion::NO1).unwrap();
    for price in prices.iter() {
        println!("From: {}", price.time_start.time());
        println!("To: {}", price.time_end.time());
        println!("Price: {:.2} NOK\n", price.nok_per_kwh);
    }
}

lib.rs:

此 crate 提供了 HvaKosterStrømmen 提供的 Strømpris API 的封装。

该 crate 设计得与 API 一样简单,因此只公开了一个方法:获取特定区域特定日期的价格的方法。

此 crate 提供了获取价格时的异步和阻塞方式。有关阻塞 API 的更多信息,请参阅阻塞模块。

有关 API 的更多信息,请参阅 www.hvakosterstrommen.no

使用 tokio 的示例

use strompris::{Strompris, PriceRegion, Date, Error};

#[tokio::main]
async fn main() -> Result<(), Error> {
    let date = Date::from_ymd_opt(2024, 1, 31).unwrap();
    let client = Strompris::default();
    let prices = client.get_prices(date, PriceRegion::NO1).await?;
    for price in prices.iter() {
        println!("Price: {:.2}", price.nok_per_kwh);
        println!("From: {}", price.time_start.time());
        println!("To: {}", price.time_end.time());
    }
    Ok(())
}

依赖关系

~5–16MB
~228K SLoC