Skip to main content

FlakeHeaven

License: MIT

FlakeHeaven is a Flake8 wrapper to make it cool.

This project is a fork of FlakeHell. FlakeHell and other forks of it such as flakehell/flakehell are no longer maintained and do not work with Flake8 4.0.x.

FlakeHeaven works with Flake8 4.0.1 or greater. This fork will be maintained by the community that developed the existing forks.

output example

Compatibility

FlakeHeaven supports all flake8 plugins, formatters, and configs. However, FlakeHeaven has it's own beautiful way to configure enabled plugins and codes. So, options like --ignore and --select unsupported. You can have flake8 and FlakeHeaven in one project if you want but enabled plugins should be explicitly specified.

Installation

python3 -m pip install --user flakeheaven

Usage

First of all, let's create pyproject.toml config:

[tool.flakeheaven]
# optionally inherit from remote config (or local if you want)
base = "https://raw.githubusercontent.com/flakeheaven/flakeheaven/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.flakeheaven.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:

flakeheaven missed

Show installed plugins, used plugins, specified rules, codes prefixes:

flakeheaven plugins

plugins command output

Show codes and messages for a specific plugin:

flakeheaven codes pyflakes

codes command output

Run flake8 against the code:

flakeheaven lint

This command accepts all the same arguments as Flake8.

Read github.com/flakeheaven/flakeheaven/blob/master/docs for more information.

Contributing

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 FlakeHeaven? Great! Let's add it into the README.md.
  • 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.

Thank you :heart:

The FlakeHeaven mascot (Flaky) is created by @illustrator.way and licensed under the CC BY-SA 4.0 license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flakeheaven-0.11.0.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flakeheaven-0.11.0-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

Details for the file flakeheaven-0.11.0.tar.gz.

File metadata

  • Download URL: flakeheaven-0.11.0.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for flakeheaven-0.11.0.tar.gz
Algorithm Hash digest
SHA256 002f2de2bbc2ae72c2920cfc91cf068c89b7a561c61f63efe4a06c4af146c2dd
MD5 b1799a8a0e9c9d7f86302fb2cfbd99b9
BLAKE2b-256 089b217b991243b92e4339deaf07ac011709fc523921cdc23a15c7a6f10ee1c3

See more details on using hashes here.

File details

Details for the file flakeheaven-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: flakeheaven-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for flakeheaven-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c13bce95cfa496c47e46532f4ed0a020a6532d88f037e79bb9e342d9446992d
MD5 50a101b4361f06b84ab0e89e47b5acef
BLAKE2b-256 550b6d9cd1e5fea47054d51e6a105b277060446f5e4a8dae8ffc3c86ffa7658e

See more details on using hashes here.

Release history Release notifications | RSS feed

3.3.0

2 files

3.2.1

2 files

3.2.0

2 files

3.1.0

2 files

3.0.0

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.0

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.11.1

2 files

This release

0.11.0 This release

2 files

0.10.0a0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page