NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3271 most downloaded on PyPI
Flake8 and pylama plugin that checks the ordering of import statements.
Last release 1 years ago
24 Jun 2025
Ships unpredictably
gaps range from 2 weeks to 3.7 years
Most releases are documented
notes for 23 of 37 stable releases
1 version withdrawn
withdrawn after publishing
13 years old
38 releases · first in 2014
Fix AttributeError in code for checking the order of imports in a TYPE_CHECKING block.
Fix AttributeError in code for checking the order of imports in a TYPE_CHECKING block.
Yank 0.19.0 from PyPI to avoid aforementioned users on older versions of Python accidentally receiving 0.19.0
Fix python_requires missing from 0.19.0 to allow folks using vulnerable and unmaintained versions of Python to continue running 0.18.x with pip select…
Fix bug in code for checking the order of imports in a TYPE_CHECKING block.
Fix python_requires missing from 0.19.0 to allow folks using vulnerable and unmaintained versions of Python to continue running 0.18.x with pip selecting the correct version for them.
One column per quarter.
Drop deprecated Python versions 3.7 and 3.8
Drop deprecated Python versions 3.7 and 3.8
Drop unsupported pypy3.9
Use sys.stdlib_module_names where available to determine whether a module is in the standard library or not.
Replace usage of pkg_resources from setuptools with importlib.metadata.
Move package to PyCQA PyPI organization
Add support for checking ordering in a TYPE_CHECKING block. This will support the following variants:
if TYPE_CHECKING: (where there was a prior from typing import TYPE_CHECKING).
if t.TYPE_CHECKING: (where there was a prior import typing as t).
if typing.TYPE_CHECKING:
Add zoneinfo to list of standard library modules
Add zoneinfo to list of standard library modules
Fix registering of options with Flake8 >= 6.0
Bump and release 0.18.1
Bump and release 0.18.1
Fix case-sensitive related I100 errors for the pycharm style
Fix noqa regexp
Add new Python 3.7 modules to the stdlib list, and support 3.7.
Add new Python 3.7 modules to the stdlib list, and support 3.7.
Rebuild of 0.17 with the latest setuptools to fix an enum34 dependency bug.
Rebuild of 0.17 with the latest setuptools to fix an enum34 dependency bug.
Add all Python3 modules to stdlib list (should be no more missing modules).
Add all Python3 modules to stdlib list (should be no more missing modules).
Clarify the error messages (more context).
Allow styles to override specific checks.
Correct the edited style to match the actual edited style guide.
Add pycharm style, to match the pycharm auto formatter.
Change spacing determination to consider only blank newlines as a space. This adds NewLine nodes to the checker and hence could break custom styles (t
Change spacing determination to consider only blank newlines as a space. This adds NewLine nodes to the checker and hence could break custom styles (that use the nodes directly). This also drops the asttokens dependency as it is no longer required.
Understand the existence of namespaced packages, thereby allowing different namespaced packages to be defined as local or third party.
Drop Python 3.3 support, as Python 3.3 is beyond it's end of lfe.
Drop Python 3.3 support, as Python 3.3 is beyond it's end of lfe.
Correct the flake8 entrypoint to report all I errors, this may result in I2XX errors being reported that were absent previously.
Support in-line # noqa comments specifying only the error codes to be ignored, e.g., # noqa: I101.
Accept only # noqa directives on the line reporting the error, see limitations.
Bug fix, allow for noqa directives to work with I202.
Bug fix, allow for noqa directives to work with I202.
Bug fix, ensure the plugin is invoked by flake8.
Bug fix, ensure the plugin is invoked by flake8.
Bug fix, cope with multi-line imports when considering I202.
Bug fix, cope with multi-line imports when considering I202.
Fixed I201 error raising for cryptography style.
Fixed I201 error raising for cryptography style.
Added I202 error when there is an additional newline in a section of imports.
Added ntpath and os2emxpath to stdlib list.
Allow for any style to use application-package grouping.
Added secrets to stdlib list.
Allow for any style to use application-package grouping.
Added new Edited style, this is equivalent to the Smarkets style except that values specified in the application-package-names option must be imported
Added new Edited style, this is equivalent to the Smarkets style except that values specified in the application-package-names option must be imported after third-party import statements
Added ability to extend a style using an entrypoint.
Fix ambiguous I100 error, now lists correct packages.
Enforce lexicographic ordering for Google, Smarkets and AppNexus styles. This may introduce warnings not present in previous releases relating to case
Enforce lexicographic ordering for Google, Smarkets and AppNexus styles. This may introduce warnings not present in previous releases relating to case sensitivity.
Fix I100 case sensitivity for ungrouped imports, again enforcing lexicographic ordering.
Added new AppNexus style, this is equivalent to the google style except that values specified in the application-package-names option must be imported
Added new AppNexus style, this is equivalent to the google style except that values specified in the application-package-names option must be imported after third-party import statements
Fixed ungrouped ordering bug whereby I100 wasn't triggered.
Fix error when checking from stdin using flake8 3.0.
Fix error when checking from stdin using flake8 3.0.
Fix case sensitivity bug for Google and Smarkets style.
Fix case sensitivity bug for Google and Smarkets style.
Drop pep8 requirement and replace with pycodestyle.
Drop pep8 requirement and replace with pycodestyle.
Support Flake8 3.0 (alongside Flake8 2.X).
Drop Python2.6 compatibility.
Fixed a bug where intermixed 1st and 3rd party imports cause an error with the PEP8 style.
Fixed a bug whereby the I101 recommended ordering wasn't a valid ordering in the cryptography style.
Added profile, cProfile, pstats and typing to stdlib list.
Added profile, cProfile, pstats and typing to stdlib list.
Added new PEP8 style, that enforces grouping of importes but allows any ordering within the groups.
Added new Smarkets style, this is equivalent to the google style except that any import X statements must come before any from X import y statements.
Added new Smarkets style, this is equivalent to the google style except that any import X statements must come before any from X import y statements.
Fixed a bug where I101 messages were not suggesting the correct order.
Fixed a bug where I101 messages were not suggesting the correct order.
Extended test harness to be able to check error messages as well as codes.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →