Skip to main content

A pytest plugin to checks dead code with vulture

Project description

Run vulture (https://pypi.org/project/vulture/) with pytest to find dead code.

Sample Usage

py.test --vulture

would be the most simple usage and would run vulture for all error messages.

py.test --vulture --vulture-cfg-file=/test/vulture.ini

This would use the vulture with the /test/vulture.ini config path

Ignoring vulture messages in source code

  • ignoring lines :

def test():
    a = 2    # vulture: ignore
  • ignoring methods :

def test():  # vulture: ignore
    pass
  • ignoring classes :

class Test:  # vulture: ignore
    pass

Config file

The config file (the path can be defined by the –vulture-cfg-file option) can look like this

[vulture]
# completely exclude files for vulture
exclude =
    */test/* # We usualy exclude tests because tests can cover dead code

# those file are ignored by pytest, but still computed by vulture
ignore =
    src/toto.py

# ignoring names in code
ignore-names =
    delimiter

# ignoring decorators
ignore-decorators =
  @application.errorhandler
  @application.route
  @celery_app.task
  @application.app.errorhandler

# ignore vulture type of messages
ignore-types =
    attribute
    variable

Acknowledgements

This code depends on vulture

Development

If you want to help development, there is overview documentation in DEVELOPMENT.rst.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Releases

2.0.2

  • Uses vulture with pytest (tested with python 3.7 3.8 and 3.9, with vulture==2.3 and pytest 7.x)

1.0.0

  • stable Gatewatcher internal use only

0.x

  • unstable Gatewatcher internal use only

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-vulture-2.1.1.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

pytest_vulture-2.1.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file pytest-vulture-2.1.1.tar.gz.

File metadata

  • Download URL: pytest-vulture-2.1.1.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.10

File hashes

Hashes for pytest-vulture-2.1.1.tar.gz
Algorithm Hash digest
SHA256 9f8d6bf0d76c08a81466f072c2eb41c367fb3152f93ebf198542d87ee3d77362
MD5 85bfcf8762146dd3748ce63b38884927
BLAKE2b-256 0ccb76b9b1b80648be64281cc083c7b3d69d752685e57483458159253539f363

See more details on using hashes here.

File details

Details for the file pytest_vulture-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: pytest_vulture-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.10

File hashes

Hashes for pytest_vulture-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 366ae598dfc120b09a286f4a7c78da8f0c3907e5d2222aa18204acaa11a415fe
MD5 396ee57a8e3e8fd76a38a53003cf5b07
BLAKE2b-256 fce54a169fe3973f0f8f9324d6b2e6c9111bd23d7c2b56e18090c2f71e992358

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