Skip to content
SublimeLinter plugin for python, using flake8.
Branch: master
Clone or download

Latest commit

Latest commit 50d4792 Sep 12, 2019


Type Name Latest commit message Commit time
Failed to load latest commit information.
messages Update update message Sep 24, 2018
.flake8 flake! Ignore D and W503 Jan 28, 2019
.gitattributes Update Git metadata Dec 29, 2017
.gitignore Update Git metadata Dec 29, 2017
.travis.yml just flake8 @ python 3.6 Mar 1, 2018
LICENSE Completed package. Dec 15, 2013 Capitialisation Sep 12, 2019 use self.settings instead of get_view_settings() Jul 23, 2019
messages.json Add update message Sep 20, 2018


Build Status

This linter plugin for SublimeLinter provides an interface to flake8.


SublimeLinter must be installed in order to use this plugin.

Install via Package Control or git clone as usual.

Ensure that a flake8 is actually installed somewhere on your system. Typically, pip install flake8 on the command line will do that.

If you want to use a globally installed flake, make sure that it is available on the PATH. Before going any further, please read and follow the steps in "Finding a linter executable" through "Validating your PATH" in the documentation.

Otherwise configure "executable" or the "python" setting.

If you use pipenv, and you're working on a project with a Pipfile, everything should be automatic.


Additional settings:

  • ignore_fixables (default: True): filter warnings that Sublime can fix automatically (e.g. trailing white-space) on save.

SublimeLinter-flake8 works with common flake8 configuration files and inline overrides. Note that by default the working dir is set to an open folder attached to the current window of Sublime. Edit this setting if your config files are located in a subfolder, for example.

Use "args" if you want to pass additional command line arguments to flake8.

Compatibility with --per-file-ignores and other flake8 plugins

SublimeLinter-flake8 is compatible with most flake8 plugins out of the box. However, plugins that rely on selecting or ignoring certain files based on filename may appear to be "broken" due to the way SublimeLinter runs during linting. This includes flake8's own --per-file-ignores option introduced in 3.7.0, as well as plugins such as flake8-aaa and flake8-pyi.

To make the source filename available to the flake8 executable again, pass the --stdin-display-name option using SublimeLinter's "args" setting:

"args": ["--stdin-display-name", "${file:stdin}"]

Including the :stdin fallback ensures that files that have yet to be saved are still linted.

You can’t perform that action at this time.