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.0.2.tar.gz (10.5 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.0.2-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytest-vulture-2.0.2.tar.gz
  • Upload date:
  • Size: 10.5 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.0.2.tar.gz
Algorithm Hash digest
SHA256 829daa58a06eac18fec1ec7c1d3a226a8a43318c5b516237d12cace721d23241
MD5 5cc600fe5e8b562d1d57d0b6c434bb30
BLAKE2b-256 64d63c21fdedd70126941379692097c8acfffa24aac4bfbd7a26b8efcc3d601f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytest_vulture-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.7 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.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f84614419a4c6a224bd1ae296651d29214d621d45dfb4f69961f0c2ba90191a0
MD5 9b0c77a0cb1ea33f128576bf0f67ac3b
BLAKE2b-256 34f40c7b4c74b964768930e017f485f1a65758df301ca20b39478e8f70ae0307

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