Asynchronous Rust bindings for Google Cloud Platform cognitive gRPC APIs. Provides high level interfaces wrapping complexity of low-level GRPC implementation. Bidirectional gRPC streaming is supported with two alternative approaches:
- tokio.rs channels
- asynchronous streams facilitated by crate async-stream
Following APIs are currently supported:
Cognitive API | Feature name | Status |
---|---|---|
Dialogflow ES | dialogflow |
Complete |
Speech-to-text | speech-to-text |
Complete |
Text-to-speech | text-to-speech |
Complete |
IMPORTANT: Version 0.2.0 is upgrading underlying GRPC stack (tonic, prost and prost-build libraries). Please keep in mind that prost-build requires now external Protocol Buffer compiler (protoc). Details can be found here. You can download protoc from github.
Google proto definitions have been taken from this repo.
- Only limited subset of Google cognitive APIs is supported. Feel free to raise PR with new additions!
- Dialogflow CX is not yet supported.
- For Dialogflow we currently support only SessionClient (The purpose of this library is not support different DialogFlow management APIs).
- REST APIs are supported with single purpose: to define structs that will enable deserialization of JSON config structures and their conversion into GRPC counterparts. Full support for REST APIs will be not introduced.
You can find all examples here.
Licensed under either Apache-2.0 or MIT license.