./devel/py-pylint, Python source code analyzer

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.9.6, Package name: py38-pylint-2.9.6, Maintainer: pkgsrc-users

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.

Required to run:
[devel/py-setuptools] [devel/py-astroid] [devel/py-mccabe] [devel/py-isort] [lang/python37] [textproc/py-toml]

Required to build:
[pkgtools/cwrappers] [devel/py-test-runner]

Master sites:

SHA1: fbc0a698bd515ae44cb01c9c7fb4e77bf8c7cd37
RMD160: ebf016d585fbedb0ad1f242f6762cd90cf00cb7a
Filesize: 309.922 KB

Version history: (Expand)

CVS history: (Expand)

   2021-07-30 14:49:17 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pylint: updated to 2.9.6

What's New in Pylint 2.9.6?
* Fix a false positive ``undefined-variable`` when variable name in decoration
  matches function argument
   2021-07-22 10:42:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pylint: updated to 2.9.5

What's New in Pylint 2.9.5?
* Fix a crash when there would be a 'TypeError object does not support
  item assignment' in the code we parse.
* Fix crash if a callable returning a context manager was assigned to a list or \ 
dict item
* Fix a crash when a AttributeInferenceError was not handled properly when
  failing to infer the real name of an import in astroid.

What's New in Pylint 2.9.4?
* Added ``time.clock`` to deprecated functions/methods for python 3.3
* Fix bug in which --fail-on can return a zero exit code even when the specified \ 
issue is present
* Fix hard failure when handling missing attribute in a class with duplicated bases
* Fix false-positive ``consider-using-with`` (R1732) if a ternary conditional is \ 
used together with ``with``
* Fix false-positive ``deprecated-module`` when relative import uses deprecated \ 
module name.
* Fix false-positive ``consider-using-with`` (R1732) if ``contextlib.ExitStack`` \ 
takes care of calling the ``__exit__`` method
* Fix a false positive for ``unused-private-member`` when mutating a private \ 
  with ``cls``
* Fix ignored empty functions by similarities checker with \ 
"ignore-signatures" option enabled
* Fix false-positive of ``use-maxsplit-arg`` when index is incremented in
  a loop
* Don't emit ``cyclic-import`` message if import is guarded by \ 
* Fix false-positive ``not-callable`` with alternative ``TypedDict`` syntax
* Clarify documentation for consider-using-from-import
* Don't emit ``unreachable`` warning for empty generator functions
* Don't emit ``import-error``, ``no-name-in-module``, and ``ungrouped-imports``
  for imports guarded by ``sys.version_info`` or ``typing.TYPE_CHECKING``.
* Fix ``invalid-overridden-method`` with nested property
* Fix false-positive of ``unused-private-member`` when using ``__new__`` in a class
* No longer emit ``consider-using-with`` for ``ThreadPoolExecutor`` and \ 
  as they have legitimate use cases without a ``with`` block.
* Fix crash when inferring variables assigned in match patterns
* Fix a crash when a StopIteration was raised when inferring
  a faulty function in a context manager.
   2021-07-01 23:03:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pylint: updated to 2.9.3

What's New in Pylint 2.9.3?

* Fix a crash that happened when analysing empty function with docstring
  in the ``similarity`` checker.

* The ``similarity`` checker no longer add three trailing whitespaces for
  empty lines in its report.

What's New in Pylint 2.9.2?

* Fix a crash that happened when analysing code using ``type(self)`` to access
  a class attribute in the ``unused-private-member`` checker.

* Fix a false positive for ``unused-private-member`` when accessing a private \ 
  with ``self``

* Fix false-positive of ``unnecessary-dict-index-lookup`` and \ 
  for reassigned dict index lookups

What's New in Pylint 2.9.1?

* Upgrade astroid to 2.6.2
   2021-06-30 08:02:15 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-pylint: updated to 2.9.0

What's New in Pylint 2.9.0?
Release date: 2021-06-29

* Python 3.10 is now supported.

* Add type annotations to pyreverse dot files

* Fix missing support for detecting deprecated aliases to existing

* astroid has been upgraded to 2.6.1

* Added various deprecated functions/methods for python 3.10, 3.7, 3.6 and 3.3

* Fix false positive ``useless-type-doc`` on ignored argument using \ 
  when a function was typed using pep484 but not inside the docstring.

* ``setuptools_scm`` has been removed and replaced by ``tbump`` in order to not
  have hidden runtime dependencies to setuptools

* Fix a crash when a test function is decorated with ``@pytest.fixture`` and \ 
astroid can't
  infer the name of the decorator when using ``open`` without ``with``.

* Added ``deprecated-decorator``: Emitted when deprecated decorator is used.

* Added ``ignore-paths`` behaviour. Defined regex patterns are matched against \ 
full file path.

* Fix false negative for ``consider-using-with`` if calls like ``open()`` were \ 
used outside of assignment expressions.

* The warning for ``arguments-differ`` now signals explicitly the difference it \ 
  by naming the argument or arguments that changed and the type of change that \ 

