「Pytra」でPythonをRustに変換、9.6秒の処理が0.4秒に
- 公開
- 正式公開 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 で行います。