Skip to main content

a python refactoring library...

Project description

Overview

Rope is a python refactoring library.

New Features

  • added “use function” refactoring

  • completing names after from-imports

  • adding resources parameter to some refactorings

  • added rope.contrib.autoimport module

  • handling unsure matches in restructurings

  • deprecated in_file argument of Rename.get_changes()

Use Function Refactoring

It tries to find the places in which a function can be used and changes the code to call it instead. For instance if mod1 is:

def square(p):
    return p ** 2

my_var = 3 ** 2

and mod2 is:

another_var = 4 ** 2

if we perform “use function” on square function, mod1 will be:

def square(p):
    return p ** 2

my_var = square(3)

and mod2 will be:

import mod1
another_var = mod1.square(4)

(Example from the mailing list)

Completing Names After From Imports

rope.base.codeassist.code_assist now completes the names after from-imports, too. For instance completing:

from shutil import rm

will propose rmtree.

Refactoring Resources Parameter

I’ve added a new parameter to some refactorings, restructure and find occurrences called resources. If it is a list of Files, all other resources in the project are ignored and the refactoring only analyzes them; if it is None all python module in the project will be analyzed. Using this parameter, IDEs can let the user limit the files on which a refactoring should be applied.

I’ve also deprecated the “in_file” parameter of rename refactoring; resources can be used instead.

Auto-Importing

rope.contrib.autoimport module has been added. This module can be used to find the modules that provide a name. IDEs can use this module to auto-import names. AutoImport.get_modules() returns the list of modules with the given global name. AutoImport.import_assist() tries to find the modules that have a global name that starts with the given prefix.

Project details


Release history Release notifications | RSS feed

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page