「Pytra」でPythonをRustに変換、9.6秒の処理が0.4秒に

Pytra
Python のサブセットで書いたコードを、C++・Rust・Go などのコードに変換するトランスパイラ
GitHub
公開
正式公開 2026-02-16(リリースタグなし)
作り手
yaneurao(個人)
対応
CLI(Python)
言語
英語・日本語
価格
無料(Apache-2.0 ライセンス)
評価
GitHub のスター 302(2026-10-12)

どんなアプリか

Pytra は、Python で書いたコードを C++、Rust、C#、PowerShell、JavaScript、TypeScript、Dart、Go、Java、Swift、Kotlin、Ruby、Lua、Scala3、PHP、Nim、Julia、Zig のコードに変換するトランスパイラです。入力に使うのは Python のサブセットです。

Preserves the original code structure almost entirely

yaneurao さん、Pytra の README(GitHub)

README によると、トランスパイラ自体も Python で書かれていて、自分自身を変換すること(セルフホスト)もできます。VS Code など既存のツールもそのまま使えると書かれています。

README には、同じサンプルコードを Python のまま動かした場合と変換後に動かした場合の実行時間(秒)の比較が載っています。たとえばサンプル06(Julia set parameter sweep)は、Python で 9.627 秒、変換後の C++ で 0.546 秒、Rust で 0.407 秒です。

ドキュメントは英語と日本語の両方で用意されていて、チュートリアル、ガイド、仕様書、プロジェクトの進捗をそれぞれの言語で読めます。

料金とデータの置き場所

Pytra は Apache License 2.0 で公開されているオープンソースのソフトウェアです。

これまでの更新

2026-04-06 に、enter / exit を使った with 文に対応しました。2026-04-08 には、すべての言語で lint の指摘がなくなったと書かれています。

2026-04-10 の更新では、Zig と Rust の例外・try・with の処理を共通の仕組み(CommonRenderer)にまとめました。

同じ分野のアプリ

名前型仕掛け対応料金
PytraトランスパイラPython のサブセットで書いたコードを各言語のコードに変換CLI(Python)無料(OSS, Apache-2.0)
LythonコンパイラLLVM と MLIR をもとにした、Python の実験的なコンパイラ・ツールチェーンC++(LLVM/MLIR)無料(OSS、ライセンス要確認)
pyproc言語間呼び出しUnix ドメインソケットで Go から Python の関数をローカル関数のように呼べるGo ライブラリ+Python ワーカー無料(OSS, Apache-2.0)

入れる前に

README の比較表によると、型は Python 形式の型注釈で静的に扱い、メモリ管理は参照カウント(RC)による自動管理です。単一継承とミックスインには対応していますが、多重継承には対応していません。

実行速度は出力先の言語によって変わると書かれています。ビルドと実行は ./pytra –build –run で行います。