PythonからRustへの乗り換えに、ライブラリ対応表

速度、安定性などを考慮して、トレードに関してはPythonから徐々にRustへ乗り換えを始めています。

特に植物の環境制御系のプログラミングのためにRustを使い始めていますが、感覚としては本当に素晴らしいものがあります。

Rustの基礎はこちらから

最初は戸惑うかもしれませんが、慣れてくれば問題ないかと思います。

この記事では特にライブラリに関してスムーズに慣れていくために、Pythonでの主なライブラリがRustでどれに相当するのか、ざっくりと把握しておきます。

Python Rustの相当 解説
NumPy ndarray ndarrayは、多次元配列や数値計算機能を提供します。
Pandas Polars Polarsは、高速なデータフレーム操作を可能にします。
Matplotlib Plotters Plottersは、高品質なグラフ描画をサポートします。
SciPy rustimizationndarraynalgebra 複数のライブラリを組み合わせて科学計算機能を実現します。
Scikit-learn Linfa Linfaは、機械学習アルゴリズムを提供します。
TensorFlow TensorFlow Rust バインディング RustからTensorFlowを利用するための公式バインディングです。
PyTorch tch-rs tch-rsは、PyTorchのRustバインディングです。
Requests Reqwest Reqwestは、シンプルで使いやすいHTTPクライアントです。
BeautifulSoup Scraper Scraperは、HTMLやXMLのパースとデータ抽出を行います。
Flask Rocket Rocketは、高速で使いやすいWebフレームワークです。
Django Actix-webDieselの組み合わせ これらを組み合わせて、Djangoに近い機能を実現します。
OpenCV opencv-rust opencv-rustは、OpenCVのRustバインディングです。
Pillow (PIL) image imageは、画像の読み込み、加工、保存を行います。
NLTK rust-tokenizersnatural 自然言語処理のためのライブラリですが、機能はまだ限定的です。
Selenium thirtyfour thirtyfourは、ブラウザの自動操作を行います。
Asyncio async/await構文とTokioクレート 非同期プログラミングを言語レベルでサポートしています。
SQLAlchemy Diesel Dieselは、型安全なクエリビルダーとORMを提供します。
Pygame ggez ggezは、2Dゲームを簡単に作成できます。
Multiprocessing Rustのスレッド機能やRayon マルチスレッドを安全に扱い、並列処理が可能です。
Twisted Tokio Tokioは、非同期I/Oをサポートするランタイムです。

PythonからRustへの移行は、言語の文法やパラダイムの違いから最初は戸惑うかもしれません。

Rustは静的型付けであり、所有権や借用の概念など独特の特徴があります。

しかし、その分メモリ安全性や高いパフォーマンスが得られます。

ライブラリに関しては、Pythonに比べるとエコシステムはまだ成熟途中ですが、近年急速に発展しています。

主要な機能については対応するクレートが存在し、コミュニティも活発です。