Skip to main content

FlakeHeaven is a [Flake8](https://gitlab.com/pycqa/flake8) wrapper to make it cool.

Project description

FlakeHeaven

License: MIT python versions

version conda Downloads

CI Docs

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/main/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 the documentation for more information.

Contributing

  1. Add tests when possible (eg for features / fixes / refactor, etc. )
  2. add your contribution to the code / docs
  3. Ensure your code passes all (both oririnal and your own) tests.
  4. commit using proper header
  5. create a PR

Contributions are welcome! A few ideas where 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 Poetry:

curl -sSL https://install.python-poetry.org | python3 -
poetry install
poetry run pytest tests

Thank you :heart:

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

Project details


Download files

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

Source Distribution

flakeheaven-2.1.1.tar.gz (33.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-2.1.1-py3-none-any.whl (45.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flakeheaven-2.1.1.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.13 Linux/5.15.0-1014-azure

File hashes

Hashes for flakeheaven-2.1.1.tar.gz
Algorithm Hash digest
SHA256 b51cf75f95c834a0dbb7a37d5e4f42f3f236e8b98f8bc199d99f4b4a138d4fcc
MD5 e973cf1a7cff758f5b9c110c676b5499
BLAKE2b-256 35551cb4ed5c2ce83538f75d761ca9011d81a6a0b54744699f3e8280dc04d26f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flakeheaven-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 45.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.13 Linux/5.15.0-1014-azure

File hashes

Hashes for flakeheaven-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d89918f62a852010aa9dbf0edceeb3b67587690e58d430f8e9f5616ace546ef1
MD5 a564fd4bd131189a4142a4f173c35df8
BLAKE2b-256 da19025d159142fcf61b0c4c614dc20f6ea3f15f3e02be8fbeda77a8c6c515d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page