#launchpad #api #api-bindings #rust

bin+lib launchpadlib

Rust 库,用于访问 Launchpad.net

7 个版本

0.2.0 2024年4月1日
0.1.9 2024年3月29日
0.1.8 2023年12月22日
0.1.1 2023年10月27日

#1582 in 网络编程

Download history 4/week @ 2024-06-09 1/week @ 2024-06-16 13/week @ 2024-06-30 6/week @ 2024-07-14 1/week @ 2024-07-21 65/week @ 2024-07-28

每月72次下载
用于 disperse

Apache-2.0 和可能 GPL-3.0+

470KB
1.5K SLoC

Launchpad API 的 Rust 绑定

示例

use launchpadlib::Resource;
use launchpadlib::v1_0::ServiceRoot;

fn main() {
    use url::Url;

    let client = launchpadlib::Client::anonymous("just+testing");
    let service_root = launchpadlib::v1_0::service_root(&client).unwrap();
    let people = service_root.people().unwrap();
    let person = people.get_by_email(&client, "[email protected]").unwrap();
    let ssh_keys = person.sshkeys(&client).unwrap().map(|k| k.keytext).collect::<Vec<_>>();
    println!("SSH Keys: {:?}", ssh_keys);
}

绑定是从 Launchpad 发布的 wadl 生成的。

限制和错误

  • 目前只提供阻塞式 API

  • 虽然绑定是从整个 WADL 文件生成的,但我只使用了一小部分。如果在运行时遇到问题,请报告错误。

  • Launchpad 的 WADL 在某些地方是不正确的,例如,声称某些字段是可选的,而实际上它们会被设置为 null。WADL 中的任何问题都会影响 rust 绑定的可用性。

    请参阅 fixup.xsl 以查看已应用的手动补丁;此文件几乎肯定是不完整的。

依赖项

~8–24MB
~321K SLoC