* Suppress ``consider-using-with`` inside context managers.

* Added ``--fail-on`` option to return non-zero exit codes regardless of \ 
``--fail-under`` value.

* numversion tuple contains integers again to fix multiple pylint's plugins that \ 
relied on it

* Fix false-positive ``too-many-ancestors`` when inheriting from builtin classes,
  especially from the ``collections.abc`` module

* Stdlib deprecated modules check is moved to stdlib checker. New deprecated
  modules are added.

* Fix raising false-positive ``no-member`` on abstract properties

* Created new error message called ``arguments-renamed`` which identifies any \ 
changes at the parameter
  names of overridden functions.

* New checker ``consider-using-dict-items``. Emitted  when iterating over \ 
dictionary keys and then
  indexing the same dictionary with the key within loop body.

* Don't emit ``import-error`` if import guarded behind ``if sys.version_info \ 
>= (x, x)``

* Fix incompatibility with Python 3.6.0 caused by ``typing.Counter`` and \ 
``typing.NoReturn`` usage

* New checker ``use-maxsplit-arg``. Emitted either when accessing only the first \ 
or last
  element of ``str.split()``.

* Add ignore_signatures to duplicate code checker

* Fix documentation errors in "Block disables" paragraph of User Guide.

* New checker ``unnecessary-dict-index-lookup``. Emitted when iterating over \ 
dictionary items
  (key-value pairs) and accessing the value by index lookup.

* New checker``consider-using-from-import``. Emitted when a submodule/member of \ 
a package is imported and aliased
  with the same name.

* Allow comma-separated list in ``output-format`` and separate output files for
  each specified format.

* Make ``using-constant-test`` detect constant tests consisting of list literals \ 
like ``[]`` and
  ``[1, 2, 3]``.

* Improved error message of ``unnecessary-comprehension`` checker by providing \ 
code suggestion.

* New checker ``unused-private-member``. Emitted when a private member (i.e., \ 
starts with ``__``) of a class
  is defined but not used.

* Fix false negative of ``consider-using-enumerate`` when iterating over an \ 

* New checker ``invalid-class-object``. Emitted when a non-class is assigned to \ 
a ``__class__`` attribute.

* Fix a crash when a plugin from the configuration could not be loaded and raise \ 
an error
  'bad-plugin-value' instead

* Added handling of floating point values when parsing configuration from \ 

* ``invalid-length-returned``, now also works when nothing at all is returned
  following an upgrade in astroid.

* ``logging-format-interpolation`` and ``logging-not-lazy``, now works on logger
  class created from renamed logging import following an upgrade in astroid.

* Fix false-positive ``no-member`` with generic base class

* Fix ``assigning-non-slot`` false-positive with base that inherits from \ 

* New checker ``invalid-all-format``. Emitted when ``__all__`` has an invalid format,
  i.e. isn't a ``tuple`` or ``list``.

* Fix false positive ``unused-variable`` and ``undefined-variable`` with
  Pattern Matching in Python 3.10

* New checker ``await-outside-async``. Emitted when await is used outside an \ 
async function.

* Clarify documentation for ``typing`` extension.

* Add new extension ``CodeStyleChecker``. It includes checkers that can improve code
  consistency. As such they don't necessarily provide a performance benefit
  and are often times opinionated.

* New checker ``consider-using-tuple``. Emitted when an in-place defined
  list or set can be replaced by a tuple.

* New checker ``consider-using-namedtuple-or-dataclass``. Emitted when \ 
dictionary values
  can be replaced by namedtuples or dataclass instances.

* Fix error that occurred when using ``slice`` as subscript for dict.

* Reduce false-positives around inference of ``.value`` and ``.name``
  properties on ``Enum`` subclasses, following an upgrade in astroid

* Fix issue with ``cached_property`` that caused ``invalid-overridden-method`` error
  when overriding a ``property``.

* Fix ``unused-import`` false positive for imported modules referenced in
  attribute lookups in type comments.

What's New in Pylint 2.8.3?
Release date: 2021-05-31

* Astroid has been pinned to 2.5.6 for the 2.8 branch.
   2021-04-27 06:45:54 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pylint: updated to 2.8.2

What's New in Pylint 2.8.2?

Keep __pkginfo__.numversion a tuple to avoid breaking pylint-django.

scm_setuptools has been added to the packaging.

Pylint's tags are now the standard form vX.Y.Z and not pylint-X.Y.Z anymore.
   2021-04-26 15:00:31 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-pylint: updated to 2.8.1

What's New in Pylint 2.8.1?
Release date: 2021-04-25

  Put new features and bugfixes here and also in 'doc/whatsnew/2.9.rst'

* Add numversion back (temporarily) in ``__pkginfo__`` because it broke Pylama \ 
and revert the unnecessary
  ``pylint.version`` breaking change.

What's New in Pylint 2.8.0?
Release date: 2021-04-24

* New refactoring message ``consider-using-with``. This message is emitted if \ 
resource-allocating functions or methods of the
  standard library (like ``open()`` or ``threading.Lock.acquire()``) that can be \ 
