- Rename symbol names, includes variables, functions, imports, classes, arguments,
class private methods. The name replacer avoids a 1:1 mapping of cleartext names
to obfuscated names, the same name may be converted to several different names
within different scopes.
- Remove documentation strings.
- Remove comments.
- Outputs Python source code for maximum flexibility.
Python source code can easily to be used in all available Python interpreters such as
Jython and IronPython.
- Currently only Python 3.x source code are supported.
Unsupported python language features
Functions that access runtime namespace (
) may go wrong because of accessing objects that has been renamed.
About module level names
Every name except the names listed in module variable
__all__ are all
considered private and will be renamed.
__all__ is not defined, the set of private names includes all names
found in the module’s namespace which begin with underscore character ('
About rename imports option
__all__ is defined, imported names not in
__all__ list will be
renamed regardless of this option.
It's safe to rename function parameters?
If you open options for rename parameters, you need to make sure that do not use them
as keyword arguments in function call.
Buy command line version