A flake8 plugin that helps you write tidier imports.
Project description
Flake8 Tidy Imports
A flake8 plugin that helps you write tidier imports.
Free software: ISC license
Installation
Install from pip with:
pip install flake8-tidy-imports
It will then automatically be run as part of flake8; you can check it has been picked up with:
$ flake8 --version
2.4.1 (pep8: 1.7.0, pyflakes: 0.8.1, flake8-tidy-imports: 1.0.0, mccabe: 0.3.1) CPython 2.7.11 on Darwin
Options
banned-modules
An equals-delimited map of modules to messages to include about them, in rule I201 (see below). Whilst it can be passed on the commandline, it’s much easier to configure it in your config file, such as setup.cfg - for example:
[flake8]
banned-modules = mock = Use unittest.mock!
urlparse = Use six.moves.urllib.parse!
Rules
Currently this plugin has two rules.
I200: Unnecessary import alias
Complains about unnecessary import aliasing of three forms:
import foo as foo -> import foo
import foo.bar as bar -> from foo import bar
from foo import bar as bar -> from foo import bar
The message includes the suggested rewrite (which may not be correct at current), for example:
$ flake8 file.py
file.py:1:1: I200 Unnecessary import alias - rewrite as 'from foo import bar'.
I201: Banned module ‘foo’ imported
Complains about importing of banned modules. This might be useful when refactoring code, for example when moving from Python 2 to 3. By default there are no modules banned - you should configure them with banned-modules as described above in ‘Options’.
The message includes a user-defined part that comes from the configuration. For example:
$ flake8 file.py
file.py:1:1: I201 Banned module 'mock' imported - Use unittest.mock instead.
History
Pending Release
New release notes here
1.0.4 (2017-01-12)
Don’t allow installation with Flake8 3.2.0 which doesn’t enable the plugin. This bug was fixed in Flake8 3.2.1.
Use the most specific message available for a banned import.
1.0.3 (2016-11-05)
Fixed reading config from flake8 3+
1.0.2 (2016-07-04)
Fixed I201 rule to detect banned imports like from x import y.
1.0.1 (2016-07-01)
I201 rule that allows you to configure complaining about certain modules being imported, e.g. if you are moving from Python 2 to 3 you could stop urlparse being imported in favour of six.moves.urllib.parse.
1.0.0 (2016-01-23)
First release on PyPI.
I200 rule that complains about unnecessary import aliasing, e.g. from foo import bar as bar.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for flake8-tidy-imports-1.0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32b8aab4d66a818763aaaf5f5e9a8e7160662eac221a31f56e4c787d32696107 |
|
MD5 | 5ca69d78d6bfd3f52cd1e5719dc524b6 |
|
BLAKE2b-256 | 9e355802e35fd6997ac889cf96bfc6e3a349cfb722863cafca94cb6e1e265849 |
Hashes for flake8_tidy_imports-1.0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc96044e841cd454cf24011ebf8015eb27eca0a4a68e1d0529e55d1abbdcc08d |
|
MD5 | 78f4040de837c4df492026fc7a872ce8 |
|
BLAKE2b-256 | 9e7e68f38c93f34479d35deaeb119f4d52a49eba340aec89b879f6c26e19ff91 |