Skip to main content

Enables pylint to force a consistent file header.

Project description

pylint-file-header

Pypi PyPI - Python Version PyPI - Downloads Stars
PyPI - License Build Status Codecov PRs Welcome
Donate

Pylint plugin to enforce consistent file/module header.

Installation

You can install the package with pip from pypi:

pip install pylintfileheader

Configuration

Generate a .pylintrc file by executing pylint --generate-rcfile. Then add pylintfileheader to the plugins to load and set the file-header option to the regular expression that the file header should match.
When the file-header setting is omitted, pylint will pass.

Options

  • file-header is a regexp representing the file header that should be on top of a file.
  • file-header-path is the path to the file that contains the header. This is useful in case of long, multi-line headers, such as copyrights.
  • file-header-ignore-empty-files turns on the mode of ignoring the empty files, like __init__.py. The default value is False.

If both options file-header and file-header-path are set, then file-header will be used and the file-header-path is ignored.

Example

Setup

  • .pylintrc:

    [MASTER]
    load-plugins=pylintfileheader
    
    file-header=# -----------\n#[ \w]*\n# -----------
    
  • valid_example.py:

    # -----------
    # lorem ipsum
    # -----------
    
    print('I am a valid example')
    
  • invalid_example.py:

    # lorem ipsum
    
    print('I am an invalid example')
    

Evaluation

  • pylint valid_example.py evaluates to:

    Using config file /path/to/your/.pylintrc
    
    ------------------------------------
    Your code has been rated at 10.00/10
    
  • pylint invalid_example.py evaluates to:

    Using config file /path/to/your/.pylintrc
    ************* Module invalid_example
    C:  1, 0: File header should match regex "# -----------\n#[ \w]*\n# -----------" (invalid-file-header)
    
    -----------------------------------
    Your code has been rated at 8.57/10
    

Contribution

If you found a bug or are missing a feature do not hesitate to file an issue.
Pull Requests are welcome!

Support

When you like this package make sure to star the repository. I am always looking for new ideas and feedback.
In addition, it is possible to donate via paypal.

Project details


Download files

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

Source Distribution

pylintfileheader-1.0.0.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

pylintfileheader-1.0.0-py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page