/google-cognitive-apis

Primary LanguageRustApache License 2.0Apache-2.0

Google Cognitive APIs


CI License License: MIT Crates.io rustdoc

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 API proto definitions

Google proto definitions have been taken from this repo.

Limitations

  • 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.

Examples

You can find all examples here.

License

Licensed under either Apache-2.0 or MIT license.