Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration path for pychecker users #60

Open
jayvdb opened this issue Dec 14, 2016 · 0 comments
Open

Migration path for pychecker users #60

jayvdb opened this issue Dec 14, 2016 · 0 comments

Comments

@jayvdb
Copy link
Member

jayvdb commented Dec 14, 2016

PyChecker is an old Python checker, supporting up to Python 2.7.
Despite other more dominate checkers, there are many users, as it has some checks which do not appear elsewhere.

Quickly annotating its feature list with existing tools that do this:

  • No global found (e.g., using a module without importing it)
    • pyflakes
    • pylint
  • Passing the wrong number of parameters to functions/methods/constructors
    • ?
  • Passing the wrong number of parameters to builtin functions & methods
    • ?
  • Using format strings that don't match arguments
    • flake8-format-string
  • Using class methods and attributes that don't exist
    • pylint ?
  • Changing signature when overriding a method
    • pylint?
  • Redefining a function/class/method in the same scope
    • pyflakes
    • pylint?
  • Using a variable before setting it
    • pyflakes
    • pylint
  • self is not the first parameter defined for a method
    • pylint
  • Unused globals and locals (module or variable)
    • pyflakes
    • pylint
  • Unused function/method arguments (can ignore self)
    • pylint?
  • No doc strings in modules, classes, functions, and methods
    • pydocstyle

It has an old pypi page, for 0.8.12, but it isnt easily installable.

$ pip2 install pychecker --upgrade
Collecting pychecker
  Could not find a version that satisfies the requirement pychecker (from versions: )
No matching distribution found for pychecker

$ sudo pip3 install pychecker
Collecting pychecker
  Could not find a version that satisfies the requirement pychecker (from versions: )
No matching distribution found for pychecker

Fedora packages 0.8.19.

$ dnf info pychecker
Failed to synchronize cache for repo 'zyga-snapcore', disabling.
Failed to synchronize cache for repo 'spot-chromium', disabling.
Last metadata expiration check: 1:02:06 ago on Wed Dec 14 11:33:18 2016.
Installed Packages
Name        : pychecker
Arch        : noarch
Epoch       : 0
Version     : 0.8.19
Release     : 11.fc25
Size        : 662 k
Repo        : @System
From repo   : fedora
Summary     : A python source code checking tool
URL         : http://pychecker.sourceforge.net
License     : BSD
Description : PyChecker is a python source code checking tool to help you find
            : common bugs. It is meant to find problems that are typically caught by
            : a compiler.

So does Ubuntu since precise.

Many of the basic features will be in pyflakes and pylint, so we already have those features available, but we need to check that the bear exposes the functionality properly.
Others will need native bears.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant