requirements.txt ↔ pyproject.toml変換ツール

リアルタイムのバリデーション付きで、Pythonのrequirements.txtとpyproject.toml依存関係フォーマット間を即座に変換。

このツールについて

requirements.txt↔pyproject.toml変換ツールは、従来のrequirements.txtフォーマットとPEP 621で定義された最新のpyproject.tomlフォーマット間でPythonの依存関係宣言を変換する無料のブラウザベースユーティリティです。レガシープロジェクトをPEP 621標準に移行する場合や、pyproject.tomlからフラットな依存関係リストを抽出する場合に、即座に変換を処理します。

Pythonのパッケージングエコシステムは大きく進化しました。長年にわたり、requirements.txtは依存関係をピン留めするためのデファクトスタンダードでした:1行に1パッケージ、==>=~=などのバージョン指定子を使用します。PEP 518とPEP 621の導入により、Pythonコミュニティは依存関係を含むプロジェクトメタデータの唯一の情報源としてpyproject.tomlを標準化しました。pippoetryhatchflitpdmなどのツールはすべてpyproject.tomlをネイティブにサポートしています。

この変換ツールはPEP 440バージョン指定子(==>=<=!=~=><)の全範囲、requests[security]のようなextras、オプションの依存関係グループ([project.optional-dependencies]など)、および; python_version >= "3.8"のようなPEP 508環境マーカーをサポートしています。

すべての処理はネイティブJavaScript文字列解析を使用してブラウザ内で完全に行われます。データがサーバーに送信されることはなく、ネットワークリクエスト、ログ記録、サードパーティサービスの利用はありません。

他の設定フォーマットを扱う場合は、一般的なTOML操作にはTOML↔JSON変換ツール、YAMLワークフローにはJSON↔YAML変換ツール、JSON出力の検証にはJSONフォーマッターをご覧ください。

使い方

  1. トグルボタンで変換方向を選択します:requirements.txt → pyproject.tomlまたはpyproject.toml → requirements.txt
  2. 左側の入力パネルに依存関係の内容を貼り付けます。サンプルをクリックするとサンプルを読み込めます。
  3. 入力すると変換出力が右側の出力パネルに即座に表示されます。
  4. コピーをクリックするかCtrl+Shift+Cを押して出力をクリップボードにコピーします。
  5. ダウンロードをクリックして出力をファイル(pyproject.tomlまたはrequirements.txt)として保存します。
  6. スワップボタンで方向を逆にし、現在の出力を入力に移動して往復変換を行えます。
  7. クリアをクリックして両パネルをリセットします。

requirements.txt ↔ pyproject.toml変換の人気サンプル

すべての変換サンプルを見る →

よくある質問

データは安全ですか?

はい。すべての変換はネイティブJavaScript文字列解析を使用してブラウザ内で完全に実行されます。データがデバイスから送信されることはありません。ネットワークリクエスト、ログ記録、入力に対する分析はありません。

どのバージョン指定子がサポートされていますか?

PEP 440のすべてのバージョン指定子をサポートしています:==(正確)、>=(最小)、<=(最大)、!=(除外)、~=(互換リリース)、>(より大きい)、<(より小さい)。>=1.0,<2.0のような複合指定子もサポートしています。

extras(オプション依存関係)は処理されますか?

はい。requests[security]やcelery[redis,msgpack]のようなextrasは両方向で正しく解析・保持されます。pyproject.tomlから変換する場合、[project.optional-dependencies]グループはrequirements.txtでコメント付きセクションに変換されます。

環境マーカーは対応していますか?

; python_version >= "3.8"や; sys_platform != "win32"のようなPEP 508環境マーカーは両方向で完全にサポートされています。指定されたとおりに正確に保持されます。

requirements.txtの-rインクルードは処理されますか?

-r(インクルード)および--(オプション)ディレクティブはpyproject.tomlで直接表現できません。手動処理が必要であることを示すコメントに変換されます。

pyproject.tomlとは何ですか?なぜ使うべきですか?

pyproject.tomlはPEP 518とPEP 621で定義されたPythonプロジェクトの標準設定ファイルです。setup.py、setup.cfg、requirements.txtに代わるプロジェクトメタデータの唯一の情報源です。pip、poetry、hatch、flit、pdmなどのビルドツールがネイティブにサポートしています。

利用可能なキーボードショートカットは何ですか?

Ctrl+Shift+Cで変換出力をクリップボードにコピーします。

関連ツール