NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #282 most downloaded on PyPI
A Python utility / library to sort Python imports.
Last release 6 days ago
28 Sep 2026
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
159 releases · first in 2013
One column per quarter.
Fixed #1301: Import headings in nested sections leads to check errors
Fixed #1277 & #1278: New line detection issues on Windows.
Fixed #1306: unexpected --diff behavior.
Fixed #1302: comments and --trailing-comma can generate invalid code.
sre_parse as a stdlib module.Fixed #1285: packaging issue with bundling tests via poetry.
.pyi files from CLI using black profile.--add-imports alongside --check is broken.ensure_newline_before_comments doesnt work with force_sort_within_sections.Added warning for deprecated CLI flags and linked to upgrade guide.
force_sort_within_sections config option
Fixed setup.py command incorrectly passing check=True as a configuration parameter (see: https://github.com/timothycrosley/isort/issues/1258)
Ensure completeness of black profile, adding default line_length
Ensure completeness of black profile, adding default line_length
Fixed a runtime error in a vendored dependency (toml).
https://timothycrosley.github.io/isort/docs/major_releases/introducing_isort_5/
https://timothycrosley.github.io/isort/docs/major_releases/introducing_isort_5/
Breaking changes:
not_skip) are no longer required and have been removed.ac for atomic) now require two dashes to avoid ambiguity: --ac.-v now is shorthand for verbose and -V is shorthand for version. See Issue: #1067.length_sort_{section_name} config usage has been deprecated. Instead length_sort_sections list can be used to specify a list of sections that need to be length sorted.safety_excludes and unsafe have been deprecated--recursive option has been removed. Directories passed in are now automatically sorted recursive.--apply option has been removed as it is the default behaviour.--interactive flag has been added to enable the old style behaviour.import x.y as a becomes from x import y as a.keep_direct_and_as_imports option now defaults to True.appdirs is no longer supported. Unless manually specified, config should be project config only.toml is now installed as a vendorized module, meaning pyproject.toml based config is always supported.--old-finders.Internal:
isort now utilizes mypy and typing to filter out typing related issues before deployment.
isort now utilizes black internally to ensure more consistent formatting.
profile support for common project types (black, django, google, etc)
Much much more. There is some difficulty in fully capturing the extent of changes in this release - just because of how all encompassing the release is. See: Github Issues for more.
Fixed issue #957 - Long aliases and use_parentheses generates invalid syntax
Fixed issue #948 - Pipe redirection broken on Python2.7
Fixed issue #942 - correctly handle pyi (Python Template Files) to match black output
black outputFixed an issue with parsing files that contain Unicode characters in Python 2
--filter-files)Fixed issue #905 & #919: Import section headers behaving strangely
Fixed issue #909 - skip and skip-glob are not enforced when using settings-path.
user from known standard library as it's no longer in any supported Python version.Fixed a regression with handling streaming input from pipes (Issue #895)
Fixed a regression with */directory/*.py style patterns
Fixed the inability to accurately determine import section when a mix of conda and virtual environments are used.
Fix error caused when a virtual environment not detected
Fixed issue #876: confused by symlinks pointing to virtualenv gives FIRSTPARTY not THIRDPARTY
Fixed Windows incompatibilities (Issue #835)
Fixed a bug that led to an incompatibility with black: #831
Fixed a bug that led to the recursive option not always been available from the command line.
Expands the finder failsafe to occur on the creation of the finder objects.
Fixes a fatal error that occurs if a single finder throws an exception. Important as we add more finders that utilize third-party libraries.
This is the final Python 2.x release of isort, and includes the following major changes:
This is the final Python 2.x release of isort, and includes the following major changes:
Potentially Interface Breaking:
-r option for removing imports has been renamed -rm to avoid accidental deletions and confusion with the -rc recursive option.__init__.py has been removed from the default ignore list. The default ignore list is now empty - with all items needing to be explicitly ignored.distutils support has been removed to simplify setup.pyNew:
correctly_sorted property on the SortsImport to enable more intuitive programmatic checking.Fixes:
+### 4.3.4 - Feburary 12, 2018 - hotfix release
+### 4.3.4 - Feburary 12, 2018 - hotfix release
Fixed issue #665: Tabs turned into single spaces
16a3dfb8d9b0a9a697c788072c795f258317ed9e
16a3dfb8d9b0a9a697c788072c795f258317ed9e
.imports to . imoprtsFixed issue #654: Trailing comma count error
Fixed #557: force_alphabetical_sort and force_sort_within_sections can now be utilized together without extra new lines
force_alphabetical_sort and force_sort_within_sections can now be utilized together without extra new lines--no-lines-before for more granular control over section output--version-number to retrieve just the version number without the isort logoforce_alphabetical_sort and force_sort_within_sections can now be utilized together without extra new lines--no-lines-before for more granular control over section outputas mucks with alphabetical sorting--version-number to retrieve just the version number without the isort logoIMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
Fixed a problem with the wheel distribution
Fixed a problem with the wheel distribution
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
Fixed issue #419: Path specification for skipped paths is not Unix/Windows inter-operable. Breaking Changes:
IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only
--virtual-env switch command line option--use-parentheses option to command line tool and documentation--enforce-whitespace option with --ignore-whitespace to restore original behavior of strict whitespace by defaultFixed an issue that caused modules to inccorectly be matched as thirdparty when they simply had src in the leading path, even if they weren't withing
src in the leading path, even if they weren't withing $VIRTUALENV/src #414Fixed an issue that caused module that contained functions before doc strings, to incorrectly place imports
force_alphabetical_sort was being interpretted (issue #409)no_sectionslines_between_sectionsA bug fix release - including several bug fixes
A bug fix release - including several bug fixes
Give an error message when isort is unable to determine where to place a module
force_sort_within_sections option is setHot fix release to fix code error when skipping globs
Added option "NOQA" Do not wrap lines, but add a noqa statement at the end
isort commandFixed issue #323: Accidental default configuration change introduced
Added support for partial file match skips (thanks to @Amwam)
Started keeping a log of all changes between releases
Removed all external dependencies
Fixed inconsistent ordering of imports when sorting from imports case-insensitively
Fixed a problem that caused the comments at the top of a file to sometimes get mangled or removed.
Adds automatic support for keeping comments that are placed directly above straight or from imports.
Deprecates --lines option, replaces with --line-width
Improved wrapping on long lines, to avoid splitting module name
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 →