Skip to main content

pytest plugin to check FLAKE8 requirements

Project description

py.test plugin for efficiently checking PEP8 compliance
=======================================================

Usage
-----

Install by running the command::

pip install pytest-flake8

After installing it, when you run tests with the option::

py.test --flake8

every file ending in ``.py`` will be discovered and checked with
flake8.

.. note::

If optional flake8 plugins are installed, those will
be used automatically. No provisions have been made for
configuring these via py.test.

.. warning::

Running flake8 tests on your project is likely to cause a number
of issues. The plugin allows one to configure on a per-project and
per-file basis which errors or warnings to ignore, see
flake8-ignore_.

.. _flake8-ignore:

Configuring FLAKE8 options per project and file
-----------------------------------------------

Maximum line length can be configured for the whole project
by adding a ``flake8-max-line-length`` option to your ``setup.cfg``
or ``tox.ini`` file like this::

# content of setup.cfg
[pytest]
flake8-max-line-length = 99

Note that the default will be what naturally comes with flake8_
(which it turn gets its default from pep8_).

You may configure flake8-checking options for your project
by adding an ``flake8-ignore`` entry to your ``setup.cfg``
or ``tox.ini`` file like this::

# content of setup.cfg
[pytest]
flake8-ignore = E201 E231

This would globally prevent complaints about two whitespace issues.
Rerunning with the above example will now look better::

$ py.test -q --flake8
collecting ... collected 1 items
.
1 passed in 0.01 seconds

If you have some files where you want to specifically ignore
some errors or warnings you can start a flake8-ignore line with
a glob-pattern and a space-separated list of codes::

# content of setup.cfg
[pytest]
flake8-ignore =
*.py E201
doc/conf.py ALL

So if you have a conf.py like this::

# content of doc/conf.py

func ( [1,2,3]) #this line lots pep8 errors :)

then running again with the previous example will show a single
failure and it will ignore doc/conf.py alltogether::

$ py.test --flake8 -v # verbose shows what is ignored
======================================= test session starts ========================================
platform darwin -- Python 2.7.6 -- py-1.4.26 -- pytest-2.7.0 -- /Users/tholo/Source/pytest/bin/python
cachedir: /Users/tholo/Source/pytest/src/verify/.cache
rootdir: /Users/tholo/Source/angular/src/verify, inifile: setup.cfg
plugins: flake8, cache
collected 1 items

myfile.py PASSED

========================================= 1 passed in 0.00 seconds =========================================

Note that doc/conf.py was not considered or imported.

Notes
-----

The repository of this plugin is at https://github.com/tholo/pytest-flake8

For more info on py.test see http://pytest.org

The code is partially based on Ronny Pfannschmidt's pytest-codecheckers plugin.

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

pytest-flake8-0.4.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_flake8-0.4-py2.py3-none-any.whl (6.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pytest-flake8-0.4.tar.gz.

File metadata

  • Download URL: pytest-flake8-0.4.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pytest-flake8-0.4.tar.gz
Algorithm Hash digest
SHA256 c4b08629afbdb57afd9cdcef6b40331d8a674108d82c75afcc149c06d47c40b8
MD5 c5ddc7330e40d7a462c9a0bff89d2964
BLAKE2b-256 7b6439497fb3bd5475b5eee524745faa37e5bb3d16582d631d0453b838608fa1

See more details on using hashes here.

File details

Details for the file pytest_flake8-0.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_flake8-0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d61658b12528572c9422f6c67e292f28680bced0483097c8f5276cf4bb538e91
MD5 c4db0bdfe1ca3e1713588fe1bfbdb9da
BLAKE2b-256 e3c70bad7ad4f75abe340be3e8b492558fd762677383e26a2688814487f3cd88

See more details on using hashes here.

Supported by

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