Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

rope -- the world's most advanced open source Python refactoring library

Build Status Latest version Download count Documentation Status


Rope is the world's most advanced open source Python refactoring library (yes, I totally stole that tagline from Postgres).

Most Python syntax from Python 2.7 up to Python 3.10 is supported. Please file bugs and contribute patches if you encounter gaps.

From version 1.0.0 onwards, rope will no longer support running on Python 2. If you need Python 2 support, then check out the python2 branch or the 0.x.x releases.

Getting Started

Why use Rope?

  • Rope aims to provide powerful and safe refactoring
  • Rope is light on dependency, Rope only depends on Python itself
  • Unlike PyRight or PyLance, Rope does not depend on Node.js
  • Unlike PyLance or PyCharm, Rope is open source.
  • Unlike PyRight and PyLance, Rope is written in Python itself, so if you experience problems, you would be able to debug and hack it yourself in a language that you are already familiar with
  • In comparison to Jedi, Rope is focused on refactoring. While Jedi provides some basic refactoring capabilities, Rope supports many more advanced refactoring operations and options that Jedi does not.

Bug Reports

Send your bug reports and feature requests at python-rope's issue tracker in GitHub.


Current active maintainer of Rope is Lie Ryan (@lieryan).

Special Thanks

Many thanks the following people:


This program is under the terms of LGPL v3+ (GNU Lesser General Public License). Have a look at COPYING for more information.