GitXplorerGitXplorer
a

flake8-printf-formatting

public
11 stars
0 forks
4 issues

Commits

List of commits on branch master.
Unverified
6bd13df694f967054299b276a3b79c4c9ce4804e

Release v1.1.2

aatugushev committed 4 years ago
Unverified
9d09057bf08eda99bb767c07750b5b5893e767b9

Release v1.1.1

aatugushev committed 4 years ago
Unverified
cecc0a8e1165d5c737828635443765ee7cef6cf7

Update package metadata

aatugushev committed 4 years ago
Verified
fd05a61e6a8da43526613abebd589e4c04a5f959

Use Github Actions instead of Travis CI (#6)

aatugushev committed 4 years ago
Verified
6518b55852a35cb3f67c5fee4de273ae8bd9d581

FIx decreasing coverage (#5)

aatugushev committed 4 years ago
Verified
e12c5c4ce636901552be8aa454f69fc15366bbaf

Update README.md

aatugushev committed 4 years ago

README

The README file for this repository.

PyPI version Supported Python versions Tests Coverage

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

  1. Bump version in setup.cfg.
  2. Add a commit "Release vX.Y.Z".
  3. Make sure checks still pass.
  4. Draft a new release with a tag name "X.Y.Z" and describe changes which involved in the release.
  5. Publish the release.