Flake8
flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code. (by PyCQA)
Pylint
It's not just a linter that annoys you! (by PyCQA)
Our great sponsors
Flake8 | Pylint | |
---|---|---|
23 | 23 | |
2,700 | 4,585 | |
3.8% | 2.8% | |
7.9 | 9.7 | |
7 days ago | 2 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Flake8
Posts with mentions or reviews of Flake8.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-05.
- Even the Pylint codebase uses Ruff
-
Ruff: A new, fast and correct Python checker/linter
Here are insights about flake8, black, and mypy and the amount of work that went into mypy seems … just massive?!
-
Flake8 took down the gitlab repository in favor of github
So if your pre-commit starts to mysteriously fail, you probably want to switch https://gitlab.com/PyCQA/flake8 for https://github.com/PyCQA/flake8 in your .pre-commit-config.yaml (like here)
to be transparent -- https://github.com/PyCQA/flake8/issues/371
-
Data engineering projects with template: Airflow, dbt, Docker, Terraform (IAC), Github actions (CI/CD) & more
Lint check: flake8
-
Python 3.11.0 final is now available
That probably won't happen any time soon.
See https://github.com/PyCQA/flake8/issues/234#issuecomment-1206...
-
Python 3.11 is out! Huzzah!
Does this mean the maintainer of Flake8 will stop being a stubborn oaf and consider pyproject.toml support?
-
Makefile for your Django project
lint: Runs flake8 linter and mypy type checker.
-
Project template for modern Python packages
Regarding setup.cfg, it's currently used for flake8 related configuration. Flake8 doesn't support pyproject.toml: https://github.com/PyCQA/flake8/issues/234. There are some workarounds, such as https://github.com/john-hen/Flake8-pyproject, but, in my opinion, getting rid of additional config file doesn't really justify additional dependency. However, as setup.cfg is currently used only for flake8 related configs, perhaps it could be replaced by .flake8 file.
-
How to create a Python package in 2022
# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: check-toml - id: check-yaml - id: end-of-file-fixer - id: mixed-line-ending - repo: https://github.com/psf/black rev: 22.3.0 hooks: - id: black args: ["--check"] - repo: https://github.com/PyCQA/isort rev: 5.10.1 hooks: - id: isort args: ["--check", "--profile", "black"] - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 additional_dependencies: [mccabe] args: ["--max-line-length", "88", "--max-complexity", "10"] - repo: https://github.com/PyCQA/pylint/ rev: v2.14.5 hooks: - id: pylint exclude: tests/ # Prevent files in tests/ to be passed in to pylint.
Pylint
Posts with mentions or reviews of Pylint.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-05.
- Even the Pylint codebase uses Ruff
- The Heisenbug lurking in your async code
- I Built A Tinder Clone Using The FARM Stack
-
🕶 What it takes to build a Static Analysis tool
Python: Pylint
- Stop Using Utcnow and Utcfromtimestamp
-
How to create a Python package in 2022
# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: check-toml - id: check-yaml - id: end-of-file-fixer - id: mixed-line-ending - repo: https://github.com/psf/black rev: 22.3.0 hooks: - id: black args: ["--check"] - repo: https://github.com/PyCQA/isort rev: 5.10.1 hooks: - id: isort args: ["--check", "--profile", "black"] - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 additional_dependencies: [mccabe] args: ["--max-line-length", "88", "--max-complexity", "10"] - repo: https://github.com/PyCQA/pylint/ rev: v2.14.5 hooks: - id: pylint exclude: tests/ # Prevent files in tests/ to be passed in to pylint.
-
flake8-pylint: Flake8 plugin that runs PyLint
Flake8 plugin that runs PyLint.
-
One secret tip for first-time OSS contributors. Shh! 🤫 don't tell anyone else
Python has a bunch of tools like black, pylint, flake8.
-
5% of 666 Python repos had comma typo bugs (inc V8, TensorFlow and PyTorch)
Seems expected, as linters can't be sure when it's not intentional. Like this request to pylint:
The PR has been merged (for lists and tuples and sets only).
What are some alternatives?
When comparing Flake8 and Pylint you can also consider the following projects:
black - The uncompromising Python code formatter [Moved to: https://github.com/psf/black]
autopep8 - A tool that automatically formats Python code to conform to the PEP 8 style guide.
pylama - Code audit tool for python.
black - The uncompromising Python code formatter
prospector - Inspects Python source files and provides information about type and location of classes, methods etc
autoflake - Removes unused imports and unused variables as reported by pyflakes
bandit - Bandit is a tool designed to find common security issues in Python code.
mypy - Optional static typing for Python