https://github.com/googleapis/google-cloud-rust
Google Cloud Platform Rust [Experimental] Client Libraries
https://github.com/googleapis/google-cloud-rust
experimental google-cloud-platform rust
Last synced: 12 months ago
JSON representation
Google Cloud Platform Rust [Experimental] Client Libraries
- Host: GitHub
- URL: https://github.com/googleapis/google-cloud-rust
- Owner: googleapis
- License: apache-2.0
- Created: 2021-11-18T19:51:09.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T19:07:11.000Z (about 1 year ago)
- Last Synced: 2025-05-12T19:50:22.712Z (about 1 year ago)
- Topics: experimental, google-cloud-platform, rust
- Language: Rust
- Homepage:
- Size: 93.1 MB
- Stars: 434
- Watchers: 70
- Forks: 55
- Open Issues: 151
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Google Cloud API Client Libraries for Rust
[](https://github.com/googleapis/google-cloud-rust/actions/workflows/sdk.yaml)
[](https://deps.rs/repo/github/googleapis/google-cloud-rust)
Idiomatic Rust client libraries for
[Google Cloud Platform](https://cloud.google.com/) services.
> **NOTE:** this project is under development, all APIs are subject to change
> without notice. Some documentation is aspirational.
## Getting Started
The [User Guide] includes basic tutorials to get started with the Google Cloud
client libraries for Rust.
## Non-public API
Some crates export "public" types and functions that are intended only for use
as implementation details of other crates in this repository. Chief amongst
these are all the symbols exported by the `google-cloud-gax-internal` crate. As
the name indicates, this crate is intended to hold internal-only types. No
application should take a direct dependency on this crate or use their types in
their code. We reserve the right to make changes to this crate without notice.
In other crates, any public symbol that is not part of the public API have the
`#[doc(hidden)]` attribute set. This is conventional in Rust.
In addition, we also use a number of crate features prefixed with `_internal-`.
None of these features (or the symbols they enable) are intended for application
developers to use.
## Unstable APIs
Rust does not have a stable API for asynchronous iterators (also known as
asynchronous streams, or simply streams). Where needed, we provide
implementations of the [futures::stream::Stream] trait.
For crates that offer implementations of the trait, the functionality is gated
by the `unstable-streams` feature. As the name indicates, this feature is
unstable. When Rust stabilizes the streams trait we may chose to rename the
feature, and may even need to change the trait implementation.
## Minimum Supported Rust Version
We require Rust >= 1.85, as we anticipate this will be at least six months old
by the time this project is stabilized (GA may be even later).
However, we have not defined a policy as to how often we will update this
minimum version. We do intend to publish our policy before declaring that the
project is generally available.
## Contributing
Contributions to this library are always welcome and highly encouraged.
See [CONTRIBUTING] for more information on how to get started. You may also find
the [Set Up Development Environment] and the [architecture] guides useful.
## License
Apache 2.0 - See [LICENSE] for more information.
[architecture]: ARCHITECTURE.md
[contributing]: CONTRIBUTING.md
[futures::stream::stream]: https://docs.rs/futures/latest/futures/stream/trait.Stream.html
[license]: LICENSE
[set up development environment]: doc/contributor/howto-guide-set-up-development-environment.md
[user guide]: https://googleapis.github.io/google-cloud-rust