Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
26: Update pylint to 2.4.0 r=duckinator a=pyup-bot


This PR updates [pylint](https://pypi.org/project/pylint) from **2.3.1** to **2.4.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 2.4.0
   ```
   ===========================

Release date: 2019-09-24

* New check: ``import-outside-toplevel``

  This check warns when modules are imported from places other than a
  module toplevel, e.g. inside a function or a class.

* Handle inference ambiguity for ``invalid-format-index``

  Close 2752

* Removed Python 2 specific checks such as ``relative-import``,
  ``invalid-encoded-data``, ``missing-super-argument``.

* Support forward references for ``function-redefined`` check.

  Close 2540

* Handle redefinitions in case of type checking imports.

  Close 2834

* Added a new check, ``consider-using-sys-exit``

  This check is emitted when we detect that a quit() or exit() is invoked
  instead of sys.exit(), which is the preferred way of exiting in program.

  Close 2925

* ``useless-suppression`` check now ignores ``cyclic-import`` suppressions,
  which could lead to false postiives due to incomplete context at the time
  of the check.

  Close 3064

* Added new checks, ``no-else-break`` and ``no-else-continue``

  These checks highlight unnecessary ``else`` and ``elif`` blocks after
  ``break`` and ``continue`` statements.

  Close 2327

* Don&duckinator#39;t emit ``protected-access`` when a single underscore prefixed attribute
  is used inside a special method

  Close 1802

* Fix the &quot;statement&quot; values in the PyLinter&duckinator#39;s stats reports by module.

* Added a new check, ``invalid-overridden-method``

  This check is emitted when we detect that a method is overridden
  as a property or a property is overridden as a method. This can indicate
  a bug in the application code that will trigger a runtime error.

  Close 2670

* Added a new check, ``arguments-out-of-order``

  This check warns if you have arguments with names that match those in
  a function&duckinator#39;s signature but you are passing them in to the function
  in a different order.

  Close 2975

* Added a new check, ``redeclared-assigned-name``

  This check is emitted when ``pylint`` detects that a name
  was assigned one or multiple times in the same assignment,
  which indicate a potential bug.
  Close 2898

* Ignore lambda calls with variadic arguments without a context.

  Inferring variadic positional arguments and keyword arguments
  will result into empty Tuples and Dicts, which can lead in
  some cases to false positives with regard to no-value-for-parameter.
  In order to avoid this, until we&duckinator#39;ll have support for call context
  propagation, we&duckinator#39;re ignoring such cases if detected.
  We already did that for function calls, but the previous fix
  was not taking in consideration ``lambdas``

  Close 2918

* Added a new check, ``self-assigning-variable``

  This check is emitted when we detect that a variable is assigned
  to itself, which might indicate a potential bug in the code application.
  Close 2930

* Added a new check, ``property-with-parameters``.

  This check is emitted when we detect that a defined property also
  has parameters, which are useless.
  Close 3006

* Excluded protocol classes from a couple of checks. Close 3002.

* Add a check `unnecessary-comprehension` that detects unnecessary comprehensions.

  This check is emitted when ``pylint`` finds list-, set- or dict-comprehensions,
  that are unnecessary and can be rewritten with the list-, set- or dict-constructors.

  Close 2905

* Excluded PEP 526 instance and class variables from ``no-member``. Close 2945

* Excluded `attrs` from `too-few-public-methods` check. Close 2988.

* ``unused-import`` emitted for the right import names in function scopes.

  Close 2928

* Dropped support for Python 3.4.

* ``assignment-from-no-return`` not triggered for async methods.

  Close 2902

* Don&duckinator#39;t emit ``attribute-defined-outside-init`` for variables defined in setters.

  Close 409

* Syntax errors report the column number.

  Close 2914

* Support fully qualified typing imports for type annotations.

  Close 2915

* Exclude ``__dict__`` from ``attribute-defined-outside-init``

* Fix pointer on spelling check when the error are more than one time in the same line.

  Close 2895

* Fix crash happening when parent of called object cannot be determined

* Allow of in `GoogleDocstring.re_multiple_type`

* Added `subprocess-run-check` to handle subrocess.run without explicitly set `check` keyword.

  Close 2848

* When we can&duckinator#39;t infer bare except handlers, skip ``try-except-raise``

  Close 2853

* Handle more `unnecessary-lambda` cases when dealing with additional kwargs in wrapped calls

  Close 2845

* Better postponed evaluation of annotations handling

  Close 2847

* Support postponed evaluation of annotations for variable annotations.

  Close 2838

* ``epylint.py_run`` defaults to ``python`` in case the current executable is not a Python one.

  Close 2837

* Ignore raw docstrings when running Similarities checker with `ignore-docstrings=yes` option

* Fix crash when calling ``inherit_from_std_ex`` on a class which is its own ancestor

  Close 2680

* Added a new check that warns the user if a function call is used inside a test but parentheses are missing.

  Close 2658

* ``len-as-condition`` now only fires when a ``len(x)`` call is made without an explicit comparison

  The message and description accompanying this checker has been changed
  reflect this new behavior, by explicitly asking to either rely on the
  fact that empty sequence are false or to compare the length with a scalar.

  Close 2684

* Add ``preferred-module`` checker that notify if an import has a replacement module that should be used.

  This check is emitted when ``pylint`` finds an imported module that has a
  preferred replacement listed in ``preferred-modules``.

* ``assigning-non-slot`` not emitted for classes with unknown base classes.

  Close 2807

* ``old-division`` is not emitted for non-Const nodes.

  Close 2808

* Added method arguments to the dot writer for pyreverse.

  Close 2139

* Support for linting file from stdin.

  IDEs may benefit from the support for linting from an in-memory file.

  Close 1187

* Added a new check `class-variable-slots-conflict`

  This check is emitted when ``pylint`` finds a class variable that conflicts with a slot
  name, which would raise a ``ValueError`` at runtime.

* Added new check: dict-iter-missing-items (E1141)

  Close 2761

* Fix issue with pylint name in output of python -m pylint --version

  Close 2764

* Relicense logo material under the CC BY-SA 4.0 license.

* Skip `if` expressions from f-strings for the `check_elif` checker

  Close 2816

* C0412 (ungrouped-import) is now compatible with isort.

  Close 2806

* Added new extension to detect too much code in a try clause

  Close 2877

* ``signature-mutators`` option was added

   With this option, users can choose to ignore `too-many-function-args`, `unexpected-keyword-arg`,
   and `no-value-for-parameter` for functions decorated with decorators that change
   the signature of a decorated function.

   Close 259

* Fixed a pragma comment on its own physical line being ignored when part
  of a logical line with the previous physical line.

  Close 199

* Fixed false `undefined-loop-variable` for a function defined in the loop,
  that uses the variable defined in that loop.

  Close 202

* Fixed `unused-argument` and `function-redefined` getting raised for
  functions decorated with `typing.overload`.

  Close 1581

* Fixed a false positive with ``consider-using-dict-comprehension`` for constructions that can&duckinator#39;t be converted to a comprehension

  Close 2963

* Added ``__post_init__`` to ``defining-attr-methods`` in order to avoid ``attribute-defined-outside-init`` in dataclasses.

  Close 2581

* Changed description of W0199 to use the term 2-item-tuple instead of 2-uple.

* Allow a `.` as a prefix for Sphinx name resolution.

* Checkers must now keep a 1 to 1 relationship between &quot;msgid&quot; (ie: C1234) and &quot;symbol&quot; (ie : human-readable-symbol)
* In checkers, an old_names can now be used for multiple new messages and pylint is now a little faster

Caused by 1164. It means if you do a partial old_names for a message definition an exception will tell you that you
must rename the associated identification.

* Allow the choice of f-strings as a valid way of formatting logging strings.

Closes 2395

* Added ``--list-msgs-enabled`` command to list all enabled and disabled messages given the current RC file and command line arguments.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pylint
  - Changelog: https://pyup.io/changelogs/pylint/
  - Repo: https://github.com/PyCQA/pylint
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
Co-authored-by: Ellen Marie Dash <me@duckie.co>
  • Loading branch information
3 people authored Sep 25, 2019
2 parents cefbce4 + 8173fab commit b265e4f
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion bork/builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def zipapp():
if 'metadata' not in config or 'name' not in config['metadata']:
print("The [metadata] section of setup.cfg needs the 'name' key set.",
file=sys.stderr)
exit(1)
sys.exit(1)

name = config['metadata']['name']

Expand Down
2 changes: 1 addition & 1 deletion bork/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,4 @@ def main():
# NOTE: Catching something as general as Exception should be okay here.
if verbose:
raise err
exit("bork: error: {}".format(str(err)))
sys.exit("bork: error: {}".format(str(err)))
4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ install_requires =
tests_require =
bork[linting,testing]
pytest-flake8
pytest-pylint==2.3.1
pytest-pylint==2.4.0

[options.extras_require]
linting =
Expand All @@ -47,7 +47,7 @@ linting =
flake8-docstrings==1.4.0
# pydocstyle is pinned due to https://gitlab.com/pycqa/flake8-docstrings/issues/36
pydocstyle==4.0.1
pylint==2.3.1
pylint==2.4.0

testing =
pytest==5.1.3
Expand Down

0 comments on commit b265e4f

Please sign in to comment.