Python向けストリーミング処理ライブラリ「Faust」リリース

 財務サービス企業のRobinhoodが、Python向け分散ストリーム処理ライブラリ「Faust」の一般公開(Public release)版となる「Faust 1.0.26」を7月30日にリリースした。「Apache Kafka」のアイデアをPythonに移植し、高性能な分散システムを構築できるという。

 Faustは財務サービス企業のRobinhoodが開発したオープンソースの分散ストリーム処理ライブラリ。大量のメッセージを大規模に配信するためのツールで、静的片付け、高性能な非同期のI/Oを目指すAsyncIOモジュールを統合する。拡張性、信頼性に優れ、大規模なデータ量をリアルタイムで処理できるよう設計されているという。

 「Apache Kafka」に着想を得たが、DSL(ドメイン固有言語)を用いることなく、Pythonライブラリとしてストリーム処理を提供する。NumPy、PyTorch、Pandas、NLTK、Django、Flask、SQLAlchemyなどのライブラリ・ツールの再利用が可能で、既存のPythonコードにドロップして使うことができるという。ストリーミング処理とイベント処理の両方の機能を持つ。

 Robinhood社内ではリスクと詐欺検出、広告追跡、社内データベースの分散ストリーミング処理など複数の用途で、運用環境で利用されているという。

 Faustは3条項BSDライセンスの下で公開されている。最新版は、バージョン1.0.27。Pythonは3.6以上が必要。

Faust
https://github.com/robinhood/faust