{"id":13595720,"url":"https://github.com/flakehell/flakehell","last_synced_at":"2025-04-09T13:33:17.703Z","repository":{"id":45075727,"uuid":"335882057","full_name":"flakehell/flakehell","owner":"flakehell","description":"Flake8 wrapper to make it nice, legacy-friendly, configurable.","archived":false,"fork":false,"pushed_at":"2022-01-10T18:54:27.000Z","size":1460,"stargazers_count":88,"open_issues_count":21,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-06T18:45:44.642Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://flakehell.github.io/flakehell/","language":"Python","has_issues":true,"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/flakehell.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":"2021-02-04T08:04:20.000Z","updated_at":"2024-05-19T23:04:14.000Z","dependencies_parsed_at":"2022-09-07T22:11:05.195Z","dependency_job_id":null,"html_url":"https://github.com/flakehell/flakehell","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flakehell%2Fflakehell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flakehell%2Fflakehell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flakehell%2Fflakehell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flakehell%2Fflakehell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flakehell","download_url":"https://codeload.github.com/flakehell/flakehell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049648,"owners_count":21039255,"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":[],"created_at":"2024-08-01T16:01:56.336Z","updated_at":"2025-04-09T13:33:16.999Z","avatar_url":"https://github.com/flakehell.png","language":"Python","readme":"# ![FlakeHell](./assets/logo.png)\n\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\nIt's a [Flake8](https://gitlab.com/pycqa/flake8) wrapper to make it cool.\n\nFork of [life4/flakehell](https://github.com/life4/flakehell)\n\n+ [Lint md, rst, ipynb, and more](https://flakehell.github.io/flakehell/parsers.html).\n+ [Shareable and remote configs](https://flakehell.github.io/flakehell/config.html#base).\n+ [Legacy-friendly](https://flakehell.github.io/flakehell/commands/baseline.html): ability to get report only about new errors.\n+ Caching for much better performance.\n+ [Use only specified plugins](https://flakehell.github.io/flakehell/config.html#plugins), not everything installed.\n+ [Make output beautiful](https://flakehell.github.io/flakehell/formatters.html).\n+ [pyproject.toml](https://www.python.org/dev/peps/pep-0518/) support.\n+ [Check that all required plugins are installed](https://flakehell.github.io/flakehell/commands/missed.html).\n+ [Syntax highlighting in messages and code snippets](https://flakehell.github.io/flakehell/formatters.html#colored-with-source-code).\n+ [PyLint](https://github.com/PyCQA/pylint) integration.\n+ [Powerful GitLab support](https://flakehell.github.io/flakehell/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.github.io/flakehell/commands/plugins.html).\n    + [Show all messages and codes for a plugin](https://flakehell.github.io/flakehell/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.github.io/flakehell/](https://flakehell.github.io/flakehell/) 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":["Tools","Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflakehell%2Fflakehell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflakehell%2Fflakehell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflakehell%2Fflakehell/lists"}