rope-qickfix /

Filename Size Date modified Message
560 B
17.6 KB
137 B
2.9 KB
1.5 KB

rope, a python refactoring library ...


Rope is a python refactoring library.

New Features

  • added rope.contrib.findit.find_implementations()
  • moved find_occurrences() to rope.contrib.findit module
  • inlining parameters
  • adding underlined parameter to AutoImport
  • automatic default insertion in change signature
  • some internal source code analysis improvements

Inlining parameters

rope.refactor.inline.create_inline() creates an InlineParameter object when it is performed on a parameter. It passes the default value of the parameter wherever its function is called without passing it. For instance in:

def f(p1=1, p2=1):

f(3, 4)

after inlining p2 parameter will have:

def f(p1=1, p2=1):

f(3, 2)
f(3, 4)

findit module

A new rope.contrib.findit module has been added and find_occurrences() has been moved there. A new function was also added to this module called find_implementations(). It finds the places in which the selected method is overridden.

underlined parameter of AutoImport

You can control whether rope.contrib.autoimport.AutoImport should cache names starting with an underline or not by using the underlined argument of its constructor.

Automatic default insertion in change signature

The rope.refactor.change_signature.ArgumentReorderer signature changer takes a new parameter called autodef. If not None, its value is used whenever rope needs to insert a default for a parameter (that happens when an argument without default is moved after another that has a default value). For instance in:

def f(p1, p2=2):

if we reorder using:

changers = [ArgumentReorderer([1, 0], autodef='1')]

will result in:

def f(p2=2, p1=1):

Getting Started

To change your project preferences edit $PROJECT_ROOT/.ropeproject/ where $PROJECT_ROOT is the root folder of your project (this file is created the first time you open a project).

Bug Reports

Send your bug reports and feature requests to rope-dev (at)


This program is under the terms of GPL (GNU General Public License). Have a look at COPYING file for more information.