Skip to main content

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

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 Poetry:

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

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 ❤️

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

Metadata

Release files for flakeheaven 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flakeheaven 1.0.0
File Size Uploaded
flakeheaven-1.0.0.tar.gz 31.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flakeheaven 1.0.0
File Interpreter ABI Platform
flakeheaven-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 75.1 kB

Release files / flakeheaven-1.0.0.tar.gz

Download URL flakeheaven-1.0.0.tar.gz
Size 31.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a738673d91e04c2697108200489ec5a710ca72166b8dc6538396d58f83a2f729
BLAKE2b-256 checksum
How to use checksums
f83f8d98788bcd0e39a847e8e632b9a91b34167bb7363e1803199ef25c4d810d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.12 Linux/5.13.0-1023-azure

Release files / flakeheaven-1.0.0-py3-none-any.whl

Download URL flakeheaven-1.0.0-py3-none-any.whl
Size 43.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41e726290a5c34d67b708b9331a684258e9f84261ee49ab05c3d5fd7846bb1ac
BLAKE2b-256 checksum
How to use checksums
436ae1abb25421f03ddb94af6883c39aeda4ddafb739a64eedcf1b7f9844b40b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.12 Linux/5.13.0-1023-azure

Release history Release notifications | RSS feed

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

This release

1.0.0 This release

2 release files

0.11.1

2 release 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