54个版本 (24个重大更新)

0.24.0 2024年8月14日
0.22.0 2024年5月24日
0.21.0 2024年2月29日
0.20.0 2023年10月17日
0.3.8 2022年11月30日

#2无障碍性

Download history 18704/week @ 2024-05-02 16476/week @ 2024-05-09 18082/week @ 2024-05-16 20263/week @ 2024-05-23 21753/week @ 2024-05-30 26898/week @ 2024-06-06 35838/week @ 2024-06-13 33316/week @ 2024-06-20 38371/week @ 2024-06-27 28943/week @ 2024-07-04 31912/week @ 2024-07-11 29294/week @ 2024-07-18 29159/week @ 2024-07-25 26664/week @ 2024-08-01 32001/week @ 2024-08-08 27932/week @ 2024-08-15

每月下载量120,889
74 个crate中(直接使用4个)

Apache-2.0 OR MIT

340KB
7K SLoC

AT-SPI for Rust

crates.io badge docs.rs badge CI badge Code coverage badge

高级、异步、纯Rust AT-SPI2 协议实现,使用 zbus

Odilia屏幕阅读器项目 的一部分。

设计

  • 完全文档化,具有 #[deny(missing_docs)]
  • 至少在1.0版本之前会是这样的
  • 完全安全,具有 #[deny(unsafe_code)]
  • 出色的代码风格,具有 #[deny(clippy:all, clippy::pedantic, clippy::cargo)]

这个crate使用zbus crate进行dbus通信。我们使用异步zbus API,因此要使用atspi,您需要运行异步执行器,例如 tokioasync-std。暴露了 async-iotokio 功能,并将传递给zbus。

D-Bus类型验证

Atspi 用于向应用程序发送和接收数据。发送者和接收者需要就数据类型的形状达成一致,才能进行有效的通信。我们最好的选择是确保我们的类型与协议描述保持同步。

我们使用 zbus-lockstep 来将类型与 AT-SPI2 协议描述中定义的类型进行匹配。

并非所有类型都可以用 zbus_lockstep 进行验证(容易),因为类型可能不存在于协议描述中,例如,因为它们已被弃用(但仍在使用)或者我们选择了不同的表示形式。

(部分)类型验证的审查可以在这里找到

许可证

atspi 库的许可证是 Apache 2.0MIT

依赖项

~3–16MB
~200K SLoC