PyCon JP 2024

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

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