Repolode
python-rope

python-rope/rope

プロジェクト全体での名前変更、移動、抽出など、安全なコード変換を行うPythonリファクタリングライブラリです。

代替できる製品:PyCharm

スター
2,245
フォーク
203
未解決の Issue
177
最終コミット
昨日

これは何?

Ropeは、ソースコードのリファクタリングに特化したPythonライブラリです。プロジェクト内のPythonコードを解析し、シンボルの名前変更、モジュール間での定義の移動、コードの抽出やインライン化といった構造変更を適用して、ファイルをまたぐ参照の整合性を保ちます。

Ropeは純粋なPythonで書かれており、依存するのはPythonのみで、Node.jsなどのランタイムは必要ありません。Pythonコードなので、Python開発者が読んだり変更したりできます。Python 3.10までの構文の大部分をサポートしています。バージョン1.0.0以降はPython 2では動作せず、Python 2のサポートはpython2ブランチと0.xリリースに残されています。

Ropeはライブラリとしての利用を想定しており、通常はエディターやIDEとの連携を通じて使用します。ドキュメントでは設定方法とAPIの使い方を説明しています。補完に加えて基本的なリファクタリング機能を提供するJediと比べ、Ropeはより幅広いリファクタリング操作に重点を置いています。

主な機能

  • 01Pythonプロジェクト全体でシンボルの名前を変更し、参照も更新
  • 02関数、クラス、モジュールの移動と抽出
  • 03Python 3.10までの構文の大部分をサポート
  • 04Python以外への依存がなく、Node.jsも不要
  • 05エディターやIDEからライブラリとして利用可能

ユースケース

  • 大規模なPythonコードベース全体で、広く使われている関数やクラスの名前を変更する
  • コードを新しいファイルに移動してモジュール構成を再編する
  • カスタムエディターやPythonツールにリファクタリング機能を組み込む

使う前に知っておきたいこと

  • Python構文の大半をPython 3.10までサポートしているため、それより新しい構文には未対応の部分がある場合があります。
  • LGPL-3.0でライセンスされています。コピーレフト型ライセンスであり、ライブラリの改変にはその条件が適用されます。
  • Python 2では動作しません。Python 2ユーザーはpython2ブランチまたは0.xリリースを使用してください。

トピック

よくある質問

rope とは?
プロジェクト全体での名前変更、移動、抽出など、安全なコード変換を行うPythonリファクタリングライブラリです。 Ropeは、ソースコードのリファクタリングに特化したPythonライブラリです。プロジェクト内のPythonコードを解析し、シンボルの名前変更、モジュール間での定義の移動、コードの抽出やインライン化といった構造変更を適用して、ファイルをまたぐ参照の整合性を保ちます。
rope は無料で使えますか?ライセンスは?
rope は LGPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
rope は今もメンテナンスされていますか?
活発にメンテナンス中。rope の最終コミットは 2026年11月5日 です。
rope は何に使えますか?
大規模なPythonコードベース全体で、広く使われている関数やクラスの名前を変更する コードを新しいファイルに移動してモジュール構成を再編する カスタムエディターやPythonツールにリファクタリング機能を組み込む
rope はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/python-rope/rope

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト