https://github.com/gforcada/flake8-isort
flake8 plugin that integrates isort
https://github.com/gforcada/flake8-isort
Last synced: 6 months ago
JSON representation
flake8 plugin that integrates isort
- Host: GitHub
- URL: https://github.com/gforcada/flake8-isort
- Owner: gforcada
- License: gpl-2.0
- Created: 2015-09-12T19:25:34.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2025-01-29T12:29:35.000Z (10 months ago)
- Last Synced: 2025-05-12T16:13:07.753Z (6 months ago)
- Language: Python
- Homepage: https://pypi.org/project/flake8-isort
- Size: 292 KB
- Stars: 180
- Watchers: 8
- Forks: 179
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-flake8-extensions - flake8-isort - Wrapper around [isort](https://github.com/PyCQA/isort). (Wrappers)
- best-of-python-dev - GitHub - 3% open · ⏱️ 25.10.2025): (Linters & Style Checkers)
README
.. -*- coding: utf-8 -*-
.. image:: https://github.com/gforcada/flake8-isort/actions/workflows/tests.yml/badge.svg?branch=main
:target: https://github.com/gforcada/flake8-isort/actions/workflows/tests.yml
.. image:: https://coveralls.io/repos/gforcada/flake8-isort/badge.svg?branch=main
:target: https://coveralls.io/github/gforcada/flake8-isort?branch=main
Flake8 meet isort
=================
Use `isort`_ to check if the imports on your python files are sorted the way you expect.
Add an ``.isort.cfg`` to define how you want your imports sorted and run flake8 as you usually do.
See `isort documentation`_ for ``.isort.cfg`` available options.
Install
-------
Install with pip::
$ pip install flake8-isort
Install with conda::
$ conda install -c conda-forge flake8-isort
Configuration
-------------
If using the `select` `option from flake8`_ be sure to enable the `I` category as well, see below for the specific error codes reported by `flake8-isort`.
See ``flake8 --help`` for available flake8-isort options.
Error codes
-----------
+------------+-----------------------------------------------------------+
| Error code | Description |
+============+===========================================================+
| I001 | isort found an import in the wrong position |
+------------+-----------------------------------------------------------+
| I002 | no configuration found (.isort.cfg or [isort] in configs) |
+------------+-----------------------------------------------------------+
| I003 | isort expected 1 blank line in imports, found 0 |
+------------+-----------------------------------------------------------+
| I004 | isort found an unexpected blank line in imports |
+------------+-----------------------------------------------------------+
| I005 | isort found an unexpected missing import |
+------------+-----------------------------------------------------------+
Requirements
------------
- Python 3.9, 3.10, 3.11, 3.12, 3.13 and pypy3
- flake8
- isort
Relation to flake8-import-order
-------------------------------
As an alternative to this flake8 plugin, there's `flake8-import-order`_ that could be worth checking out. In contrast to this plugin that defers all logic to isort, the flake8-import-order comes bundled with it's own logic.
flake8-import-order comes with a few predefined set of styles meanwhile this plugin can be customized a bit more. But the biggest difference could lie in that flake8-isort actually has the corresponding sorting engine isort that can sort the import orders of your existing python files. Meanwhile flake8-import-order has no such corresponding tool, hence big existing projects who want to adopt either would get a more automized experience choosing flake8-isort.
License
-------
GPL 2.0
.. _`isort`: https://pypi.python.org/pypi/isort
.. _`isort documentation`: https://pycqa.github.io/isort/docs/configuration/options.html
.. _`flake8-import-order`: https://pypi.python.org/pypi/flake8-import-order
.. _`option from flake8`: http://flake8.pycqa.org/en/latest/user/options.html#cmdoption-flake8-select