Path to this page:
./
devel/py-pylint,
Python source code analyzer
Branch: CURRENT,
Version: 3.3.1,
Package name: py312-pylint-3.3.1,
Maintainer: pkgsrc-usersPylint 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:
Filesize: 1481.155 KB
Version history: (Expand)
- (2024-10-01) Updated to version: py312-pylint-3.3.1
- (2024-09-22) Updated to version: py312-pylint-3.3.0
- (2024-09-02) Updated to version: py312-pylint-3.2.7
- (2024-07-22) Updated to version: py311-pylint-3.2.6
- (2024-06-30) Updated to version: py311-pylint-3.2.5
- (2024-06-27) Updated to version: py311-pylint-3.2.4
CVS history: (Expand)
2024-03-03 12:54:21 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-pylint: update to 3.1.0.
New Features
------------
- Skip ``consider-using-join`` check for non-empty separators if an \
``suggest-join-with-non-empty-separator`` option is set to ``no``.
Closes #8701 (`#8701 <https://github.com/pylint-dev/pylint/issues/8701>`_)
- Discover ``.pyi`` files when linting.
These can be ignored with the ``ignore-patterns`` setting.
Closes #9097 (`#9097 <https://github.com/pylint-dev/pylint/issues/9097>`_)
- Check ``TypeAlias`` and ``TypeVar`` (PEP 695) nodes for ``invalid-name``.
Refs #9196 (`#9196 <https://github.com/pylint-dev/pylint/issues/9196>`_)
- Support for resolving external toml files named pylintrc.toml and .pylintrc.toml.
Closes #9228 (`#9228 <https://github.com/pylint-dev/pylint/issues/9228>`_)
- Check for `.clear`, `.discard`, `.pop` and `remove` methods being called on a \
set while it is being iterated over.
Closes #9334 (`#9334 <https://github.com/pylint-dev/pylint/issues/9334>`_)
New Checks
----------
- New message `use-yield-from` added to the refactoring checker. This message is \
emitted when yielding from a loop can be replaced by `yield from`.
Closes #9229. (`#9229 <https://github.com/pylint-dev/pylint/issues/9229>`_)
- Added a ``deprecated-attribute`` message to check deprecated attributes in the \
stdlib.
Closes #8855 (`#8855 <https://github.com/pylint-dev/pylint/issues/8855>`_)
False Positives Fixed
---------------------
- Fixed false positive for ``inherit-non-class`` for generic Protocols.
Closes #9106 (`#9106 <https://github.com/pylint-dev/pylint/issues/9106>`_)
- Exempt ``TypedDict`` from ``typing_extensions`` from ``too-many-ancestor`` checks.
Refs #9167 (`#9167 <https://github.com/pylint-dev/pylint/issues/9167>`_)
False Negatives Fixed
---------------------
- Extend broad-exception-raised and broad-exception-caught to except*.
Closes #8827 (`#8827 <https://github.com/pylint-dev/pylint/issues/8827>`_)
- Fix a false-negative for unnecessary if blocks using a different than expected \
ordering of arguments.
Closes #8947. (`#8947 <https://github.com/pylint-dev/pylint/issues/8947>`_)
Other Bug Fixes
---------------
- Improve the message provided for wrong-import-order check. Instead of the \
import statement ("import x"), the message now specifies the import \
that is out of order and which imports should come after it. As reported in the \
issue, this is particularly helpful if there are multiple imports on a single \
line that do not follow the PEP8 convention.
The message will report imports as follows:
For "import X", it will report "(standard/third party/first \
party/local) import X"
For "import X.Y" and "from X import Y", it will report \
"(standard/third party/first party/local) import X.Y"
The import category is specified to provide explanation as to why pylint has \
issued the message and guidence to the developer on how to fix the problem.
Closes #8808 (`#8808 <https://github.com/pylint-dev/pylint/issues/8808>`_)
Other Changes
-------------
- Print how many files were checked in verbose mode.
Closes #8935 (`#8935 <https://github.com/pylint-dev/pylint/issues/8935>`_)
- Fix a crash when an enum class which is also decorated with a \
``dataclasses.dataclass`` decorator is defined.
Closes #9100 (`#9100 <https://github.com/pylint-dev/pylint/issues/9100>`_)
|
2024-02-25 16:21:35 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
py-pylint: update to 3.0.4.
False Positives Fixed
used-before-assignment is no longer emitted when using a name in a loop and
depending on an earlier name assignment in an except block paired with
else: continue.
Closes #6804
Avoid false positives for no-member involving function
attributes supplied by decorators.
Closes #9246
Fixed false positive nested-min-max for nested lists.
Closes #9307
Fix false positive for used-before-assignment in a finally block
when assignments took place in both the try block and each exception handler.
Closes #9451
Other Bug Fixes
Catch incorrect ValueError "generator already executing" for \
Python 3.12.0 - 3.12.2.
This is fixed upstream in Python 3.12.3.
Closes #9138
|
2023-12-12 18:17:00 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 3.0.3
What's new in Pylint 3.0.3?
False Positives Fixed
Fixed false positive for unnecessary-lambda when the call has keyword arguments \
but not the lambda.
Fixed incorrect suggestion for shallow copy in unnecessary-comprehension
Example of the suggestion:
#pylint: disable=missing-module-docstring
a = [1, 2, 3]
b = [x for x in a]
b[0] = 0
print(a) # [1, 2, 3]
After changing b = [x for x in a] to b = a based on the suggestion, the script \
now prints [0, 2, 3]. The correct suggestion should be use list(a) to preserve \
the original behavior.
Fix false positives for undefined-variable and unused-argument for
classes and functions using Python 3.12 generic type syntax.
Fixed pointless-string-statement false positive for docstrings
on Python 3.12 type aliases.
Fix false positive for invalid-exception-operation when concatenating tuples
of exception types.
Other Bug Fixes
Fix a bug where pylint was unable to walk recursively through a directory if the
directory has an __init__.py file.
|
2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | |
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation
This follows the recommended bootstrap method (flit_core, build, installer).
However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
|
2023-10-24 06:34:33 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 3.0.2
What's new in Pylint 3.0.2?
False Positives Fixed
Fix used-before-assignment false positive for generic type syntax (PEP 695, \
Python 3.12).
Other Bug Fixes
Escape special symbols and newlines in messages.
Fixes suggestion for nested-min-max for expressions with additive operators, \
list and dict comprehensions.
Fixes ignoring conditional imports with ignore-imports=y.
Emit inconsistent-quotes for f-strings with 3.12 interpreter only if targeting \
pre-3.12 versions.
|
2023-10-09 19:39:16 by Adam Ciarcinski | Files touched by this commit (4) | |
Log message:
py-pylint: updated to 3.0.1
3.0.0
Pylint now support python 3.12 officially.
This long anticipated major version also provides some important usability and \
performance improvements, along with enacting necessary breaking changes and \
long-announced deprecations. The documentation of each message with an example \
is very close too.
The required astroid version is now 3.0.0. See the astroid changelog for \
additional fixes, features, and performance improvements applicable to pylint.
Our code is now fully typed. The invalid-name message no longer checks for a \
minimum length of 3 characters by default. Dependencies like wrapt or setuptools \
were removed.
A new json2 reporter has been added. It features an enriched output that is \
easier to parse and provides more info.
|
2023-09-28 17:56:42 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.17.6
v2.17.6
Other Bug Fixes
When parsing comma-separated lists of regular expressions in the config,
ignore commas that are inside braces since those indicate quantifiers, not
delineation between expressions.
sys.argv is now always correctly considered as impossible to infer
(instead of using the actual values given to pylint).
Don't show class fields more than once in Pyreverse diagrams.
Don't show arrows more than once in Pyreverse diagrams.
Don't show duplicate type annotations in Pyreverse diagrams.
Don't add Optional to | annotations with None in Pyreverse diagrams.
|
2023-07-26 17:29:02 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.17.5
What's new in Pylint 2.17.5?
False Positives Fixed
Fix a false positive for unused-variable when there is an import in a
if TYPE_CHECKING: block and allow-global-unused-variables is set to
no in the configuration.
Fix false positives generated when supplying arguments as **kwargs to IO
calls like open().
Fix a false positive where pylint was ignoring method calls annotated as
NoReturn during the inconsistent-return-statements check.
Exempt parents with only type annotations from the invalid-enum-extension
message.
|