Metadata-Version: 2.1
Name: ezflakehell
Version: 0.9.2
Summary: Flake8 wrapper to make it nice and configurable
Home-page: https://github.com/life4/flakehell
License: UNKNOWN
Author: Gram (@orsinium)
Author-email: master_fess@mail.ru
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Framework :: Flake8
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Dist: colorama
Requires-Dist: entrypoints
Requires-Dist: flake8==3.8.4
Requires-Dist: pygments
Requires-Dist: toml
Requires-Dist: urllib3
Requires-Dist: dlint ; extra == "dev"
Requires-Dist: flake8-2020 ; extra == "dev"
Requires-Dist: flake8-aaa ; extra == "dev"
Requires-Dist: flake8-absolute-import ; extra == "dev"
Requires-Dist: flake8-alfred ; extra == "dev"
Requires-Dist: flake8-annotations-complexity ; extra == "dev"
Requires-Dist: flake8-bandit ; extra == "dev"
Requires-Dist: flake8-black ; extra == "dev"
Requires-Dist: flake8-broken-line ; extra == "dev"
Requires-Dist: flake8-bugbear ; extra == "dev"
Requires-Dist: flake8-builtins ; extra == "dev"
Requires-Dist: flake8-coding ; extra == "dev"
Requires-Dist: flake8-cognitive-complexity ; extra == "dev"
Requires-Dist: flake8-commas ; extra == "dev"
Requires-Dist: flake8-comprehensions ; extra == "dev"
Requires-Dist: flake8-debugger ; extra == "dev"
Requires-Dist: flake8-django ; extra == "dev"
Requires-Dist: flake8-docstrings ; extra == "dev"
Requires-Dist: flake8-eradicate ; extra == "dev"
Requires-Dist: flake8-executable ; extra == "dev"
Requires-Dist: flake8-expression-complexity ; extra == "dev"
Requires-Dist: flake8-fixme ; extra == "dev"
Requires-Dist: flake8-functions ; extra == "dev"
Requires-Dist: flake8-future-import ; extra == "dev"
Requires-Dist: flake8-import-order ; extra == "dev"
Requires-Dist: flake8-isort ; extra == "dev"
Requires-Dist: flake8-logging-format ; extra == "dev"
Requires-Dist: flake8-mock ; extra == "dev"
Requires-Dist: flake8-mutable ; extra == "dev"
Requires-Dist: flake8-mypy ; extra == "dev"
Requires-Dist: flake8-pep3101 ; extra == "dev"
Requires-Dist: flake8-pie ; extra == "dev"
Requires-Dist: flake8-print ; extra == "dev"
Requires-Dist: flake8-printf-formatting ; extra == "dev"
Requires-Dist: flake8-pyi ; extra == "dev"
Requires-Dist: flake8-pytest-style ; extra == "dev"
Requires-Dist: flake8-pytest ; extra == "dev"
Requires-Dist: flake8-quotes ; extra == "dev"
Requires-Dist: flake8-requirements ; extra == "dev"
Requires-Dist: flake8-rst-docstrings ; extra == "dev"
Requires-Dist: flake8-scrapy ; extra == "dev"
Requires-Dist: flake8-spellcheck ; extra == "dev"
Requires-Dist: flake8-sql ; extra == "dev"
Requires-Dist: flake8-strict ; extra == "dev"
Requires-Dist: flake8-string-format ; extra == "dev"
Requires-Dist: flake8-tidy-imports ; extra == "dev"
Requires-Dist: flake8-todo ; extra == "dev"
Requires-Dist: flake8-use-fstring ; extra == "dev"
Requires-Dist: flake8-variables-names ; extra == "dev"
Requires-Dist: mccabe ; extra == "dev"
Requires-Dist: pandas-vet ; extra == "dev"
Requires-Dist: pep8-naming ; extra == "dev"
Requires-Dist: pylint ; extra == "dev"
Requires-Dist: typing-extensions ; extra == "dev"
Requires-Dist: wemake-python-styleguide ; extra == "dev"
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: isort[pyproject] ; extra == "dev"
Requires-Dist: alabaster ; extra == "docs"
Requires-Dist: pygments-github-lexers ; extra == "docs"
Requires-Dist: recommonmark ; extra == "docs"
Requires-Dist: sphinx ; extra == "docs"
Project-URL: Documentation, https://flakehell.readthedocs.io/
Provides-Extra: dev
Provides-Extra: docs

# THE PROJECT IS ARCHIVED

Forks: https://github.com/orsinium/forks

---

# ![FlakeHell](./assets/logo.png)

[![PyPI version](https://badge.fury.io/py/flakehell.svg)](https://badge.fury.io/py/flakehell)
[![Build Status](https://cloud.drone.io/api/badges/life4/flakehell/status.svg)](https://cloud.drone.io/life4/flakehell)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Documentation](https://readthedocs.org/projects/flakehell/badge/?version=latest)](https://flakehell.readthedocs.io/)

It's a [Flake8](https://gitlab.com/pycqa/flake8) wrapper to make it cool.

+ [Lint md, rst, ipynb, and more](https://flakehell.readthedocs.io/parsers.html).
+ [Shareable and remote configs](https://flakehell.readthedocs.io/config.html#base).
+ [Legacy-friendly](https://flakehell.readthedocs.io/commands/baseline.html): ability to get report only about new errors.
+ Caching for much better performance.
+ [Use only specified plugins](https://flakehell.readthedocs.io/config.html#plugins), not everything installed.
+ [Make output beautiful](https://flakehell.readthedocs.io/formatters.html).
+ [pyproject.toml](https://www.python.org/dev/peps/pep-0518/) support.
+ [Check that all required plugins are installed](https://flakehell.readthedocs.io/commands/missed.html).
+ [Syntax highlighting in messages and code snippets](https://flakehell.readthedocs.io/formatters.html#colored-with-source-code).
+ [PyLint](https://github.com/PyCQA/pylint) integration.
+ [Powerful GitLab support](https://flakehell.readthedocs.io/formatters.html#gitlab).
+ Codes management:
    + Manage codes per plugin.
    + Enable and disable plugins and codes by wildcard.
    + [Show codes for installed plugins](https://flakehell.readthedocs.io/commands/plugins.html).
    + [Show all messages and codes for a plugin](https://flakehell.readthedocs.io/commands/codes.html).
    + Allow codes intersection for different plugins.

![output example](./assets/grouped.png)

## Compatibility

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 `--ignore` and `--select` unsupported. You can have flake8 and FlakeHell in one project if you want but enabled plugins should be explicitly specified.

## Installation

```bash
python3 -m pip install --user flakehell
```

## Usage

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

```toml
[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:

```bash
flakehell missed
```

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

```bash
flakehell plugins
```

![plugins command output](./assets/plugins.png)

Show codes and messages for a specific plugin:

```bash
flakehell codes pyflakes
```

![codes command output](./assets/codes.png)

Run flake8 against the code:

```bash
flakehell lint
```

This command accepts all the same arguments as Flake8.

Read [flakehell.readthedocs.io](https://flakehell.readthedocs.io/) 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 FlakeHell? 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](https://github.com/dephell/dephell):

```bash
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:

![](./assets/flaky.png)

The FlakeHell mascot (Flaky) is created by [@illustrator.way](https://www.instagram.com/illustrator.way/) and licensed under the [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) license.

