rope, a python refactoring library ...
Rope is a python refactoring library.
- caching all sub-modules of a module in rope.contrib.autoimport
- fix recursion when creating modules
- added basic support for setuptools
- extract method handles conditional variable updates
- added rope.contrib.codeassist.CompletionProposal.parameters
The rope.contrib.autoimport.AutoImport.generate_module_cache() has been changed to handle module names that end with .*. Now one can use rope.* to mean rope and all of its sub-modules.
Extract method now handles variable updates better. For instance in:
def f(a): if 0: a = 1 print(a)
When extracting the first two lines of f(), a should be passed to g(). Although these lines don't read a, if the conditional write (like in if or while blocks) does not happen, it results in an error. So the outcome will be:
def f(a): a = g(a) print(a) def g(a): if 0: a = 1 return a
- List of features: docs/rope.txt
- Overview of some of rope's features: docs/overview.txt
- Using as a library: docs/library.txt
- Contributing: docs/contributing.txt
To change your project preferences edit $PROJECT_ROOT/.ropeproject/config.py where $PROJECT_ROOT is the root folder of your project (this file is created the first time you open a project).
Send your bug reports and feature requests to rope-dev (at) googlegroups.com.
This program is under the terms of GPL (GNU General Public License). Have a look at COPYING file for more information.