Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 332931
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T09:54:50+00:00 2026-05-12T09:54:50+00:00

I’m trying to find a tool to check for coding style in python. For

  • 0

I’m trying to find a tool to check for coding style in python.

For PHP I’ve seen there is the Code Sniffer, and a small perl script used by Drupal. Is there such a tool for python code?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T09:54:50+00:00Added an answer on May 12, 2026 at 9:54 am

    In the past I’ve mainly use PyLint – it can highlight when you used an undefined variable, when you import things without using them and so on.

    It can be a bit verbose, complaining about things like lines being over 80 character long, variable not matching to specific regex’s, classes having too few public methods, methods missing docs-trings.

    For example, for script..

    import os
    import somefakelib
    
    def myfunc(x):
        blah = "Something"
        print os.listdir( x+blh )
    

    PyLint generates the following messages:

    C:  1: Missing docstring
    F:  2: Unable to import 'somefakelib' (No module named somefakelib)
    C:  4:myfunc: Missing docstring
    C:  4:myfunc: Invalid name "x" (should match [a-z_][a-z0-9_]{2,30}$)
    C:  4:myfunc: Invalid name "x" (should match [a-z_][a-z0-9_]{2,30}$)
    E:  6:myfunc: Undefined variable 'blh'
    W:  5:myfunc: Unused variable 'blah'
    W:  2: Unused import somefakelib
    

    They are all valid complaints, but I tend to disable a lot of the convention and refactoring messages. You can disable specific messages, either as comments in your code:

    #pylint:disable-msg=R0903,C0103,R0903,F0401,C0301
    

    ..or as command line arguments to the PyLint command:

    pylint --disable-msg=R0903,C0103,R0903,F0401,C0301 myfile.py
    

    With the above messages disabled, it generates the following messages for the above code:

    C:  1: Missing docstring
    C:  4:myfunc: Missing docstring
    E:  6:myfunc: Undefined variable 'blh'
    W:  5:myfunc: Unused variable 'blah'
    W:  2: Unused import somefakelib
    

    PyLint also generates a “code report”, including how many lines of code/comments/docstring/whitespace the file has, number of messages per-category, and gives your code a “score” – 10 being no messages, 0 generally being a syntax error

    Another option is PyFlakes, which I find a little less excessively-verbose (I’ve recently started using it in place of PyLint). Again using the above script, PyFlakes gives the following messages:

    example.py:2: 'somefakelib' imported but unused
    example.py:6: undefined name 'blh'
    

    The final option I use is pep8.py, which as the name suggests enforces PEP8. It is by far the most.. pedantic script, enforcing things like correct blank-lines before/after functions/classes, spacing around code, correct 4-space indentation and so on..

    Running on the code above, it produces the following:

    example.py:4:1: E302 expected 2 blank lines, found 1
    example.py:6:23: E201 whitespace after '('
    example.py:6:32: W292 no newline at end of file
    

    It is mostly enforces stylistic things like correct whitespace, it does not do much static-analysis of the code like PyLint or PyFlakes, so I use pep8.py in conjunction with either PyLint or PyFlakes.

    pep8.py was originally announced on the python mailing list here, but the download link in this is now dead.. There’s a github mirror by cburroughs, with a few minor fixes at github.com/cburroughs/pep8.py, or you can grab the unmodified version from an older revision

    PyChecker is another option, although I haven’t use it

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 165k
  • Answers 165k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer There are a couple of variants of a rename command,… May 12, 2026 at 12:33 pm
  • Editorial Team
    Editorial Team added an answer There is currently no way to build CLS-compliant assemblies from… May 12, 2026 at 12:33 pm
  • Editorial Team
    Editorial Team added an answer You might want to look at Google Protocol Buffers or… May 12, 2026 at 12:33 pm

Related Questions

I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I am currently running into a problem where an element is coming back from
Seemingly simple, but I cannot find anything relevant on the web. What is the
Does anyone know how can I replace this 2 symbol below from the string
Configuring TinyMCE to allow for tags, based on a customer requirement. My config is

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.