- Names that are used more than once no longer produce duplicate imports.
- Files are no longer read redundantly.
- Files are no longer written into if the code does not change.
- A blank line is no longer printed for empty diffs.
- Imports that are completely removed are no longer replaced with a blank line.
- removestar now works correctly with recursive star imports. In particular,
from .submod import *now works when submod is a submodule whose
import *(removestar still skips
__init__.pyfiles by default).
__all__is now respected.
- The full path to the file is printed for
- Catch all errors when importing external modules dynamically.
- Better error message for same-module absolute imports that don’t exist.
- Don’t consider
__builtins__to be imported from external modules (even though it technically is).
- Make sure pytest-doctestplus is installed when running the tests.
- Include the LICENSE file in the distribution and the setup.py metadata.
--verboseprints about every name that an import is added for.
--quiethides all warning output.
- Add support for absolute imports. Absolute imports from the same module are
scanned statically, the same as relative imports. Absolute imports from
external modules are imported dynamically to get the list of names. This can
be disabled with the flag
--max-line-lengthto control the line length at which imports are wrapped. The default is 100. It can be disabled with
remoevstar --max-line-length 0.
- No longer stop traversing a directory when encountering a file with invalid syntax.
- Fix logic for wrapping long imports
- Fix the filename in some error messages.
- Add tests.
- Move all TODOs to the GitHub issue tracker.
- Automatically skip non-.py files
- Automatically skip
- Add flag
--no-skip-initto not skip
- Fix directory recursion
- Fix multiline import logic