Rope, a python refactoring library ...
Rope is a python refactoring library. You can get it from project
download page. You can use rope as a library in other IDEs.
Note that rope 0.5 was the last version that supported Python
2.4 and currently rope requires Python 2.5.
Features
Features implemented so far:
- Refactorings
- Rename everything!
- Extract method/local variable
- Move class/function/module/package/method
- Inline method/local variable/parameter
- Restructuring (like converting ${a}.f(${b}) to
${b}.g(${a}) where a: type=mymod.A)
- Introduce factory
- Change method signature
- Transform module to package
- Encapsulate field
- Replace method with method object
- And a few others
- Refactoring Features
- Extracting similar statements in extract refactorings
- Fixing imports when needed
- Previewing refactorings
- Undo/redo refactorings
- Stopping refactorings
- Cross-project refactorings
- Basic implicit interfaces handling in rename and change signature
- Mercurial, GIT, Darcs and SVN (pysvn library) support in
refactorings
- IDE helpers
- Auto-completion
- Definition location
- Get pydoc
- Find occurrences
- Organize imports (remove unused and duplicate imports and sort them)
- Generating python elements
- Object Inference
- Static and dynamic object analysis
- Handling built-in container types
- Saving object information on disk and validating them
For more information see overview.txt.
Feedback
Send your bug reports, feature requests and patches to rope-dev (at)
googlegroups.com. For subscribing send an email to
rope-dev-subscribe (at) googlegroups.com.
License
Rope is under the terms of GNU GPL (GNU General Public License).