THE PROJECT IS ARCHIVED
It's a Flake8 wrapper to make it cool.
- Lint md, rst, ipynb, and more.
- Shareable and remote configs.
- Legacy-friendly: ability to get report only about new errors.
- Caching for much better performance.
- Use only specified plugins, not everything installed.
- Make output beautiful.
- pyproject.toml support.
- Check that all required plugins are installed.
- Syntax highlighting in messages and code snippets.
- PyLint integration.
- Powerful GitLab support.
- Codes management:
FlakeHell supports all flake8 plugins, formatters, and configs. However, FlakeHell has it's own beautiful way to configure enabled plugins and codes. So, options like
--select unsupported. You can have flake8 and FlakeHell in one project if you want but enabled plugins should be explicitly specified.
python3 -m pip install --user flakehell
First of all, let's create
[tool.flakehell] # optionally inherit from remote config (or local if you want) base = "https://raw.githubusercontent.com/life4/flakehell/master/pyproject.toml" # specify any flake8 options. For example, exclude "example.py": exclude = ["example.py"] # make output nice format = "grouped" # 80 chars aren't enough in 21 century max_line_length = 90 # show line of source code in output show_source = true # list of plugins and rules for them [tool.flakehell.plugins] # include everything in pyflakes except F401 pyflakes = ["+*", "-F401"] # enable only codes from S100 to S199 flake8-bandit = ["-*", "+S1??"] # enable everything that starts from `flake8-` "flake8-*" = ["+*"] # explicitly disable plugin flake8-docstrings = ["-*"]
Show plugins that aren't installed yet:
Show installed plugins, used plugins, specified rules, codes prefixes:
Show codes and messages for a specific plugin:
flakehell codes pyflakes
Run flake8 against the code:
This command accepts all the same arguments as Flake8.
Read flakehell.readthedocs.io for more information.
Contributions are welcome! A few ideas what you can contribute:
- Improve documentation.
- Add more tests.
- Improve performance.
- Found a bug? Fix it!
- Made an article about FlakeHell? Great! Let's add it into the
- Don't have time to code? No worries! Just tell your friends and subscribers about the project. More users -> more contributors -> more cool features.
A convenient way to run tests is using DepHell:
curl -L dephell.org/install | python3 dephell venv create --env=pytest dephell deps install --env=pytest dephell venv run --env=pytest
Bug-tracker is disabled by-design to shift contributions from words to actions. Please, help us make the project better and don't stalk maintainers in social networks and on the street.