flake8
pyupgrade
Our great sponsors
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
-
How I start every new Python backend API project
repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace - id: check-merge-conflict - id: check-yaml args: [--unsafe] - id: check-json - id: detect-private-key - id: end-of-file-fixer - repo: https://github.com/timothycrosley/isort rev: 5.10.1 hooks: - id: isort - repo: https://github.com/psf/black rev: 22.8.0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: 3.9.2 hooks: - id: flake8 - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.971 hooks: - id: mypy args: [ --warn-unused-configs, --ignore-missing-imports, --disallow-untyped-defs, --follow-imports=silent, --install-types, --non-interactive ]
-
Flake8 took down the gitlab repository in favor of github
I just ran `pre-commit autoupdate`. It's asking for a username for https://gitlab.com/pycqa/flake8. :-(
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)
-
flake8-length: Flake8 plugin for a smart line length validation.
Flake8 plugin for a smart line length validation.
-
Should I follow the warnings in Pycharm? Does anyone do this?
repo: https://gitlab.com/pycqa/flake8 rev: 3.9.2 hooks:
-
flake8-pylint: Flake8 plugin that runs PyLint
Flake8 plugin that runs PyLint.
- Ask HN: Did somebody have success with the migration of Python 2.7 to Java/C#?
-
Make your Django project newbie contributor friendly with pre-commit
$ pre-commit install pre-commit installed at .git/hooks/pre-commit $ git add .pre-commit-config.yaml $ git commit -m "Add pre-commit config" [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Initializing environment for https://gitlab.com/pycqa/flake8. [INFO] Initializing environment for https://github.com/pycqa/isort. [INFO] Initializing environment for https://github.com/python/black. [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://gitlab.com/pycqa/flake8. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/pycqa/isort. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/python/black. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... Trim Trailing Whitespace.................................................Passed Check Yaml...............................................................Passed Check for merge conflicts................................................Passed Debug Statements (Python)............................(no files to check)Skipped Check for added large files..............................................Passed Fix requirements.txt.................................(no files to check)Skipped Check django project for potential problems..........(no files to check)Skipped Check django project for missing migrations..........(no files to check)Skipped flake8...............................................(no files to check)Skipped isort................................................(no files to check)Skipped black................................................(no files to check)Skipped
-
Python: Setting Up Project Environment
flake8 is Python style checker based on PEP8(Python Enhance Proposal 8). black is a good code formatter. But some items such as Documentation String, black is not provided the check option. flake8 not only helps for lack of black but also can be easily applied with black.
pyupgrade
-
A Tale of Two Kitchens - Hypermodernizing Your Python Code Base
pyupgrade and flynt are examples of tools that modify your code base from earlier python versions into the newest python syntax, rewriting all string formats into f-strings and similar things.
-
Conversion from the f-string literals to format method in python
pyupgrade - A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.
-
Which is your favourite or go-to YouTube channel for being up-to-date on Python?
He made yesqa and pyupgrade (among others), and also works on flake8. His main job is for https://sentry.io/.
-
Is there a way to convert python 2 to 3 without finding every single line and fix it?
There is also pyupgrade: https://github.com/asottile/pyupgrade
-
Flake8 took down the gitlab repository in favor of github
and last a little plug or two -- because I do this all for free and despite millions benefiting I receive zero proportional benefit from the maintenance work I put in -- consider sponsoring or maybe check out pre-commit.ci which would have automatically fixed this problem for you a year and a half ago
-
Django upgrade services?
Running https://github.com/adamchainz/django-upgrade with https://github.com/asottile/pyupgrade recursively will give an idea about how much work is there on Django side. Still, there may have dependency on third party libraries (both django+python). Another thing to consider is which role Django performing here, serving APIs or html views. As good test coverage is already there, you are on lucky side.
-
Is there a linter which would suggest using elif rather than an else in an if clause?
I do would like to recommend pyupgrade. Just pip install as expected and then run pyupgrade --py310-plus to drag your code kicking and screaming into $CURRENT_YEAR. Or at least into whatever version you're using :)
-
10% of the 666 most popular Python GitHub repos have f-string bugs (so 68 pull requests were made in 24 hours to fix them all)
You could try to run pyupgrade inside your repo to see what you could change to update your code to more modern Python.
-
pathlib instead of os. f-strings instead of .format. Are there other recent versions of older Python libraries we should consider?
Also pyupgrade to generally upgrade your code to whatever python version pyupgrade supports :)
There’s a good tool called pyupgrade that takes care of a lot of the syntax upgrades, not sure if it does library usage upgrades though
What are some alternatives?
pyright - Static Type Checker for Python
black - The uncompromising Python code formatter [Moved to: https://github.com/psf/black]
yapf - A formatter for Python files
pre-commit-hooks - Some out-of-the-box hooks for pre-commit
flynt - A tool to automatically convert old string literal formatting to f-strings
black - The uncompromising Python code formatter
pyre-check - Performant type-checking for python.
pep585-upgrade - Pre-commit hook for upgrading type hints
mypy - Optional static typing for Python
autoflake - Removes unused imports and unused variables as reported by pyflakes
black - The uncompromising Python code formatter [Moved to: https://github.com/psf/black]
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.