Awesome
flake8-printf-formatting
flake8 plugin which forbids printf-style string formatting
Installation
pip install flake8-printf-formatting
Codes
Code | Description |
---|---|
MOD001 | do not use printf-style string formatting |
Rationale
The official Python 3 documentation doesn't recommend printf-style string formatting:
The formatting operations described here exhibit a variety of quirks that lead to a number of common errors (such as failing to display tuples and dictionaries correctly). Using the newer formatted string literals, the
str.format
interface, or template strings may help avoid these errors. Each of these alternatives provides their own trade-offs and benefits of simplicity, flexibility, and/or extensibility.
Bad
print("Hello, %s!" % name)
Good
print("Hello, {name}!".format(name=name))
Even better
print(f"Hello, {name}!")
As a pre-commit hook
See pre-commit for instructions
Sample .pre-commit-config.yaml
:
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.8
hooks:
- id: flake8
additional_dependencies: [flake8-printf-formatting]
Release process
- Bump version in
setup.cfg
. - Add a commit "Release vX.Y.Z".
- Make sure checks still pass.
- Draft a new release with a tag name "X.Y.Z" and describe changes which involved in the release.
- Publish the release.