Skip to main content

Checks for old string formatting.

Project description

Flake8 PEP 3101 plugin

Python has two string formatting options, either the old percent operator or the new .format() string method.

Being the new one more powerful, expressive and a drop-in replacement over the old one.

See pyformat website for lots of examples of old vs new formatting.

For a more format definition see the PEP 3101.

This plugin is based on a python checker that was in plone.recipe.codeanalysis.


Install with pip:

$ pip install flake8-pep3101


  • Python 2.7, 3.5, 3.6
  • flake8


If you want to check whether your new style formatting are correctly defined, check flake8-string-format plugin.


GPL 2.0


1.3.0 (2019-12-15)

  • Warn about “string %i” % 33 which was previously ignored. Reported by @unformatt. [gforcada]

1.2.1 (2018-04-05)

  • Fix text on the error message. [icemac]

1.2 (2017-12-12)

  • Handle when there are numbers in either side of the modulo operator. [gforcada]

1.1 (2017-05-12)

  • Handle variable formatting (i.e. my_string_variable % ('one', 'two', )). [gforcada]
  • Test againsta Python 3.6. [gforcada]
  • Release universal wheels as well. [gforcada]

1.0 (2016-11-27)

  • Remove tox and use plain travis matrix to test. [gforcada]
  • Test on python 2.7, python 3.5, pypy and pypy3. [gforcada]
  • Require flake8 3.0. [gforcada]
  • Use ast to analyze the code. The regular expression used so far was mostly a hit or miss, with each corner case making it even more difficult to read. The new checker with ast is simple, elegant and so much easy to read. [gforcada]

0.6 (2016-10-29)

  • Handle edge case when a single or double quoted string has another pair of quotes inside (‘lala “lu” la’) with some % symbol inside as well. [gforcada]

0.5 (2016-10-26)

  • Add all possible string formatters. [gforcada]
  • Fix extension to work with flake8 > 3.0. [gforcada]
  • Fix crash when the % symbol was the last character of a line. [gforcada]

0.4 (2016-07-03)

  • Rename pep8 to pycodestyle. [alefteris]
  • Add support for python 3.5. [alefteris]
  • Add flake8 pypi classifier. [alefteris]
  • Drop python 3.3 and 3.4 support (only testing it probably works just fine). [gforcada]
  • Fix travis and coveralls to work properly with python 3.5. [gforcada]

0.3 (2016-03-05)

  • Allow stdin processing, this way text editor can pass input to flake8. [mjacksonw]

0.2 (2015-09-16)

  • 0.1 was a brown bag release. [gforcada]

0.1 (2015-09-16)

  • Initial release [gforcada]
  • Create the flake8 plugin per se. [gforcada]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flake8-pep3101, version 1.3.0
Filename, size File type Python version Upload date Hashes
Filename, size flake8_pep3101-1.3.0-py2.py3-none-any.whl (11.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size flake8-pep3101-1.3.0.tar.gz (12.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page