ThriftPyを使ってPythonでThriftのRPCを扱う

Python3でApache Thriftを扱うライブラリは無いか探してたところ、ThriftPyというのがあるらしいとわかったので試してました。

ThriftPy — ThriftPy 0.3.9 documentation

ThriftPyは、ApacheThriftのPython版と比べると、PurePython実装(Cythonによるスピードアップ可能)で使いやすそうです。

Apache ThriftのPythonチュートリアルをThriftPyで実装してみたところ、問題なく動きました。 試した環境は、Ubuntu16.04、Python3.5。

ソースコード

4ファイルです。PythonServer.pyがRPCのサーバー側、PythonClient.pyがクライアント側です。shared.thriftに書かれた定義をtutorial.thrift側でincludeして継承するところも問題なさそうでした。

クライアント側のmain関数、サーバー側のCalculatorHandlerは元のチュートリアルと内容はほぼ同じです。

Thrift Tutorial (using thriftpy)

参考