PyCon JP 2024

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) の中身について触れ、実際のメジャーなライブラリがどのように開発されているのかを紹介します。

Why did you choose this topic?:

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

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

Knowledges and know-how the audience can get from your talk:
  • Pythonライブラリを非ピュアPython(C, C++, Rust など)で開発する利点、メリット
  • Rustで開発する方法、テスト・デバッグ方法
Prior knowledges speakers assume the audience to have:
  • Pythonライブラリのパッケージング、公開に関する基本知識
  • スクリプト言語とコンパイル言語の違い
Audience experiment:

Intermediate

Language of presentation:

日本語

Language of presentation material:

日本語

See also: Google Slide

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