#remote #hash #api #bazel-remote-apis

bazel-remote-apis

Rust bindings for Bazel Remote APIs

15 breaking releases

0.18.0 Apr 11, 2025
0.17.0 Mar 26, 2025
0.16.0 Mar 12, 2025
0.11.0 Nov 29, 2024

#693 in Network programming

Download history 249/week @ 2025-01-20 651/week @ 2025-01-27 335/week @ 2025-02-03 415/week @ 2025-02-10 288/week @ 2025-02-17 220/week @ 2025-02-24 663/week @ 2025-03-03 725/week @ 2025-03-10 349/week @ 2025-03-17 579/week @ 2025-03-24 370/week @ 2025-03-31 412/week @ 2025-04-07 303/week @ 2025-04-14 252/week @ 2025-04-21 546/week @ 2025-04-28 463/week @ 2025-05-05

1,618 downloads per month

MIT license

10MB
164K SLoC

Bazel 138K SLoC // 0.1% comments Rust 19K SLoC // 0.0% comments Go 7K SLoC // 0.3% comments Shell 254 SLoC // 0.3% comments Forge Config 2 SLoC // 0.8% comments

Bazel Remote Apis for Rust

Usage

To use in your project, add into Cargo.toml:

[dependencies]
bazel-remote-apis = "0.14.0"

Feature serde adds implementation of serde::Serialize and serde::Deserialize traits for protobuf types.

Development

Protobuf files are vendored with git-vendor:

$ git vendor list
googleapis@master:
    name:   googleapis
    dir:    bzl-remote-apis/thirdparty/github.com/googleapis/googleapis
    repo:   https://github.com/googleapis/googleapis
    ref:    master
    commit: 351713de98ef863ad79e24e46a3d72c5f656d960

remote-apis@main:
    name:   remote-apis
    dir:    bzl-remote-apis/thirdparty/github.com/bazelbuild/remote-apis
    repo:   https://github.com/bazelbuild/remote-apis.git
    ref:    main
    commit: 080024152253a987d6bc4bcba4b20aa3484c1488

Build script is used to generate Rust source code from proto files into src/generated.

To update vendored dependencies and generate code run:

git vendor update googleapis
git vendor update bazel-remote-apis
cargo build --features codegen

Dependencies

~4–11MB
~111K SLoC