{"id":13468647,"url":"https://github.com/life4/flakehell","last_synced_at":"2025-03-26T05:31:14.043Z","repository":{"id":55087529,"uuid":"200839138","full_name":"life4/flakehell","owner":"life4","description":"Flake8 wrapper to make it nice, legacy-friendly, configurable.","archived":true,"fork":false,"pushed_at":"2021-01-11T21:35:41.000Z","size":1460,"stargazers_count":228,"open_issues_count":4,"forks_count":46,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-06T08:57:37.190Z","etag":null,"topics":["ci","code-quality","flake8","flake8-extensions","flake8-plugin","linter","linting","python","qa","quality-assurance"],"latest_commit_sha":null,"homepage":"https://flakehell.readthedocs.io/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/life4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-06T11:37:21.000Z","updated_at":"2025-02-15T11:23:43.000Z","dependencies_parsed_at":"2022-08-14T11:40:09.710Z","dependency_job_id":null,"html_url":"https://github.com/life4/flakehell","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fflakehell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fflakehell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fflakehell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fflakehell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/life4","download_url":"https://codeload.github.com/life4/flakehell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245597265,"owners_count":20641862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","code-quality","flake8","flake8-extensions","flake8-plugin","linter","linting","python","qa","quality-assurance"],"created_at":"2024-07-31T15:01:15.683Z","updated_at":"2025-03-26T05:31:12.978Z","avatar_url":"https://github.com/life4.png","language":"Python","readme":"# THE PROJECT IS ARCHIVED\n\nForks: https://github.com/orsinium/forks\n\n---\n\n# ![FlakeHell](./assets/logo.png)\n\n[![PyPI version](https://badge.fury.io/py/flakehell.svg)](https://badge.fury.io/py/flakehell)\n[![Build Status](https://cloud.drone.io/api/badges/life4/flakehell/status.svg)](https://cloud.drone.io/life4/flakehell)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Documentation](https://readthedocs.org/projects/flakehell/badge/?version=latest)](https://flakehell.readthedocs.io/)\n\nIt's a [Flake8](https://gitlab.com/pycqa/flake8) wrapper to make it cool.\n\n+ [Lint md, rst, ipynb, and more](https://flakehell.readthedocs.io/parsers.html).\n+ [Shareable and remote configs](https://flakehell.readthedocs.io/config.html#base).\n+ [Legacy-friendly](https://flakehell.readthedocs.io/commands/baseline.html): ability to get report only about new errors.\n+ Caching for much better performance.\n+ [Use only specified plugins](https://flakehell.readthedocs.io/config.html#plugins), not everything installed.\n+ [Make output beautiful](https://flakehell.readthedocs.io/formatters.html).\n+ [pyproject.toml](https://www.python.org/dev/peps/pep-0518/) support.\n+ [Check that all required plugins are installed](https://flakehell.readthedocs.io/commands/missed.html).\n+ [Syntax highlighting in messages and code snippets](https://flakehell.readthedocs.io/formatters.html#colored-with-source-code).\n+ [PyLint](https://github.com/PyCQA/pylint) integration.\n+ [Powerful GitLab support](https://flakehell.readthedocs.io/formatters.html#gitlab).\n+ Codes management:\n    + Manage codes per plugin.\n    + Enable and disable plugins and codes by wildcard.\n    + [Show codes for installed plugins](https://flakehell.readthedocs.io/commands/plugins.html).\n    + [Show all messages and codes for a plugin](https://flakehell.readthedocs.io/commands/codes.html).\n    + Allow codes intersection for different plugins.\n\n![output example](./assets/grouped.png)\n\n## Compatibility\n\nFlakeHell 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.\n\n## Installation\n\n```bash\npython3 -m pip install --user flakehell\n```\n\n## Usage\n\nFirst of all, let's create `pyproject.toml` config:\n\n```toml\n[tool.flakehell]\n# optionally inherit from remote config (or local if you want)\nbase = \"https://raw.githubusercontent.com/life4/flakehell/master/pyproject.toml\"\n# specify any flake8 options. For example, exclude \"example.py\":\nexclude = [\"example.py\"]\n# make output nice\nformat = \"grouped\"\n# 80 chars aren't enough in 21 century\nmax_line_length = 90\n# show line of source code in output\nshow_source = true\n\n# list of plugins and rules for them\n[tool.flakehell.plugins]\n# include everything in pyflakes except F401\npyflakes = [\"+*\", \"-F401\"]\n# enable only codes from S100 to S199\nflake8-bandit = [\"-*\", \"+S1??\"]\n# enable everything that starts from `flake8-`\n\"flake8-*\" = [\"+*\"]\n# explicitly disable plugin\nflake8-docstrings = [\"-*\"]\n```\n\nShow plugins that aren't installed yet:\n\n```bash\nflakehell missed\n```\n\nShow installed plugins, used plugins, specified rules, codes prefixes:\n\n```bash\nflakehell plugins\n```\n\n![plugins command output](./assets/plugins.png)\n\nShow codes and messages for a specific plugin:\n\n```bash\nflakehell codes pyflakes\n```\n\n![codes command output](./assets/codes.png)\n\nRun flake8 against the code:\n\n```bash\nflakehell lint\n```\n\nThis command accepts all the same arguments as Flake8.\n\nRead [flakehell.readthedocs.io](https://flakehell.readthedocs.io/) for more information.\n\n## Contributing\n\nContributions are welcome! A few ideas what you can contribute:\n\n+ Improve documentation.\n+ Add more tests.\n+ Improve performance.\n+ Found a bug? Fix it!\n+ Made an article about FlakeHell? Great! Let's add it into the `README.md`.\n+ Don't have time to code? No worries! Just tell your friends and subscribers about the project. More users -\u003e more contributors -\u003e more cool features.\n\nA convenient way to run tests is using [DepHell](https://github.com/dephell/dephell):\n\n```bash\ncurl -L dephell.org/install | python3\ndephell venv create --env=pytest\ndephell deps install --env=pytest\ndephell venv run --env=pytest\n```\n\nBug-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.\n\nThank you :heart:\n\n![](./assets/flaky.png)\n\nThe 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.\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flife4%2Fflakehell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flife4%2Fflakehell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flife4%2Fflakehell/lists"}