PyCon JP 2024

ロケール設定が保存されました。pretalxでは英語のサポートが充実していると思っていますが、問題やエラーが発生した場合は、ぜひご連絡ください。

Rustを活用したPythonライブラリの開発
2024/09/28 , 20F Track2

Python以外の言語で実装された機能(モジュール、クラス、関数)をPythonのライブラリとして使用することが可能です。
有名なものでは Numpy / Pandas は高速化のために主にC言語をベースに実装されています。

最近ではC/C++以外にもRust言語の活用が注目されています。
本セッションでは、Rust を利用してPythonライブラリを開発する利点や手順などを解説します。
また実際にRustが使用されているライブラリの実例を紹介します。


Python以外の言語で実装された機能(モジュール、クラス、関数)をPythonのライブラリとして使用することが可能です。
有名なものでは Numpy / Pandas は高速化のために主にC言語をベースに実装されています。

もちろんPyConはPython開発者のためのカンファレンスなので、Rustのことに偏りすぎないような内容を心掛けます。

  • イントロダクション: C/C++ や Rust などのコンパイル言語でPythonライブラリを開発するメリット、内部的な仕組みを紹介します。
  • 開発方法
  • テスト、デバッグ
  • デプロイ、配布
  • 実際の活用例: 最近コア実装をRustで実装したことで話題になったpydantic v2 (pydantic-core) の中身について触れ、実際のメジャーなライブラリがどのように開発されているのかを紹介します。

この題材を選んだ理由やきっかけ

Rust言語が注目されはじめてから数年が経ち、Rust製のツールが使い勝手の良さ、パフォーマンス面から高く評価されています。
最近になってPythonでも実際の活用事例が目立つようになってきて、やはり高いパフォーマンスであると言われています。

パフォーマンス(≒高速性)は多くのPython開発者の関心事であると思います(私もその一人です)。
Rustを活用できるPython開発者が増えればPythonの可能性を広げることにも寄与すると考え、このテーマを選びました。

オーディエンスが持って帰れる具体的な知識やノウハウ
  • Pythonライブラリを非ピュアPython(C, C++, Rust など)で開発する利点、メリット
  • Rustで開発する方法、テスト・デバッグ方法
オーディエンスに求める前提知識
  • Pythonライブラリのパッケージング、公開に関する基本知識
  • スクリプト言語とコンパイル言語の違い
オーディエンスの経験レベル

Intermediate

発表の言語

日本語

発表資料の言語

日本語

See also: Google Slide

Software Engineer @RevComm, Inc.
like: Python, AWS, CI/CD