Skip to main content

Statically check your Python code

Project description

py_static_check

py_static_check can statically check your Python code for a lot of common errors. It uses a modified pyflakes code and extends with following things:

  • Ability to specify what star imports resolve to (-s argument)

  • Ability to ignore unused import warnings (-i argument)

  • Better sorting of warnings/errors

For more information check out:

To install it do following:

sudo easy_install py_static_check

Here are some of the things py_static_check can do.

Catch undefined names, even for star imports

Example code:

from os import *

def function_with_error():
    print path
    print paths

star_imports.py:

import os
STAR_IMPORTS = {
    'os': os.__all__,
}

When ran with py_static_check:

$ py_static_check -s tests/star_import.py tests/undefined_name_star.py
tests/undefined_name.py:5: undefined name 'paths

Ignore not used warnings

Exampel code:

from os import path

When ran with py_static_check -i option:

$ py_static_check -i tests/ignore_not_used.py

$ py_static_check tests/ignore_not_used.py
tests/ignore_not_used.py:10: 'path' imported but unused

Assigned but never used

Like pyflakes it can catch a lot of errors, such as defining a variable without using it.

Exampel code:

def some_function():
    def inner_fn():
        local_var = ""

When ran with py_static_check:

$ py_static_check tests/assigned_but_never_used.py

tests/assigned_but_never_used.py:8: local variable 'local_var' is assigned to but never used

Copyright: 2011 by amix License: MIT.

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

py_static_check-1.2.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

py_static_check-1.2-py2.7.egg (22.0 kB view details)

Uploaded Source

File details

Details for the file py_static_check-1.2.tar.gz.

File metadata

File hashes

Hashes for py_static_check-1.2.tar.gz
Algorithm Hash digest
SHA256 67bc0377ee40a422d5d92a7d4a5e6f2275ba16567fe6a1836f7833b1cdad479f
MD5 eb9abc0f6d29fd40413684d7536c3f41
BLAKE2b-256 387fde1683a9a61586caa476ceda3572f07b3f229c6ee756dd339c97ad4658fd

See more details on using hashes here.

Provenance

File details

Details for the file py_static_check-1.2-py2.7.egg.

File metadata

File hashes

Hashes for py_static_check-1.2-py2.7.egg
Algorithm Hash digest
SHA256 f8355d971c1271c587379b2fc922f5b533e97141295d514206a6385751e9f679
MD5 612eee5fc32b793820626b2fc4dc2f61
BLAKE2b-256 09564c15db657129dcc0100e5d0786ccc8c0cb7c328a1e9c2d78691792a3aeaf

See more details on using hashes here.

Provenance

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