#google #grpc-api #cloud #grpc #api-service #future #async

google-cloud

Asynchronous Rust bindings for Google Cloud Platform gRPC APIs

4 releases (2 breaking)

0.2.1 Mar 24, 2021
0.2.0 Mar 24, 2021
0.1.0 Aug 23, 2020
0.0.0 Jan 20, 2020

#31 in #grpc-api

Download history 184/week @ 2024-07-19 27/week @ 2024-07-26 19/week @ 2024-08-02 36/week @ 2024-08-09 44/week @ 2024-08-16 18/week @ 2024-08-23 32/week @ 2024-08-30 33/week @ 2024-09-06 20/week @ 2024-09-13 34/week @ 2024-09-20 22/week @ 2024-09-27 29/week @ 2024-10-04 38/week @ 2024-10-11 38/week @ 2024-10-18 44/week @ 2024-10-25 37/week @ 2024-11-01

160 downloads per month
Used in backuplit

MIT/Apache

2MB
15K SLoC

Bazel 9K SLoC // 0.1% comments Rust 6.5K SLoC // 0.0% comments

google-cloud

CI version docs license

Asynchronous Rust bindings for Google Cloud Platform gRPC APIs.

This library aims to create high-level and idiomatic bindings to Google Cloud Platform APIs and services.

Because of the breadth of the services offered by GCP and the desire to create idiomatic APIs for each of them, it currently only supports a handful of services.
Contributions for new service integrations are very welcome, since the entirety of GCP can be hard to cover by only a few maintainers.

If you are looking for lower-level bindings that offer more control and supports a lot more services (through automated code-generation), you can look into using google-apis-rs/generator.

Implemented services

Service Feature name Status
Pub/Sub pubsub Complete
Datastore datastore Complete
Cloud Storage storage Complete
Cloud Vision vision In progress
Cloud Tasks tasks In progress

Examples

You can see examples of how to use each of these integrations by looking at their different integration tests, which aims to model how these services are typically used.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~18–32MB
~591K SLoC