used as a context manager are called without
  a ``with`` block.

* Resolve false positives on unused variables in decorator functions

* Add new extension ``ConfusingConsecutiveElifChecker``. This optional checker \ 
emits a refactoring message (R5601 ``confusing-consecutive-elif``)
  if if/elif statements with different indentation levels follow directly one \ 
after the other.

* New option ``--output=<file>`` to output result to a file rather than \ 
printing to stdout.

* Use a prescriptive message for ``unidiomatic-typecheck``

* Apply ``const-naming-style`` to module constants annotated with

* The packaging is now done via setuptools exclusively. ``doc``, ``tests``, \ 
``man``, ``elisp`` and ``Changelog`` are
  not packaged anymore - reducing the size of the package by 75%.

* Debian packaging is now  (officially) done in \ 

* The 'doc' extra-require has been removed.

* ``__pkginfo__`` now only contain ``__version__`` (also accessible with \ 
``pylint.__version__``), other meta-information are still
  accessible with ``from importlib import metadata;metadata.metadata('pylint')``.

* COPYING has been renamed to LICENSE for standardization.

* Fix false-positive ``used-before-assignment`` in function returns.

* Updated ``astroid`` to 2.5.3

* Add ``consider-using-min-max-builtin`` check for if statement which could be \ 
replaced by Python builtin min or max

* Don't auto-enable postponed evaluation of type annotations with Python 3.10

* Update ``astroid`` to 2.5.4

* Add new extension ``TypingChecker``. This optional checker can detect the use \ 
of deprecated typing aliases
  and can suggest the use of the alternative union syntax where possible.
  (For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by \ 
'|', etc.)
  Make sure to check the config options if you plan on using it!

* Reactivates old counts in report mode.

* During detection of ``inconsistent-return-statements`` consider that ``assert \ 
False`` is a return node.

* Run will not fail if score exactly equals ``config.fail_under``.

* Functions that never returns may declare ``NoReturn`` as type hints, so that
  ``inconsistent-return-statements`` is not emitted.

* Improved protected access checks to allow access inside class methods

* Fix issue with PEP 585 syntax and the use of ``collections.abc.Set``

* Fix issue that caused class variables annotated with ``typing.ClassVar`` to be
  identified as class constants. Now, class variables annotated with
  ``typing.Final`` are identified as such.

* Continuous integration with read the doc has been added.

* Don't show ``DuplicateBasesError`` for attribute access

* Fix crash when checking ``setup.cfg`` for pylint config when there are \ 
non-ascii characters in there

* Allow code flanked in backticks to be skipped by spellchecker

* Allow Python tool directives (for black, flake8, zimports, isort, mypy, \ 
bandit, pycharm) at beginning of comments to be skipped by spellchecker

* Fix issue that caused emacs pylint to fail when used with tramp

* Improve check for invalid PEP 585 syntax inside functions
  if postponed evaluation of type annotations is enabled

* Improve check for invalid PEP 585 syntax as default function arguments
   2021-03-31 10:06:53 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pylint: updated to 2.7.4

What's New in Pylint 2.7.4?
Put bug fixes that will be cherry-picked to latest major version here
* Fix a problem with disabled msgid not being ignored
* Fix issue with annotated class constants
   2021-03-30 11:22:45 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pylint: updated to 2.7.3

What's New in Pylint 2.7.3?
* Introduce logic for checking deprecated attributes in DeprecationMixin.
* Reduce usage of blacklist/whitelist terminology. Notably, \ 
``extension-pkg-allow-list`` is an
  alternative to ``extension-pkg-whitelist`` and the message \ 
``blacklisted-name`` is now emitted as
  ``disallowed-name``. The previous names are accepted to maintain backward \ 
* Move deprecated checker to ``DeprecatedMixin``
* Bump ``astroid`` version to ``2.5.2``
* Fix false positive for ``method-hidden`` when using private attribute and method
* ``use-symbolic-message-instead`` now also works on legacy messages like \ 
``C0111`` (``missing-docstring``).
* Remove unwanted print to stdout from ``_emit_no_member``
* Introduce a command-line option to specify pyreverse output directory
* Fix issue with Enums and ``class-attribute-naming-style=snake_case``
* Add ``allowed-redefined-builtins`` option for fine tuning \ 
``redefined-builtin`` check.
* Fix issue when executing with ``python -m pylint``
* Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check.
* Fix false-positive ``no-member`` for typed annotations without default value.
* Add ``--class-const-naming-style`` for Enum constants and class variables annotated
  with ``typing.ClassVar``
* Fix astroid.Inference error for undefined-variables with ``len()```
* Fix column index on FIXME warning messages
* Improve handling of assignment expressions, better edge case handling
* Improve check if class is subscriptable PEP585
* Fix documentation and filename handling of --import-graph
* Fix false-positive for ``unused-import`` on class keyword arguments
* Fix regression with plugins on PYTHONPATH if latter is cwd