#freebsd #linux #linux-macos #macos #windows

未维护 battery

笔记本电脑电池的跨平台信息

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

Download history 536/week @ 2024-03-14 568/week @ 2024-03-21 864/week @ 2024-03-28 617/week @ 2024-04-04 575/week @ 2024-04-11 589/week @ 2024-04-18 609/week @ 2024-04-25 757/week @ 2024-05-02 652/week @ 2024-05-09 691/week @ 2024-05-16 568/week @ 2024-05-23 684/week @ 2024-05-30 580/week @ 2024-06-06 496/week @ 2024-06-13 614/week @ 2024-06-20 577/week @ 2024-06-27

2,355 每月下载量
用于 24 个crate (23直接)

Apache-2.0 OR MIT

145KB
3K SLoC

battery

Latest Version Latest Version Build Status Minimum rustc version Apache 2.0 OR MIT licensed Backers on Open Collective Sponsors on Open Collective

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。

请参阅其README文档以获取详细信息。

用户

这是battery crate用户的非完整列表。如果您也在使用它,请给我发消息,我会在这里添加您的项目!

battop

battop是一个交互式查看器,类似于tophtop和其他*top工具,但关于您笔记本电脑中安装的电池。
它使用battery crate API在您的终端中显示电池信息。

starship

starship是Spaceship ZSH的精简、强大且高度可定制的最小化提示Rust端口。
它使用battery crate来在shell提示中显示当前电池级别和状态。

以下是 @matchai 的说法

我非常欣赏我们能够如此轻松地将您的库部署起来!在我们这个项目的早期版本中,电池API一直让我们头疼 😅

还有这条推文

许可证

您可以选择以下任一许可证进行授权:Apache License 2.0MIT license

除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交给此crate的贡献将按照上述方式双重许可,不附加任何额外条款或条件。

捐赠

如果您欣赏我的工作并想支持我,您可以通过这里进行捐赠,或者通过Open Collective 支持此项目。

贡献者

本项目之所以存在,归功于所有贡献者。

支持者

感谢所有支持者! 🙏 [成为支持者]

赞助商

通过成为赞助商来支持此项目。您的标志将出现在这里,并带有指向您网站的链接。[成为赞助商]

依赖项

~1.1–1.9MB
~33K SLoC