Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
py_static_check can statically check your Python code for a lot of common errors
branch: master

This branch is even with Doist:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
py_static_check
tests
.gitignore
MANIFEST
README.markdown
setup.py

README.markdown

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.

Something went wrong with that request. Please try again.