21个版本
0.7.8 | 2020年11月1日 |
---|---|
0.7.6 | 2020年8月25日 |
0.7.5 | 2019年11月26日 |
0.7.4 | 2019年6月3日 |
0.7.0 | 2019年3月10日 |
#46 in #freebsd
2,355 每月下载量
用于 24 个crate (23直接)
145KB
3K SLoC
battery
Rust crate提供笔记本电脑电池的跨平台信息。
目录
概述
battery
提供笔记本电池状态的跨平台统一API。
其主要目标是封装特定于操作系统的接口,涵盖所有技巧和遗留案例,并将电池信息(如充电状态、能源速率、电压和温度)作为类型值返回,必要时重新计算以作为SI测量单位。
支持的平台
- Linux 2.6.39+
- MacOS 10.10+
- iOS
- Windows 7+
- FreeBSD
- DragonFlyBSD
请注意,iOS实现使用IOKit绑定,您的应用程序可能会因此被Apple自动拒绝。自行承担风险使用。
安装
作为先决条件,battery
crate需要至少Rustc版本1.36或更高。
将以下行添加到Cargo.toml
[dependencies]
battery = "0.7.8"
示例
fn main() -> Result<(), battery::Error> {
let manager = battery::Manager::new()?;
for (idx, maybe_battery) in manager.batteries()?.enumerate() {
let battery = maybe_battery?;
println!("Battery #{}:", idx);
println!("Vendor: {:?}", battery.vendor());
println!("Model: {:?}", battery.model());
println!("State: {:?}", battery.state());
println!("Time to full charge: {:?}", battery.time_to_full());
println!("");
}
Ok(())
}
请参阅仓库中的battery/examples/
文件夹以获取更多示例。
FFI绑定
实验性battery-ffi crate提供了对battery
crate的FFI绑定,因此它可以与其他语言一起使用,例如C、Python或NodeJS。
用户
这是battery
crate用户的非完整列表。如果您也在使用它,请给我发消息,我会在这里添加您的项目!
battop
battop
是一个交互式查看器,类似于top
、htop
和其他*top工具,但关于您笔记本电脑中安装的电池。
它使用battery
crate API在您的终端中显示电池信息。
starship
starship
是Spaceship ZSH的精简、强大且高度可定制的最小化提示Rust端口。
它使用battery
crate来在shell提示中显示当前电池级别和状态。
以下是 @matchai 的说法
我非常欣赏我们能够如此轻松地将您的库部署起来!在我们这个项目的早期版本中,电池API一直让我们头疼 😅
还有这条推文!
许可证
您可以选择以下任一许可证进行授权:Apache License 2.0 或 MIT license。
除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交给此crate的贡献将按照上述方式双重许可,不附加任何额外条款或条件。
捐赠
如果您欣赏我的工作并想支持我,您可以通过这里进行捐赠,或者通过Open Collective 支持此项目。
贡献者
支持者
感谢所有支持者! 🙏 [成为支持者]
赞助商
通过成为赞助商来支持此项目。您的标志将出现在这里,并带有指向您网站的链接。[成为赞助商]
依赖项
~1.1–1.9MB
~33K SLoC