Tsuchinokoトランスパイラが現在サポートしていないPython機能の一覧です。
del 文 (変数・要素の削除)match 文 (Python 3.10+ パターンマッチング)type 文 (Python 3.12+ 型エイリアス構文)global 文 (グローバル変数宣言)nonlocal 文 (ネスト関数の変数バインディング):= 代入式)async def (コルーチン定義)await 式async for (非同期イテレーション)async with (非同期コンテキストマネージャ)yield 文 (ジェネレータ関数)yield from (ジェネレータ委譲)(x for x in items))[!NOTE] リスト内包表記、辞書内包表記、セット内包表記 (V1.6.0) はサポートされています。
__enter__ / __exit__ プロトコル)[!NOTE]
with open(...) as f:(ファイル操作) はサポートされています (V1.6.0)。
[!NOTE]
*args(位置可変長引数) および**kwargs(キーワード可変長引数) はサポートされています (V1.6.0)。
abc モジュール)@staticmethod, @dataclass, @property 以外)@classmethod)[!NOTE] 単一継承、
super()、@propertyはサポートされています (V1.6.0)。
__repr__, __str__ (文字列表現)__call__ (呼び出し可能オブジェクト)__slots__ (メモリ最適化)__getitem__, __setitem__, __delitem__ (コンテナプロトコル)__iter__, __next__ (イテレータプロトコル)__len__, __contains__ (コンテナプロトコル)__hash__, __eq__ (ハッシュと等価性)__add__, __sub__, __mul__ など)complex, j サフィックス)b"...", bytearray)frozenset())decimal.Decimal)fractions.Fraction)memoryview)slice())...)for ループ外での range オブジェクト)getattr(), setattr(), hasattr(), delattr()issubclass(), type() (※isinstance は部分サポート)dir(), vars(), locals(), globals()id(), hash()iter(), next()exec(), eval(), compile()object() (※super() はサポート)format(), repr()memoryview(), bytearray()[!NOTE] これらの多くは Resident Worker 経由で使用可能です。
以下は 純粋なRust には変換できませんが、Resident Worker 経由で動作します:
open(), ファイル操作) ※with open(...) はV1.6.0でネイティブサポートre モジュール)datetime モジュール)collections モジュール: deque, Counter, OrderedDict)itertools モジュール)functools モジュール: partial, reduce)pickle モジュール)json モジュール) - Rust の serde_json を使用推奨os, sys モジュール)threading, multiprocessing)socket, http, urllib)subprocess モジュール)IPC 経由で動作するライブラリ (ネイティブ Rust ではない):
Resident Worker 使用時でも:
NDInt = npt.NDArray[np.int64]df[df["col"] > 5] (Pandas フィルタリング)ここに記載されている機能は将来のバージョンで追加される可能性があります。機能リクエストについては GitHub リポジトリで Issue を作成してください。