Sota-gRPCは、ヴイストン株式会社のコミュニケーションロボット「Sota(ソータ)」を、モダンなAPI技術であるgRPCを通じて、さまざまなプログラミング言語から操作するためのプロジェクトです。
このプロジェクトは、Sotaの標準JavaライブラリをgRPCサーバーでラップすることにより、Pythonをはじめとする多様な環境から、統一されたインターフェイスでSotaを制御することを目指しています。
RPC(Remote Procedure Call)の仕組みを利用することで、あたかも手元のプログラムで直接メソッドを呼び出すかのように、ネットワーク経由でロボットを直感的に操作できます。
このリポジトリは、以下のコンポーネントを含むモノレポ構成になっています。
-
proto/- Sotaを操作するためのgRPC API定義(.protoファイル)が格納されています。これが本プロジェクトの核となります。
-
java-server/.proto定義に基づき、SotaのJavaライブラリを実際に呼び出すgRPCサーバーです。
-
python-client/- PythonからSotaをオブジェクト指向で自然に操作できるクライアントライブラリです。PyPIへの公開を予定しており、
pip installですぐに利用できることを目指します。
- PythonからSotaをオブジェクト指向で自然に操作できるクライアントライブラリです。PyPIへの公開を予定しており、
このプロジェクトを通じて、より多くの開発者がSotaを使ったアプリケーション開発を、より手軽に、そしてより多くの言語で楽しめるようになることを目指しています。