From eea76f1da01a33dec2afc42119e001e4350aaea2 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Apr 2006 10:48:09 +0000 Subject: forget the past. forget the past. --- man/pylint.1 | 371 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 man/pylint.1 (limited to 'man') diff --git a/man/pylint.1 b/man/pylint.1 new file mode 100644 index 0000000..eefa920 --- /dev/null +++ b/man/pylint.1 @@ -0,0 +1,371 @@ +.TH pylint 1 "2006-4-20" pylint +.SH NAME +.B pylint +\- python code static checker + +.SH SYNOPSIS +.B pylint +[ +.I OPTIONS +] [ +.I +] + +.SH DESCRIPTION +.B pylint +is a Python source code analyzer which looks for programming +errors, helps enforcing a coding standard and sniffs for some code +smells (as defined in Martin Fowler's Refactoring book) + +Pylint can be seen as another PyChecker since nearly all tests you +can do with PyChecker can also be done with Pylint. However, Pylint +offers some more features, like checking length of lines of code, +checking if variable names are well-formed according to your coding +standard, or checking if declared interfaces are truly implemented, +and much more. + +Additionally, it is possible to write plugins to add your own checks. + +.SH OPTIONS +.IP "--version" +show program's version number and exit +.IP "--help, -h" +show this help message and exit + +.SH MASTER +lint Python modules using external checkers. + + This is the main checker controling the other ones and the reports + generation. It is itself both a raw checker and an astng checker in order + to: + * handle message activation / deactivation at the module level + * handle some basic but necessary stats'data (number of classes, methods...) + +This checker also defines the following reports: + * R0001: Total errors / warnings + * R0002: % errors / warnings by module + * R0003: Messages + * R0004: Global evaluation + +.IP "--rcfile=" +Specify a configuration file. +.IP "--disable-all" +Disable all possible checkers. This option should precede enable-* options. +.IP "--help-msg=" +Display a help message for the given message id and exit. This option may be a comma separated list. +.IP "--list-msgs" +List and explain every available messages. +.IP "--generate-rcfile" +Generate a sample configuration file according to the current configuration. You can put other options before this one to use them in the configuration. This option causes the program to exit +.IP "--generate-man" +Generate a man page for pylint. This option causes the program to exit +.IP "--debug-mode" +In debug mode, checkers without error messages are disabled and for others, only the ERROR messages are displayed, and no reports are done by default +.IP "--profile=" +Profiled execution. +.IP "--ignore=" +Add to the black list. It should be a base name, not a path. You may set this option multiple times. +.IP "--persistent=" +Pickle collected data for later comparisons. +.IP "--cache-size=" +Set the cache size for astng objects. +.IP "--load-plugins=" +List of plugins (as comma separated values of python modules names) to load, usually to register additional checkers. + +.SH REPORTS +Options related to messages / statistics reporting +.IP "--reports=, -r" +Tells wether to display a full report or only the messages +.IP "--html=" +Use HTML as output format instead of text +.IP "--parseable=, -p" +Use a parseable text output format, so your favorite text editor will be able to jump to the line corresponding to a message. +.IP "--color=" +Colorizes text output using ansi escape codes +.IP "--files-output=" +Put messages in a separate file for each module / package specified on the command line instead of printing them on stdout. Reports (if any) will be written in a file name "pylint_global.[txt|html]". +.IP "--evaluation=" +Python expression which should return a note less than 10 (10 is the highest note).You have access to the variables errors warning, statement which respectivly contain the number of errors / warnings messages and the total number of statements analyzed. This is used by the global evaluation report (R0004). +.IP "--comment=" +Add a comment according to your evaluation note. This is used by the global evaluation report (R0004). +.IP "--include-ids=, -i" +Include message's id in output +.IP "--enable-msg-cat=" +Enable all messages in the listed categories. +.IP "--disable-msg-cat=" +Disable all messages in the listed categories. +.IP "--enable-msg=" +Enable the message with the given id. +.IP "--disable-msg=" +Disable the message with the given id. +.IP "--enable-report=" +Enable the report with the given id. +.IP "--disable-report=" +Disable the report with the given id. + +.SH DESIGN +checks for sign of poor/misdesign: + * number of methods, attributes, local variables... + * size, complexity of functions, methods + +.IP "--enable-design=" +Enable / disable this checker +.IP "--max-args=" +Maximum number of arguments for function / method +.IP "--max-locals=" +Maximum number of locals for function / method body +.IP "--max-returns=" +Maximum number of return / yield for function / method body +.IP "--max-branchs=" +Maximum number of branch for function / method body +.IP "--max-statements=" +Maximum number of statements in function / method body +.IP "--max-parents=" +Maximum number of parents for a class (see R0901). +.IP "--max-attributes=" +Maximum number of attributes for a class (see R0902). +.IP "--min-public-methods=" +Minimum number of public methods for a class (see R0903). +.IP "--max-public-methods=" +Maximum number of public methods for a class (see R0904). + +.SH BASIC +checks for : + * doc strings + * modules / classes / functions / methods / arguments / variables name + * number of arguments, local variables, branchs, returns and statements in +functions, methods + * required module attributes + * dangerous default values as arguments + * redefinition of function / method / class + * uses of the global statement + +This checker also defines the following reports: + * R0101: Statistics by type + +.IP "--enable-basic=" +Enable / disable this checker +.IP "--required-attributes=" +Required attributes for module, separated by a comma +.IP "--no-docstring-rgx=" +Regular expression which should only match functions or classes name which do not require a docstring +.IP "--module-rgx=" +Regular expression which should only match correct module names +.IP "--const-rgx=" +Regular expression which should only match correct module level names +.IP "--class-rgx=" +Regular expression which should only match correct class names +.IP "--function-rgx=" +Regular expression which should only match correct function names +.IP "--method-rgx=" +Regular expression which should only match correct method names +.IP "--attr-rgx=" +Regular expression which should only match correct instance attribute names +.IP "--argument-rgx=" +Regular expression which should only match correct argument names +.IP "--variable-rgx=" +Regular expression which should only match correct variable names +.IP "--inlinevar-rgx=" +Regular expression which should only match correct list comprehension / generator expression variable names +.IP "--good-names=" +Good variable names which should always be accepted, separated by a comma +.IP "--bad-names=" +Bad variable names which should always be refused, separated by a comma +.IP "--bad-functions=" +List of builtins function names that should not be used, separated by a comma + +.SH CLASSES +checks for : + * methods without self as first argument + * overriden methods signature + * access only to existant members via self + * attributes not defined in the __init__ method + * supported interfaces implementation + * unreachable code + +.IP "--enable-classes=" +Enable / disable this checker +.IP "--ignore-iface-methods=" +List of interface methods to ignore, separated by a comma. This is used for instance to not check methods defines in Zope's Interface base class. +.IP "--defining-attr-methods=" +List of method names used to declare (i.e. assign) instance attributes. + +.SH SIMILARITIES +checks for similarities and duplicated code. This computation may be + memory / CPU intensive, so you should disable it if you experiments some + problems. + +This checker also defines the following reports: + * R0801: Duplication + +.IP "--enable-similarities=" +Enable / disable this checker +.IP "--min-similarity-lines=" +Minimum lines number of a similarity. +.IP "--ignore-comments=" +Ignore comments when computing similarities. +.IP "--ignore-docstrings=" +Ignore docstrings when computing similarities. + +.SH EXCEPTIONS +checks for + * excepts without exception filter + * string exceptions + +.IP "--enable-exceptions=" +Enable / disable this checker + +.SH FORMAT +checks for : + * unauthorized constructions + * strict indentation + * line length + * use of <> instead of != + +.IP "--enable-format=" +Enable / disable this checker +.IP "--max-line-length=" +Maximum number of characters on a single line. +.IP "--max-module-lines=" +Maximum number of lines in a module +.IP "--indent-string=" +String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 tab). + +.SH IMPORTS +checks for + * external modules dependencies + * relative / wildcard imports + * cyclic imports + * uses of deprecated modules + +This checker also defines the following reports: + * R0401: External dependencies + * R0402: Modules dependencies graph + +.IP "--enable-imports=" +Enable / disable this checker +.IP "--deprecated-modules=" +Deprecated modules which should not be used, separated by a comma +.IP "--import-graph=" +Create a graph of every (i.e. internal and external) dependencies in the given file (report R0402 must not be disabled) +.IP "--ext-import-graph=" +Create a graph of external dependencies in the given file (report R0402 must not be disabled) +.IP "--int-import-graph=" +Create a graph of internal dependencies in the given file (report R0402 must not be disabled) + +.SH MISCELLANEOUS +checks for: + * warning notes in the code like FIXME, XXX + * PEP 263: source code with non ascii character but no encoding declaration + +.IP "--enable-miscellaneous=" +Enable / disable this checker +.IP "--notes=" +List of note tags to take in consideration, separated by a comma. Default to FIXME, XXX, TODO + +.SH NEWSTYLE +checks for usage of new style capabilities on old style classes and + other new/old styles conflicts problems + * use of property, __slots__, super + * "super" usage + * raising a new style class as exception + +.IP "--enable-newstyle=" +Enable / disable this checker + +.SH METRICS +does not check anything but gives some raw metrics : + * total number of lines + * total number of code lines + * total number of docstring lines + * total number of comments lines + * total number of empty lines + +This checker also defines the following reports: + * R0701: Raw metrics + +.IP "--enable-metrics=" +Enable / disable this checker + +.SH TYPECHECK +try to find bugs in the code using type inference + +.IP "--enable-typecheck=" +Enable / disable this checker +.IP "--ignore-mixin-members=" +Tells wether missing members accessed in mixin class should be ignored. A mixin class is detected if its name ends with "mixin" (case insensitive). +.IP "--zope=" +When zope mode is activated, consider the acquired-members option to ignore access to some undefined attributes. +.IP "--acquired-members=" +List of members which are usually get through zope's acquisition mecanism and so shouldn't trigger E0201 when accessed (need zope=yes to be considered. + +.SH VARIABLES +checks for + * unused variables / imports + * undefined variables + * redefinition of variable from builtins or from an outer scope + * use of variable before assigment + +.IP "--enable-variables=" +Enable / disable this checker +.IP "--init-import=" +Tells wether we should check for unused import in __init__ files. +.IP "--dummy-variables-rgx=" +A regular expression matching names used for dummy variables (i.e. not used). +.IP "--additional-builtins=" +List of additional names supposed to be defined in builtins. Remember that you should avoid to define new builtins when possible. + +.SH ENVIRONMENT VARIABLES + +The following environment variables are used : + * PYLINTHOME + path to the directory where data of persistent run will be stored. If not +found, it defaults to ~/.pylint.d/ or .pylint.d (in the current working +directory) . The current PYLINTHOME is /home/syt/.pylint.d. + * PYLINTRC + path to the configuration file. If not found, it will use the first +existant file in ~/.pylintrc, /etc/pylintrc. The current PYLINTRC is +None. + + +.SH OUTPUT + +Using the default text output, the message format is : + MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE +There are 5 kind of message types : + * (C) convention, for programming standard violation + * (R) refactor, for bad code smell + * (W) warning, for python specific problems + * (E) error, for much probably bugs in the code + * (F) fatal, if an error occured which prevented pylint from doing further processing. + + +.SH SEE ALSO +/usr/share/doc/pythonX.Y-pylint/ + +.SH COPYRIGHT +Copyright (c) 2003-2006 Sylvain Thenault (thenault@gmail.com). +Copyright (c) 2003-2006 LOGILAB S.A. (Paris, FRANCE). +http://www.logilab.fr/ -- mailto:contact@logilab.fr + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published +by the Free Software Foundation; either version 2 of the License, +or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, +MA 02111-1307 USA. +.SH BUGS +Please report bugs on the project's mailing list: +mailto://python-projects@logilab.org + +.SH AUTHOR +Sylvain Thenault + -- cgit v1.2.1