PyCon JP 2026

PyVista on WebAssembly: サーバーレス3D可視化の実現

概要

PyVista は VTK ベースの Python 3D 可視化ライブラリです。本トークでは、PyVista を WebAssembly(WASM)上で動作させる pyvista-wasm の技術スタック・実装詳細・パフォーマンス特性を紹介します。Pyodide と VTK-WASM を組み合わせることで、サーバー不要でブラウザ上に本格的な3D可視化環境を実現できます。開発者視点から得た知見と、ブラウザ上のライブデモをお届けします。

詳細

背景と動機

科学技術計算の可視化はこれまでローカル環境またはサーバーサイドが前提でした。WebAssembly の普及により、NumPy・SciPy に続いて VTK のような重量級ライブラリもブラウザで動作可能になりつつあります。

トーク構成(30分)

  1. PyVista と WASM の概要(5分)
    - PyVista とは何か
    - なぜ WASM か・何が変わるか

  2. 技術スタック・実装詳細(12分)

  • VTK の Emscripten ビルド
  • Pyodide 上での PyVista の動作
  • WebGL レンダリングとの統合
  • 開発・CI における課題と解決策
  1. ブラウザ上でのライブデモ(8分)
  • JupyterLite での動作
  • インタラクティブな3D メッシュ操作
  1. パフォーマンス・制限事項(5分)
  • ネイティブとの比較
  • WASM の制約とワークアラウンド
  • 今後のロードマップ

Tell us about your own experience with this topic

PyVista(VTK ベースの Python 3D 可視化ライブラリ)本体にコントリビューターとして参加しており、バグ修正・機能追加の PR を継続的に送っています。その延長として、PyVista を WebAssembly 上で動作させる pyvista-wasm プロジェクトにも参画し、現在はメイン開発者の一人として設計・実装に携わっています。活動期間は1年未満ですが、Pyodide・VTK-WASM を組み合わせたビルドパイプラインの構築やブラウザ上でのレンダリング統合など、コアな部分の実装を担っています。いずれも個人による OSS 活動として、業務外の時間で取り組んでいます。

What discussions can you have with attendees through this talk?

「Python の重量級ライブラリを WASM に移植した・試みた」経験をお持ちの方と、ビルドの苦労や実用上のボトルネックについて情報交換したいです。また、ブラウザで動く科学技術計算環境に対してどんなユースケースを想定されているか——教育・教材配布、論文再現環境、社内ダッシュボードなど——を聴き手から引き出したいと思っています。さらに「WASM である必要があるのか、Jupyter サーバーで十分では?」という根本的な問いも会場に投げかけ、サーバーレス可視化の価値をいっしょに議論できればと考えています。

The speaker's profile picture
Tetsuo Koyama

2022〜2025年にSciPy Conference(米国)に参加し、MyST、PyVista、GeoVistaなどのプロジェクトのスプリントに関わる。2025年1月のSciPyData Japanでは共同企画・運営を担当し、科学技術とデータサイエンスをつなぐプログラム設計に携わる。PyCon JPでも登壇・運営経験があり、「科学とPythonの融合」を国内で推進している。