Flake8 author Checker

September 18, 2023 ยท View on GitHub

========================= Flake8 author Checker

|PyPI Version| |Python Versions|

flake8-author is a Flake8 <http://flake8.pycqa.org/>_ extension that checks Python modules for module-level __author__ attributes.

There is no official standard on __author__ usage. It is used largely by convention. Guido had this to say back in 2001__:

Anothor source of discomfort is that there's absolutely no standard for
this kind of meta-data variables.  We've got __version__, and I believe we
once agreed on that (in 1994 or so :-).  But __author__?  __credits__?
What next -- __cute_signoff__?

__ https://mail.python.org/pipermail/python-dev/2001-March/013328.html

This extension can therefore be configured to explicitly require or forbid __author__ attributes. By default, __author__ is considered optional.

If the __author__ attribute is allowed, its value can also be validated using a configurable regular expression pattern.

The __author__ attribute is generally assigned to a string, but multiple authors can be listed using a list (or tuple or set) of strings.

.. |PyPI Version| image:: https://img.shields.io/pypi/v/flake8-author.svg :target: https://pypi.python.org/pypi/flake8-author .. |Python Versions| image:: https://img.shields.io/pypi/pyversions/flake8-author.svg :target: https://pypi.python.org/pypi/flake8-author

Installation

Install from PyPI using pip:

.. code-block:: sh

$ pip install flake8-author

The extension will be activated automatically by flake8. You can verify that it has been loaded by inspecting the flake8 --version string.

.. code-block:: sh

$ flake8 --version
6.1.0 (author: 2.1.0, ...) CPython 3.11.5 on Darwin

Error Codes

This extension adds three new error codes__ (using the A40 prefix):

  • A400: a module-level __author__ attribute is required
  • A401: __author__ attributes are not allowed
  • A402: __author__ attribute value does not match pattern

__ http://flake8.pycqa.org/en/latest/user/error-codes.html

Configuration

Configuration values are specified in the [flake8] section of your config file_ or as command line arguments (e.g. --author-attribute=required).

  • author-attribute: "optional", "required", "forbidden" (default: optional)
  • author-pattern: __author__ validation re_ pattern (default: '')

.. _config file: http://flake8.pycqa.org/en/latest/user/configuration.html .. _re: https://docs.python.org/library/re.html