PyCon JP 2025 Logo
広島国際会議場
JPEN
Ian Lewis

Ian Lewis

Python & Rust: 次世代のPython開発

ダリア1日本語
05:15 - 05:4530min
DAY 1
09/26
FRI

Pythonは非常に使いやすい動的言語でありながら、C拡張機能によってパフォーマンスと互換性をサポートしています。しかし、Cにはメモリ安全性、セキュリティ、使いやすさに関して多くの問題があります。近年、Rustは高速でメモリ安全な言語で、多くのプロジェクトでCの代替として注目を集めています。

この講演では、RustがPython開発にどのように影響を与えてきたか、そしてPythonライブラリを構築するためにRustをどのように活用できるかを探ります。RustがCよりも開発をどのように改善するか、そしてPyO3やmaturinのようなツールを使用してRustでPythonライブラリを楽しく開発する方法を学びましょう!

Pythonのアーキテクチャは、時代とともに進化することを可能にしています。Python開発の次のステップを、一緒に歩みましょう!


トーク詳細 / Description

Outline

  • Python+Cの紹介
    • Pythonはこれまで、Cで書かれた拡張機能を多用する言語
    • 純粋なPythonは、コンパイルされた言語に比べて速度が遅く、高速化とCライブラリとの互換性のために、C拡張を利用
  • Rustの紹介
    • Rustは、高性能なコードを書くための人気のある言語
    • Rustは、バイトコードにコンパイルされる言語であり、高性能。
    • Goのような言語とは異なり、RustはC呼び出し規約との互換性が良好
    • Rustは、メモリ管理にボローチェッカーを使用することで、メモリセーフなコードを書くのが可能になる。
    • Rustには、多くの優れたツールが含まれている
  • Rust + Python
    • 元々はArmin Ronacherのような人々によって探求され、Rustで書かれたPythonツールが増え、優れたパフォーマンスを提供。
      • uv: パッケージマネージャー(ryeに触発されています)
      • ruff: リンターとフォーマッター
    • Rustで書かれたPythonパッケージの作成がはるかに簡単になった
      • PyO3: Rust用のPythonバインディング
      • maturin: Python/Rustプロジェクト用のPythonパッケージビルドバックエンド
  • PyO3を使用したRustでのPythonライブラリの開発
    • Rustでコードを書き、Pythonから呼び出す
      • RustでPython関数を作成
      • RustでPythonクラスを作成
      • Rustで書いて、Pythonで処理するエラーハンドリング
      • Rust側のスレッドセーフティ
      • Rustのみのコードでの並列処理
    • RustコードからPythonコードを呼び出す
      • Pythonモジュールのインポート
      • Python関数とメソッドの呼び出し
  • maturinを使用したRustで書かれたPythonライブラリのパッケージング
    • Pythonパッケージビルドバックエンド
    • maturin newで新しいパッケージを開始
    • maturinのパッケージ設定
    • maturinでPython wheelを作成・配布
  • まとめ
    • Pythonは、進化し続ける柔軟な言語であり、明るい未来があります。
    • Rustは、Python向けのメモリセーフで高速なコードをかける
    • PyO3とmaturinで、Python向けのRustコードを簡単に書け、パッケージ化できる
Ian Lewis

Ian Lewis

プロフィール

イアンは2006年から日本在住のエンジニアです。

2011年 PyCon JPを共同設立し、2013年〜2019年 PyCon JP社団法人の副理事長を務めながら、2010 年から 2014 年までメディアリードおよび国際リエゾンを務めました。

2008年にPython受託開発をするBeProudに入社し、2011年に Connpassを初期開発してリリースしました。2014年までリード開発を続けました。

2015年にGoogle Japanに入社して、Kubernetes Meetupを設立したり、gVisorや、SLSAのツール開発に貢献したりして、2024年11月に退社しました。現在、次のステップを考えながら、もくもく無職をしています。