Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve ./setup.py test output #39

Closed
duckinator opened this issue Mar 13, 2019 · 0 comments
Closed

Improve ./setup.py test output #39

duckinator opened this issue Mar 13, 2019 · 0 comments

Comments

@duckinator
Copy link
Owner

I find it incredibly hard to comprehend, especially when tests fail, and I'd love to make it a bit clearer what's happening.

bors bot added a commit that referenced this issue Jan 9, 2020
84: Pin pytest-flake8 to latest version 1.0.4 r=duckinator a=pyup-bot


This PR pins [pytest-flake8](https://pypi.org/project/pytest-flake8) to the latest release **1.0.4**.



<details>
  <summary>Changelog</summary>
  
  
   ### 1.0.4
   ```
   -----

- Support flake8 3.7+ by checking existence of &quot;app.make_notifier&quot;;
  from jirikuncargithub
- More fixes for Travis CI -- properly specify Python versions, in
  particular for pypy (and fix a typo)
   ```
   
  
  
   ### 1.0.3
   ```
   -----

- Don&#39;t use long deprecated functions from pytest, broke with pytest 4.1.0
- Fix typo that caused some tests to not run as expected
- Run Travis CI tests against Python 3.7, and fix some issues with current tox
   ```
   
  
  
   ### 1.0.2
   ```
   -----

- Test on Python 3.7
- Escape a regex tring with r&quot;&quot;
   ```
   
  
  
   ### 1.0.1
   ```
   -----

- Correct junit XML output for pytest 3.5.x
   ```
   
  
  
   ### 1.0.0
   ```
   -----

- Honor ignore settings in default flake8 config section; from
  brianbruggemangithub
- Improve junit XML output; from Struan Judd
   ```
   
  
  
   ### 0.9.1
   ```
   -----

- Do continuous integration with Travis; from alex-drgithub
- Declare compatibility with Python 3.6
   ```
   
  
  
   ### 0.9
   ```
   ---

- Extend options already loaded instead of replacing them; from
  mforbesgithub
- Correct some issues preventing proper operation with flake8 3.5.0;
  from jezdezgithub
- Register pytest marker for flake8; from alex-drgithub
   ```
   
  
  
   ### 0.8
   ```
   ----------

- Allow running with no cacheprovider
- Modernize use of fixtures in tests
   ```
   
  
  
   ### 0.7
   ```
   ---

- Added new options &quot;flake8-max-complexity&quot;, &quot;flake8-show-source&quot;
  and &quot;flake8-statistics&quot;
   ```
   
  
  
   ### 0.6
   ```
   ---

- Update for flake8 3.x
   ```
   
  
  
   ### 0.5
   ```
   ---

- Fix rendering of rST; from Ken Dreyer
   ```
   
  
  
   ### 0.4
   ```
   ---

- Really fix cache usage; had a comparison between tuple and
  list which always failed
   ```
   
  
  
   ### 0.3
   ```
   ---

- Use integrated pytest cache instead of separate pytest-cache
  module (which is now integrated)
- Use documented hooks for start and end of a test run
   ```
   
  
  
   ### 0.2
   ```
   ---

- Added ability to override maximum line length
   ```
   
  
  
   ### 0.1
   ```
   ---

- initial release
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Jan 9, 2020
79: Pin flake8-commas to latest version 2.0.0 r=duckinator a=pyup-bot


This PR pins [flake8-commas](https://pypi.org/project/flake8-commas) to the latest release **2.0.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 2.0.0
   ```
   ------------------

- Hide ._base from flake8 --version.
  (`Issue 45 &lt;https://github.com/PyCQA/flake8-commas/issue/45&gt;`_)
- Update URL to https://github.com/PyCQA/flake8-commas/.
  (`Issue 51 &lt;https://github.com/PyCQA/flake8-commas/pull/51&gt;`_)
- Add check for trailing commas on bare tuples - C818, thanks to
  `Chris AtLee &lt;https://github.com/catlee&gt;`_ and
  `Arkadiusz Adamski &lt;https://github.com/ar4s/flake8_tuple&gt;`_
  (`PR 52 &lt;https://github.com/PyCQA/flake8-commas/pull/52&gt;`_)
   ```
   
  
  
   ### 1.0.0
   ```
   ------------------

- No changes from 0.5.1, just releasing the first major version.
   ```
   
  
  
   ### 0.5.1
   ```
   ------------------

- Refactor single/multi tuple/subscript to simply count commas in all cases.
- Prohibit trailing commas in lambda parameter lists.
- Fix a missing trailing comma false positive in subcripts with slices.
- Fix a prohibited trailing comma false positve in subscripts with slices.
- All (`Issue 48 &lt;https://github.com/flake8-commas/flake8-commas/pull/48&gt;`_)
   ```
   
  
  
   ### 0.5.0
   ```
   ------------------

- Remove EOL Python 3.3.
  (`Issue 47 &lt;https://github.com/flake8-commas/flake8-commas/pull/47&gt;`_)
- Prohibit trailing commas where there is no following new line
  (or forming a single element tuple).
  (`Issue 46 &lt;https://github.com/flake8-commas/flake8-commas/pull/46&gt;`_)
   ```
   
  
  
   ### 0.4.3
   ```
   ------------------

- Enforce trailing commas in subscript tuples and slices again.
  Regression from 0.4.2
  (`Issue 42 &lt;https://github.com/flake8-commas/flake8-commas/pull/42&gt;`_)
   ```
   
  
  
   ### 0.4.2
   ```
   ------------------

- Prevent lambda params in a parenth form enforcing a trailing comma.
  (`Issue 41 &lt;https://github.com/flake8-commas/flake8-commas/pull/41&gt;`_)
- Fix issue preventing execution on Python 2 with Flake8 3.
  (`Issue 35 &lt;https://github.com/flake8-commas/flake8-commas/issues/35&gt;`_)
- Allow bare wrapped subscript notation access.
  (`Issue 39 &lt;https://github.com/flake8-commas/flake8-commas/pull/39&gt;`_)
- Don&#39;t require comma in assert statement with parenth form.
  (`Issue 37 &lt;https://github.com/flake8-commas/flake8-commas/pull/37&gt;`_)
   ```
   
  
  
   ### 0.4.1
   ```
   ------------------

- Add the framework flake8 trove classifier.
   ```
   
  
  
   ### 0.4.0
   ```
   ------------------

- Support flake8 3.x.x.
  (`Issue 20 &lt;https://github.com/flake8-commas/flake8-commas/issue/20&gt;`_)
- No trailing comma after any function def with unpack.
- support Python 3.6 `issue9232 &lt;https://bugs.python.org/issue9232&gt;`_
  trailing commas.
  (`Issue 33 &lt;https://github.com/flake8-commas/flake8-commas/pull/33&gt;`_)
   ```
   
  
  
   ### 0.3.1
   ```
   ------------------

- Also parse unpacks with literals.
  (`Issue 30 &lt;https://github.com/flake8-commas/flake8-commas/issue/30&gt;`_)
   ```
   
  
  
   ### 0.3.0
   ```
   ------------------

- If there is a comment after the last item, do not report an error.
  (`Issue 18 &lt;https://github.com/flake8-commas/flake8-commas/issue/18&gt;`_)
- If there is an empty, tuple, list, dict, or function, do not report an error.
  (`Issue 17 &lt;https://github.com/flake8-commas/flake8-commas/issue/17&gt;`_)
- Support PEP 3132 Python 3.5+ extended unpacking.
  (`Issue 26 &lt;https://github.com/flake8-commas/flake8-commas/issue/26&gt;`_)
- `*args` should not require a trailing comma.
  (`Issue 27 &lt;https://github.com/flake8-commas/flake8-commas/issue/27&gt;`_)
   ```
   
  
  
   ### 0.2.0
   ```
   ------------------

- First version of flake8-commas with changelog
- Fix HTML readme render on PyPI.
- Support various parenth_form edge cases.
- Merge from flake8-trailing-commas
   ```
   
  
  
   ### 0.1.3
   ```
   ------------------

- Nothing changed yet.
   ```
   
  
  
   ### 0.1.2
   ```
   ------------------

- Fix HTML readme render on PyPI.
   ```
   
  
  
   ### 0.1.1
   ```
   ------------------

- Support various parenth_form edge cases.
   ```
   
  
  
   ### 0.1.0
   ```
   ------------------

- First version of flake8-trailing-commas that can be installed from PyPI
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Jan 9, 2020
77: Pin flake8 to latest version 3.7.9 r=duckinator a=pyup-bot


This PR pins [flake8](https://pypi.org/project/flake8) to the latest release **3.7.9**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.7.8
   ```
   -------------------

You can view the `3.7.8 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix handling of ``Application.parse_preliminary_options_and_args`` when
  argv is an empty list (See also `GitLab!310`_, `GitLab518`_)

- Fix crash when a file parses but fails to tokenize (See also `GitLab!314`_,
  `GitLab532`_)

- Log the full traceback on plugin exceptions (See also `GitLab!317`_)

- Fix `` noqa: ...`` comments with multi-letter codes (See also `GitLab!326`_,
  `GitLab549`_)


.. all links
.. _3.7.8 milestone:
    https://gitlab.com/pycqa/flake8/milestones/31

.. issue links
.. _GitLab518:
    https://gitlab.com/pycqa/flake8/issues/518
.. _GitLab532:
    https://gitlab.com/pycqa/flake8/issues/532
.. _GitLab549:
    https://gitlab.com/pycqa/flake8/issues/549

.. merge request links
.. _GitLab!310:
    https://gitlab.com/pycqa/flake8/merge_requests/310
.. _GitLab!314:
    https://gitlab.com/pycqa/flake8/merge_requests/314
.. _GitLab!317:
    https://gitlab.com/pycqa/flake8/merge_requests/317
.. _GitLab!326:
    https://gitlab.com/pycqa/flake8/merge_requests/326
   ```
   
  
  
   ### 3.7.7
   ```
   -------------------

You can view the `3.7.7 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix crahes in plugins causing ``flake8`` to hang while unpickling errors (See
  also `GitLab!308`_, `GitLab505`_)


.. all links
.. _3.7.7 milestone:
    https://gitlab.com/pycqa/flake8/milestones/30

.. issue links
.. _GitLab505:
    https://gitlab.com/pycqa/flake8/issues/505

.. merge request links
.. _GitLab!308:
    https://gitlab.com/pycqa/flake8/merge_requests/308
   ```
   
  
  
   ### 3.7.6
   ```
   -------------------

You can view the `3.7.6 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix ``--per-file-ignores`` for multi-letter error codes (See also
  `GitLab!303`_, `GitLab507`_)

- Improve flake8 speed when only 1 filename is passed (See also `GitLab!305`_)


.. all links
.. _3.7.6 milestone:
    https://gitlab.com/pycqa/flake8/milestones/29

.. issue links
.. _GitLab507:
    https://gitlab.com/pycqa/flake8/issues/507

.. merge request links
.. _GitLab!303:
    https://gitlab.com/pycqa/flake8/merge_requests/303
.. _GitLab!305:
    https://gitlab.com/pycqa/flake8/merge_requests/305
   ```
   
  
  
   ### 3.7.5
   ```
   -------------------

You can view the `3.7.5 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix reporting of pyflakes &quot;referenced before assignment&quot; error (See also
  `GitLab!301`_, `GitLab503`_)


.. all links
.. _3.7.5 milestone:
    https://gitlab.com/pycqa/flake8/milestones/28

.. issue links
.. _GitLab503:
    https://gitlab.com/pycqa/flake8/issues/503

.. merge request links
.. _GitLab!301:
    https://gitlab.com/pycqa/flake8/merge_requests/301
   ```
   
  
  
   ### 3.7.4
   ```
   -------------------

You can view the `3.7.4 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix performance regression with lots of ``per-file-ignores`` and errors
  (See also `GitLab!299`_, `GitLab501`_)


.. all links
.. _3.7.4 milestone:
    https://gitlab.com/pycqa/flake8/milestones/27

.. issue links
.. _GitLab501:
    https://gitlab.com/pycqa/flake8/issues/501

.. merge request links
.. _GitLab!299:
    https://gitlab.com/pycqa/flake8/merge_requests/299
   ```
   
  
  
   ### 3.7.3
   ```
   -------------------

You can view the `3.7.3 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix imports of ``typing`` in python 3.5.0 / 3.5.1 (See also `GitLab!294`_,
  `GitLab498`_)

- Fix ``flake8 --statistics`` (See also `GitLab!295`_, `GitLab499`_)

- Gracefully ignore ``flake8-per-file-ignores`` plugin if installed (See also
  `GitLab!297`_, `GitLab495`_)

- Improve error message for malformed ``per-file-ignores`` (See also
  `GitLab!298`_, `GitLab489`_)


.. all links
.. _3.7.3 milestone:
    https://gitlab.com/pycqa/flake8/milestones/26

.. issue links
.. _GitLab489:
    https://gitlab.com/pycqa/flake8/issues/489
.. _GitLab495:
    https://gitlab.com/pycqa/flake8/issues/495
.. _GitLab498:
    https://gitlab.com/pycqa/flake8/issues/498
.. _GitLab499:
    https://gitlab.com/pycqa/flake8/issues/499

.. merge request links
.. _GitLab!294:
    https://gitlab.com/pycqa/flake8/merge_requests/294
.. _GitLab!295:
    https://gitlab.com/pycqa/flake8/merge_requests/295
.. _GitLab!297:
    https://gitlab.com/pycqa/flake8/merge_requests/297
.. _GitLab!298:
    https://gitlab.com/pycqa/flake8/merge_requests/298
   ```
   
  
  
   ### 3.7.2
   ```
   -------------------

You can view the `3.7.2 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix broken ``flake8 --diff`` (regressed in 3.7.0) (See also `GitLab!292`_,
  `GitLab490`_)

- Fix typo in plugin exception reporting (See also `GitLab!275`_,
  `GitLab491`_)

- Fix ``AttributeError`` while attempting to use the legacy api (regressed in
  3.7.0) (See also `GitLab!293`_, `GitLab497`_)

.. all links
.. _3.7.2 milestone:
    https://gitlab.com/pycqa/flake8/milestones/25

.. issue links
.. _GitLab490:
    https://gitlab.com/pycqa/flake8/issues/490
.. _GitLab491:
    https://gitlab.com/pycqa/flake8/issues/491
.. _GitLab497:
    https://gitlab.com/pycqa/flake8/issues/497

.. merge request links
.. _GitLab!292:
    https://gitlab.com/pycqa/flake8/merge_requests/292
.. _GitLab!275:
    https://gitlab.com/pycqa/flake8/merge_requests/275
.. _GitLab!293:
    https://gitlab.com/pycqa/flake8/merge_requests/293
   ```
   
  
  
   ### 3.7.1
   ```
   -------------------

You can view the `3.7.1 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix capitalized filenames in ``per-file-ignores`` setting (See also
  `GitLab!290`_, `GitLab488`_)

.. all links
.. _3.7.1 milestone:
    https://gitlab.com/pycqa/flake8/milestones/24

.. issue links
.. _GitLab488:
    https://gitlab.com/pycqa/flake8/issues/488

.. merge request links
.. _GitLab!290:
    https://gitlab.com/pycqa/flake8/merge_requests/290
   ```
   
  
  
   ### 3.7.0
   ```
   -------------------

You can view the `3.7.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- Add dependency on ``entrypoints`` &gt;= 0.3, &lt; 0.4 (See also `GitLab!264`_,
  `GitLab!288`_)

- Pyflakes has been updated to &gt;= 2.1.0, &lt; 2.2.0 (See also `GitLab!283`_,
  `GitLab!285`_)

- pycodestyle has been updated to &gt;= 2.5.0, &lt; 2.6.0 (See also `GitLab!287`_)

Features
~~~~~~~~

- Add support for ``per-file-ignores`` (See also `GitLab!259`_, `GitLab156`_,
  `GitLab!281`_, `GitLab471`_)

- Enable use of ``float`` and ``complex`` option types (See also `GitLab!261`_,
  `GitLab452`_)

- Improve startup performance by switching from ``pkg_resources`` to
  ``entrypoints`` (See also `GitLab!264`_)

- Add metadata for use through the `pre-commit`_ git hooks framework (See also
  `GitLab!268`_, `GitLab!284`_)

- Allow physical line checks to return more than one result (See also
  `GitLab!269`_)

- Allow `` noqa:X123`` comments without space between the colon and codes
  list (See also `GitLab!273`_, `GitLab470`_)

- Remove broken and unused ``flake8.listen`` plugin type (See also
  `GitLab!274`_, `GitLab480`_)

.. all links
.. _3.7.0 milestone:
    https://gitlab.com/pycqa/flake8/milestones/23
.. _pre-commit:
    https://pre-commit.com/

.. issue links
.. _GitLab156:
    https://gitlab.com/pycqa/flake8/issues/156
.. _GitLab452:
    https://gitlab.com/pycqa/flake8/issues/452
.. _GitLab470:
    https://gitlab.com/pycqa/flake8/issues/470
.. _GitLab471:
    https://gitlab.com/pycqa/flake8/issues/471
.. _GitLab480:
    https://gitlab.com/pycqa/flake8/issues/480

.. merge request links
.. _GitLab!259:
    https://gitlab.com/pycqa/flake8/merge_requests/259
.. _GitLab!261:
    https://gitlab.com/pycqa/flake8/merge_requests/261
.. _GitLab!264:
    https://gitlab.com/pycqa/flake8/merge_requests/264
.. _GitLab!268:
    https://gitlab.com/pycqa/flake8/merge_requests/268
.. _GitLab!269:
    https://gitlab.com/pycqa/flake8/merge_requests/269
.. _GitLab!273:
    https://gitlab.com/pycqa/flake8/merge_requests/273
.. _GitLab!274:
    https://gitlab.com/pycqa/flake8/merge_requests/274
.. _GitLab!281:
    https://gitlab.com/pycqa/flake8/merge_requests/281
.. _GitLab!283:
    https://gitlab.com/pycqa/flake8/merge_requests/283
.. _GitLab!284:
    https://gitlab.com/pycqa/flake8/merge_requests/284
.. _GitLab!285:
    https://gitlab.com/pycqa/flake8/merge_requests/285
.. _GitLab!287:
    https://gitlab.com/pycqa/flake8/merge_requests/287
.. _GitLab!288:
    https://gitlab.com/pycqa/flake8/merge_requests/288
   ```
   
  
  
   ### 3.6.0
   ```
   -------------------

You can view the `3.6.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- pycodestyle has been updated to &gt;= 2.4.0, &lt; 2.5.0 (See also `GitLab381`_,
  `GitLab415`_, `GitLab!212`_, `GitLab!230`_, `GitLab!231`_)

- Pyflakes has been updated to &gt;= 2.0.0, &lt; 2.1.0 (See also `GitLab422`_,
  `GitLab!239`_)

- flake8 requires python 2.x &gt;= 2.7 or python 3.x &gt;= 3.4 (See also
  `GitLab!225`_)

Features
~~~~~~~~

- Add ``paths`` to allow local plugins to exist outside of ``sys.path`` (See
  also `GitLab379`_, `GitLab!211`_)

- Copy ``setup.cfg`` files to the temporary git hook execution directory (See
  also `GitLab!215`_)

- Only skip a file if `` flake8: noqa`` is on a line by itself (See also
  `GitLab453`_, `GitLab!219`_)

- Provide a better user experience for broken plugins (See also `GitLab!221`_)

- Report ``E902`` when a file passed on the command line does not exist (See
  also `GitLab405`_, `GitLab!227`_)

- Add ``--extend-ignore`` for extending the default ``ignore`` instead of
  overriding it (See also `GitLab365`_, `GitLab!233`_)

Bugs Fixed
~~~~~~~~~~

- Respect a formatter&#39;s newline setting when printing (See also `GitLab!222`_)

- Fix leaking of processes in the legacy api (See also `GitLab410`_,
  `GitLab!228`_)

- Fix a ``SyntaxWarning`` for an invalid escape sequence (See also
  `GitLab!244`_)

- Fix ``DeprecationWarning`` due to import of ``abc`` classes from the
  ``collections`` module (See also `GitLab!249`_)

- Defer ``setuptools`` import to improve flake8 startup time (See also
  `GitLab!250`_)

- Fix inconsistent line endings in ``FileProcessor.lines`` when running under
  python 3.x (See also `GitLab457`_, `GitLab!255`_)


.. all links
.. _3.6.0 milestone:
    https://gitlab.com/pycqa/flake8/milestones/21

.. issue links
.. _GitLab365:
    https://gitlab.com/pycqa/flake8/issues/365
.. _GitLab379:
    https://gitlab.com/pycqa/flake8/issues/379
.. _GitLab381:
    https://gitlab.com/pycqa/flake8/issues/381
.. _GitLab405:
    https://gitlab.com/pycqa/flake8/issues/405
.. _GitLab410:
    https://gitlab.com/pycqa/flake8/issues/410
.. _GitLab415:
    https://gitlab.com/pycqa/flake8/issues/415
.. _GitLab422:
    https://gitlab.com/pycqa/flake8/issues/422
.. _GitLab453:
    https://gitlab.com/pycqa/flake8/issues/453
.. _GitLab457:
    https://gitlab.com/pycqa/flake8/issues/457

.. merge request links
.. _GitLab!211:
    https://gitlab.com/pycqa/flake8/merge_requests/211
.. _GitLab!212:
    https://gitlab.com/pycqa/flake8/merge_requests/212
.. _GitLab!215:
    https://gitlab.com/pycqa/flake8/merge_requests/215
.. _GitLab!219:
    https://gitlab.com/pycqa/flake8/merge_requests/219
.. _GitLab!221:
    https://gitlab.com/pycqa/flake8/merge_requests/221
.. _GitLab!222:
    https://gitlab.com/pycqa/flake8/merge_requests/222
.. _GitLab!225:
    https://gitlab.com/pycqa/flake8/merge_requests/225
.. _GitLab!227:
    https://gitlab.com/pycqa/flake8/merge_requests/227
.. _GitLab!228:
    https://gitlab.com/pycqa/flake8/merge_requests/228
.. _GitLab!230:
    https://gitlab.com/pycqa/flake8/merge_requests/230
.. _GitLab!231:
    https://gitlab.com/pycqa/flake8/merge_requests/231
.. _GitLab!233:
    https://gitlab.com/pycqa/flake8/merge_requests/233
.. _GitLab!239:
    https://gitlab.com/pycqa/flake8/merge_requests/239
.. _GitLab!244:
    https://gitlab.com/pycqa/flake8/merge_requests/244
.. _GitLab!249:
    https://gitlab.com/pycqa/flake8/merge_requests/249
.. _GitLab!250:
    https://gitlab.com/pycqa/flake8/merge_requests/250
.. _GitLab!255:
    https://gitlab.com/pycqa/flake8/merge_requests/255
   ```
   
  
  
   ### 3.5.0
   ```
   -------------------

You can view the `3.5.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- Allow for PyFlakes 1.6.0 (See also `GitLab359`_)

- Start using new PyCodestyle checks for bare excepts and ambiguous identifier
  (See also `GitLab361`_)

Features
~~~~~~~~

- Print out information about configuring VCS hooks (See also `GitLab335`_)

- Allow users to develop plugins &quot;local&quot; to a repository without using
  setuptools. See our documentation on local plugins for more information.
  (See also `GitLab357`_)

Bugs Fixed
~~~~~~~~~~

- Catch and helpfully report ``UnicodeDecodeError``\ s when parsing
  configuration files. (See also `GitLab358`_)


.. all links
.. _3.5.0 milestone:
    https://gitlab.com/pycqa/flake8/milestones/20

.. issue links
.. _GitLab335:
    https://gitlab.com/pycqa/flake8/issues/335
.. _GitLab357:
    https://gitlab.com/pycqa/flake8/issues/357
.. _GitLab358:
    https://gitlab.com/pycqa/flake8/issues/358
.. _GitLab359:
    https://gitlab.com/pycqa/flake8/issues/359
.. _GitLab361:
    https://gitlab.com/pycqa/flake8/issues/361

.. merge request links
   ```
   
  
  
   ### 3.4.1
   ```
   -------------------

You can view the `3.4.1 milestone`_ on GitLab for more details.

- Fix minor regression when users specify only a ``--select`` list with items
  in the enabled/extended select list.  (See also `GitLab354`_)

.. all links
.. _3.4.1 milestone:
    https://gitlab.com/pycqa/flake8/milestones/19

.. issue links
.. _GitLab354:
    https://gitlab.com/pycqa/flake8/issues/354

.. merge request links
   ```
   
  
  
   ### 3.4.0
   ```
   -------------------

You can view the `3.4.0 milestone`_ on GitLab for more details.

- Refine logic around ``--select`` and ``--ignore`` when combined with the
  default values for each. (See also `GitLab318`_)

- Handle spaces as an alternate separate for error codes, e.g.,
  ``--ignore &#39;E123 E234&#39;``. (See also `GitLab329`_)

- Filter out empty select and ignore codes, e.g., ``--ignore E123,,E234``.
  (See also `GitLab330`_)

- Specify dependencies appropriately in ``setup.py`` (See also `Gitlab341_`)

- Fix bug in parsing ``--quiet`` and ``--verbose`` from config files.
  (See also `GitLab!193`_)

- Remove unused import of ``os`` in the git hook template (See also
  `GitLab!194`_)

.. all links
.. _3.4.0 milestone:
    https://gitlab.com/pycqa/flake8/milestones/18

.. issue links
.. _GitLab318:
    https://gitlab.com/pycqa/flake8/issues/318
.. _GitLab329:
    https://gitlab.com/pycqa/flake8/issues/329
.. _GitLab330:
    https://gitlab.com/pycqa/flake8/issues/330
.. _GitLab341:
    https://gitlab.com/pycqa/flake8/issues/341

.. merge request links
.. _GitLab!193:
    https://gitlab.com/pycqa/flake8/merge_requests/193
.. _GitLab!194:
    https://gitlab.com/pycqa/flake8/merge_requests/194
   ```
   
  
  
   ### 3.3.0
   ```
   -------------------

You can view the `3.3.0 milestone`_ on GitLab for more details.

- Add support for Python 3.6 (via dependencies). **Note** Flake8 does not
  guarantee that all plugins will support Python 3.6.

- Added unique error codes for all missing PyFlakes messages. (14 new
  codes, see &quot;Error / Violation Codes&quot;)

- Dramatically improve the performance of Flake8. (See also `GitLab!156`_)

- Display the local file path instead of the temporary file path when
  using the git hook. (See also `GitLab244`_)

- Add methods to Report class that will be called when Flake8 starts and
  finishes processing a file. (See also `GitLab251`_)

- Fix problem where hooks should only check \*.py files. (See also
  `GitLab268`_)

- Fix handling of SyntaxErrors that do not include physical line information.
  (See also `GitLab279`_)

- Update upper bound on PyFlakes to allow for PyFlakes 1.5.0.  (See also
  `GitLab290`_)

- Update setuptools integration to less eagerly deduplicate packages.
  (See also `GitLab295`_)

- Force ``flake8 --version`` to be repeatable between invocations. (See also
  `GitLab297`_)

.. all links
.. _3.3.0 milestone:
    https://gitlab.com/pycqa/flake8/milestones/16

.. issue links
.. _GitLab244:
    https://gitlab.com/pycqa/flake8/issues/244
.. _GitLab251:
    https://gitlab.com/pycqa/flake8/issues/251
.. _GitLab268:
    https://gitlab.com/pycqa/flake8/issues/268
.. _GitLab279:
    https://gitlab.com/pycqa/flake8/issues/279
.. _GitLab290:
    https://gitlab.com/pycqa/flake8/issues/290
.. _GitLab295:
    https://gitlab.com/pycqa/flake8/issues/295
.. _GitLab297:
    https://gitlab.com/pycqa/flake8/issues/297

.. merge request links
.. _GitLab!156:
    https://gitlab.com/pycqa/flake8/merge_requests/156
   ```
   
  
  
   ### 3.2.1
   ```
   -------------------

You can view the `3.2.1 milestone`_ on GitLab for more details.

- Fix subtle bug when deciding whether to report an on-by-default&#39;s violation
  (See also `GitLab257`_)

- Fix another bug around SyntaxErrors not being reported at the right column
  and row (See also `GitLab259`_ and `GitLab237`_ for a related, previously
  fixed bug)

- Fix regression from 2.x where we run checks against explicitly provided
  files, even if they don&#39;t match the filename patterns. (See also
  `GitLab266`_)

.. links
.. _3.2.1 milestone:
    https://gitlab.com/pycqa/flake8/milestones/15
.. _GitLab237:
    https://gitlab.com/pycqa/flake8/issues/237
.. _GitLab257:
    https://gitlab.com/pycqa/flake8/issues/257
.. _GitLab259:
    https://gitlab.com/pycqa/flake8/issues/259
.. _GitLab266:
    https://gitlab.com/pycqa/flake8/issues/266
   ```
   
  
  
   ### 3.2.0
   ```
   -------------------

You can view the `3.2.0 milestone`_ on GitLab for more details.

- Allow for pycodestyle 2.2.0 which fixes a bug in E305 (See also
  `GitLab256`_)

.. links
.. _3.2.0 milestone:
    https://gitlab.com/pycqa/flake8/milestones/14
.. _GitLab256:
    https://gitlab.com/pycqa/flake8/issues/256
   ```
   
  
  
   ### 3.1.1
   ```
   -------------------

You can view the `3.1.1 milestone`_ on GitLab for more details.

- Do not attempt to install/distribute a ``man`` file with the Python package;
  leave this for others to do. (See also `GitLab254`_)

- Fix packaging bug where wheel version constraints specified in setup.cfg did
  not match the constraints in setup.py. (See also `GitLab255`_)

.. links
.. _3.1.1 milestone:
    https://gitlab.com/pycqa/flake8/milestones/13
.. _GitLab254:
    https://gitlab.com/pycqa/flake8/issues/254
.. _GitLab255:
    https://gitlab.com/pycqa/flake8/issues/255
   ```
   
  
  
   ### 3.1.0
   ```
   -------------------

You can view the `3.1.0 milestone`_ on GitLab for more details.

- Add ``--bug-report`` flag to make issue reporters&#39; lives easier.

- Collect configuration files from the current directory when using our Git
  hook. (See also `GitLab210`_, `GitLab218`_, `GitLab223`_)

- Avoid unhandled exceptions when dealing with SyntaxErrors. (See also
  `GitLab214`_, `GitLab238`_)

- Exit early if the value for ``--diff`` is empty. (See also `GitLab226`_)

- Handle empty ``--stdin-display-name`` values. (See also `GitLab235`_)

- Properly report the column number of Syntax Errors. We were assuming that
  all reports of column numbers were 0-indexed, however, SyntaxErrors report
  the column number as 1-indexed. This caused us to report a column number
  that was 1 past the actual position. Further, when combined with
  SyntaxErrors that occur at a newline, this caused the position to be
  visually off by two. (See also `GitLab237`_)

- Fix the behaviour of ``--enable-extensions``. Previously, items specified
  here were still ignored due to the fact that the off-by-default extension
  codes were being left in the ``ignore`` list. (See also `GitLab239`_)

- Fix problems around ``--select`` and ``--ignore`` behaviour that prevented
  codes that were neither explicitly selected nor explicitly ignored from
  being reported. (See also `GitLab242`_)

- Truly be quiet when the user specifies ``-q`` one or more times. Previously,
  we were showing the if the user specified ``-q`` and ``--show-source``. We
  have fixed this bug. (See also `GitLab245`_)

- Add new File Processor attribute, ``previous_unindented_logical_line`` to
  accommodate pycodestyle 2.1.0. (See also `GitLab246`_)

- When something goes wrong, exit non-zero. (See also `GitLab248`_,
  `GitLab209`_)

- Add ``--tee`` as an option to allow use of ``--output-file`` and printing to
  standard out.

- Allow the git plugin to actually be lazy when collecting files.

- Allow for pycodestyle 2.1 series and pyflakes 1.3 series.

.. links
.. _3.1.0 milestone:
    https://gitlab.com/pycqa/flake8/milestones/12
.. _GitLab209:
    https://gitlab.com/pycqa/flake8/issues/209
.. _GitLab210:
    https://gitlab.com/pycqa/flake8/issues/210
.. _GitLab214:
    https://gitlab.com/pycqa/flake8/issues/214
.. _GitLab218:
    https://gitlab.com/pycqa/flake8/issues/218
.. _GitLab223:
    https://gitlab.com/pycqa/flake8/issues/223
.. _GitLab226:
    https://gitlab.com/pycqa/flake8/issues/226
.. _GitLab235:
    https://gitlab.com/pycqa/flake8/issues/235
.. _GitLab237:
    https://gitlab.com/pycqa/flake8/issues/237
.. _GitLab238:
    https://gitlab.com/pycqa/flake8/issues/238
.. _GitLab239:
    https://gitlab.com/pycqa/flake8/issues/239
.. _GitLab242:
    https://gitlab.com/pycqa/flake8/issues/242
.. _GitLab245:
    https://gitlab.com/pycqa/flake8/issues/245
.. _GitLab246:
    https://gitlab.com/pycqa/flake8/issues/246
.. _GitLab248:
    https://gitlab.com/pycqa/flake8/issues/248
   ```
   
  
  
   ### 3.0.4
   ```
   -------------------

- Side-step a Pickling Error when using Flake8 with multiprocessing on Unix
  systems. (See also `GitLab164`_)

- Fix an Attribute Error raised when dealing with Invalid Syntax. (See also
  `GitLab203`_)

- Fix an unhandled Syntax Error when tokenizing files. (See also
  `GitLab205`_)


.. links
.. _GitLab164:
    https://gitlab.com/pycqa/flake8/issues/164
.. _GitLab203:
    https://gitlab.com/pycqa/flake8/issues/203
.. _GitLab205:
    https://gitlab.com/pycqa/flake8/issues/205
   ```
   
  
  
   ### 3.0.3
   ```
   -------------------

- Disable ``--jobs`` for any version of Python on Windows.
  (See also `this Python bug report`_)

- Raise exception when entry_point in plugin not callable.
  This raises an informative error when a plugin fails to load because its
  entry_point is not callable, which can happen with a plugin which is buggy or
  not updated for the current version of flake8. This is nicer than raising a
  `PicklingError` about failing to pickle a module (See also `GitLab164`_)

- Fix `` noqa`` comments followed by a ``:`` and explanation broken by
  3.0.0 (See also `GitLab178`_)

- Always open our output file in append mode so we do not overwrite log
  messages. (See also `GitLab193`_)

- When normalizing path values read from configuration, keep in context the
  directory where the configuration was found so that relative paths work.
  (See also `GitLab194`_)

- Fix issue where users were unable to ignore plugin errors that were on
  by default. (See also `GitLab195`_)

- Fix our legacy API StyleGuide&#39;s ``init_report`` method to actually override
  the previous formatter. (See also `GitLab200`_)


.. links
.. _GitLab164:
    https://gitlab.com/pycqa/flake8/issues/164
.. _GitLab178:
    https://gitlab.com/pycqa/flake8/issues/178
.. _GitLab193:
    https://gitlab.com/pycqa/flake8/issues/193
.. _GitLab194:
    https://gitlab.com/pycqa/flake8/issues/193
.. _GitLab195:
    https://gitlab.com/pycqa/flake8/issues/195
.. _GitLab200:
    https://gitlab.com/pycqa/flake8/issues/200
.. _this Python bug report:
    https://bugs.python.org/issue27649
   ```
   
  
  
   ### 3.0.2
   ```
   -------------------

- Fix local config file discovery.  (See also `GitLab181`_)

- Fix indexing of column numbers. We accidentally were starting column indices
  at 0 instead of 1.

- Fix regression in handling of errors like E402 that rely on a combination of
  attributes. (See also `GitLab186`_)


.. links
.. _GitLab181:
    https://gitlab.com/pycqa/flake8/issues/181
.. _GitLab186:
    https://gitlab.com/pycqa/flake8/issues/186
   ```
   
  
  
   ### 3.0.1
   ```
   -------------------

- Fix regression in handling of `` noqa`` for multiline strings.
  (See also `GitLab177`_)

- Fix regression in handling of ``--output-file`` when not also using
  ``--verbose``. (See also `GitLab180`_)

- Fix regression in handling of ``--quiet``. (See also `GitLab180`_)

- Fix regression in handling of ``--statistics``. (See also `GitLab180`_)


.. links
.. _GitLab177:
    https://gitlab.com/pycqa/flake8/issues/177
.. _GitLab180:
    https://gitlab.com/pycqa/flake8/issues/180
   ```
   
  
  
   ### 3.0.0
   ```
   -------------------

- Rewrite our documentation from scratch! (http://flake8.pycqa.org)

- Drop explicit support for Pythons 2.6, 3.2, and 3.3.

- Remove dependence on pep8/pycodestyle for file processing, plugin
  dispatching, and more. We now control all of this while keeping backwards
  compatibility.

- ``--select`` and ``--ignore`` can now both be specified and try to find the
  most specific rule from each. For example, if you do ``--select E --ignore
  E123`` then we will report everything that starts with ``E`` except for
  ``E123``. Previously, you would have had to do ``--ignore E123,F,W`` which
  will also still work, but the former should be far more intuitive.

- Add support for in-line `` noqa`` comments to specify **only** the error
  codes to be ignored, e.g., `` noqa: E123,W503``

- Add entry-point for formatters as well as a base class that new formatters
  can inherit from. See the documentation for more details.

- Add detailed verbose output using the standard library logging module.

- Enhance our usage of optparse for plugin developers by adding new parameters
  to the ``add_option`` that plugins use to register new options.

- Update ``--install-hook`` to require the name of version control system hook
  you wish to install a Flake8.

- Stop checking sub-directories more than once via the setuptools command

- When passing a file on standard-in, allow the caller to specify
  ``--stdin-display-name`` so the output is properly formatted

- The Git hook now uses ``sys.executable`` to format the shebang line.
  This allows Flake8 to install a hook script from a virtualenv that points to
  that virtualenv&#39;s Flake8 as opposed to a global one (without the virtualenv
  being sourced).

- Print results in a deterministic and consistent ordering when used with
  multiprocessing

- When using ``--count``, the output is no longer written to stderr.

- AST plugins can either be functions or classes and all plugins can now
  register options so long as there are callable attributes named as we
  expect.

- Stop forcibly re-adding ``.tox``, ``.eggs``, and ``*.eggs`` to
  ``--exclude``. Flake8 2.x started always appending those three patterns
  to any exclude list (including the default and any user supplied list).
  Flake8 3 has stopped adding these in, so you may see errors when upgrading
  due to these patterns no longer being forcibly excluded by default if you
  have your own exclude patterns specified.

  To fix this, add the appropriate patterns to your exclude patterns list.

  .. note::

      This item was added in November of 2016, as a result of a bug
      report.
   ```
   
  
  
   ### 2.6.2
   ```
   ------------------

- **Bug** Fix packaging error during release process.
   ```
   
  
  
   ### 2.6.1
   ```
   ------------------

- **Bug** Update the config files to search for to include ``setup.cfg`` and
  ``tox.ini``. This was broken in 2.5.5 when we stopped passing
  ``config_file`` to our Style Guide
   ```
   
  
  
   ### 2.6.0
   ```
   ------------------

- **Requirements Change** Switch to pycodestyle as all future pep8 releases
  will use that package name

- **Improvement** Allow for Windows users on *select* versions of Python to
  use ``--jobs`` and multiprocessing

- **Improvement** Update bounds on McCabe

- **Improvement** Update bounds on PyFlakes and blacklist known broken
  versions

- **Improvement** Handle new PyFlakes warning with a new error code: F405
   ```
   
  
  
   ### 2.5.5
   ```
   ------------------

- **Bug** Fix setuptools integration when parsing config files

- **Bug** Don&#39;t pass the user&#39;s config path as the config_file when creating a
  StyleGuide
   ```
   
  
  
   ### 2.5.4
   ```
   ------------------

- **Bug** Missed an attribute rename during the v2.5.3 release.
   ```
   
  
  
   ### 2.5.3
   ```
   ------------------

- **Bug** Actually parse ``output_file`` and ``enable_extensions`` from config
  files
   ```
   
  
  
   ### 2.5.2
   ```
   ------------------

- **Bug** Parse ``output_file`` and ``enable_extensions`` from config files

- **Improvement** Raise upper bound on mccabe plugin to allow for version
  0.4.0
   ```
   
  
  
   ### 2.5.1
   ```
   ------------------

- **Bug** Properly look for ``.flake8`` in current working directory
  (`GitLab103`_)

- **Bug** Monkey-patch ``pep8.stdin_get_value`` to cache the actual value in
  stdin. This helps plugins relying on the function when run with
  multiprocessing. (`GitLab105`_, `GitLab107`_)

.. _GitLab103: https://gitlab.com/pycqa/flake8/issues/103
.. _GitLab105: https://gitlab.com/pycqa/flake8/issues/105
.. _GitLab107: https://gitlab.com/pycqa/flake8/issues/107
   ```
   
  
  
   ### 2.5.0
   ```
   ------------------

- **Improvement** Raise cap on PyFlakes for Python 3.5 support

- **Improvement** Avoid deprecation warnings when loading extensions
  (`GitLab59`_, `GitLab90`_)

- **Improvement** Separate logic to enable &quot;off-by-default&quot; extensions
  (`GitLab67`_)

- **Bug** Properly parse options to setuptools Flake8 command (`GitLab!41`_)

- **Bug** Fix exceptions when output on stdout is truncated before Flake8
  finishes writing the output (`GitLab69`_)

- **Bug** Fix error on OS X where Flake8 can no longer acquire or create new
  semaphores (`GitLab74`_)

.. _GitLab!41: https://gitlab.com/pycqa/flake8/merge_requests/41
.. _GitLab59: https://gitlab.com/pycqa/flake8/issues/59
.. _GitLab67: https://gitlab.com/pycqa/flake8/issues/67
.. _GitLab69: https://gitlab.com/pycqa/flake8/issues/69
.. _GitLab74: https://gitlab.com/pycqa/flake8/issues/74
.. _GitLab90: https://gitlab.com/pycqa/flake8/issues/90
   ```
   
  
  
   ### 2.4.1
   ```
   ------------------

- **Bug** Do not raise a ``SystemError`` unless there were errors in the
  setuptools command. (`GitLab39`_, `GitLab!23`_)

- **Bug** Do not verify dependencies of extensions loaded via entry-points.

- **Improvement** Blacklist versions of pep8 we know are broken

.. _GitLab39: https://gitlab.com/pycqa/flake8/issues/39
.. _GitLab!23: https://gitlab.com/pycqa/flake8/merge_requests/23
   ```
   
  
  
   ### 2.4.0
   ```
   ------------------

- **Bug** Print filenames when using multiprocessing and ``-q`` option.
  (`GitLab31`_)

- **Bug** Put upper cap on dependencies. The caps for 2.4.0 are:

  - ``pep8 &lt; 1.6`` (Related to `GitLab35`_)

  - ``mccabe &lt; 0.4``

  - ``pyflakes &lt; 0.9``

  See also `GitLab32`_

- **Bug** Files excluded in a config file were not being excluded when flake8
  was run from a git hook. (`GitHub2`_)

- **Improvement** Print warnings for users who are providing mutually
  exclusive options to flake8. (`GitLab8`_, `GitLab!18`_)

- **Feature** Allow git hook configuration to live in ``.git/config``.
  See the updated `VCS hooks docs`_ for more details. (`GitLab!20`_)

.. _GitHub2: PyCQA/flake8#2
.. _GitLab8: https://gitlab.com/pycqa/flake8/issues/8
.. _GitLab31: https://gitlab.com/pycqa/flake8/issues/31
.. _GitLab32: https://gitlab.com/pycqa/flake8/issues/32
.. _GitLab35: https://gitlab.com/pycqa/flake8/issues/35
.. _GitLab!18: https://gitlab.com/pycqa/flake8/merge_requests/18
.. _GitLab!20: https://gitlab.com/pycqa/flake8/merge_requests/20
.. _VCS hooks docs: https://flake8.readthedocs.io/en/latest/user/using-hooks.html
   ```
   
  
  
   ### 2.3.0
   ```
   ------------------

- **Feature**: Add ``--output-file`` option to specify a file to write to
  instead of ``stdout``.

- **Bug** Fix interleaving of output while using multiprocessing
  (`GitLab17`_)

.. _GitLab17: https://gitlab.com/pycqa/flake8/issues/17
   ```
   
  
  
   ### 2.2.5
   ```
   ------------------

- Flush standard out when using multiprocessing

- Make the check for &quot; flake8: noqa&quot; more strict
   ```
   
  
  
   ### 2.2.4
   ```
   ------------------

- Fix bugs triggered by turning multiprocessing on by default (again)

  Multiprocessing is forcibly disabled in the following cases:

  - Passing something in via stdin

  - Analyzing a diff

  - Using windows

- Fix --install-hook when there are no config files present for pep8 or
  flake8.

- Fix how the setuptools command parses excludes in config files

- Fix how the git hook determines which files to analyze (Thanks Chris
  Buccella!)
   ```
   
  
  
   ### 2.2.3
   ```
   ------------------

- Actually turn multiprocessing on by default
   ```
   
  
  
   ### 2.2.2
   ```
   ------------------

- Re-enable multiprocessing by default while fixing the issue Windows users
  were seeing.
   ```
   
  
  
   ### 2.2.1
   ```
   ------------------

- Turn off multiple jobs by default. To enable automatic use of all CPUs, use
  ``--jobs=auto``. Fixes 155 and 154.
   ```
   
  
  
   ### 2.2.0
   ```
   ------------------

- New option ``doctests`` to run Pyflakes checks on doctests too
- New option ``jobs`` to launch multiple jobs in parallel
- Turn on using multiple jobs by default using the CPU count
- Add support for ``python -m flake8`` on Python 2.7 and Python 3
- Fix Git and Mercurial hooks: issues 88, 133, 148 and 149
- Fix crashes with Python 3.4 by upgrading dependencies
- Fix traceback when running tests with Python 2.6
- Fix the setuptools command ``python setup.py flake8`` to read
  the project configuration
   ```
   
  
  
   ### 2.1.0
   ```
   ------------------

- Add FLAKE8_LAZY and FLAKE8_IGNORE environment variable support to git and
  mercurial hooks
- Force git and mercurial hooks to repsect configuration in setup.cfg
- Only check staged files if that is specified
- Fix hook file permissions
- Fix the git hook on python 3
- Ignore non-python files when running the git hook
- Ignore .tox directories by default
- Flake8 now reports the column number for PyFlakes messages
   ```
   
  
  
   ### 2.0.0
   ```
   ------------------

- Pyflakes errors are prefixed by an ``F`` instead of an ``E``
- McCabe complexity warnings are prefixed by a ``C`` instead of a ``W``
- Flake8 supports extensions through entry points
- Due to the above support, we **require** setuptools
- We publish the `documentation &lt;https://flake8.readthedocs.io/&gt;`_
- Fixes 13: pep8, pyflakes and mccabe become external dependencies
- Split run.py into main.py, engine.py and hooks.py for better logic
- Expose our parser for our users
- New feature: Install git and hg hooks automagically
- By relying on pyflakes (0.6.1), we also fixed 45 and 35
   ```
   
  
  
   ### 1.7.0
   ```
   ------------------

- Fixes part of 35: Exception for no WITHITEM being an attribute of Checker
  for Python 3.3
- Support stdin
- Incorporate phd&#39;s builtins pull request
- Fix the git hook
- Update pep8.py to the latest version
   ```
   
  
  
   ### 1.6.2
   ```
   ------------------

- fixed the NameError: global name &#39;message&#39; is not defined (46)
   ```
   
  
  
   ### 1.6.1
   ```
   ------------------

- fixed the mercurial hook, a change from a previous patch was not properly
  applied
- fixed an assumption about warnings/error messages that caused an exception
  to be thrown when McCabe is used
   ```
   
  
  
   ### 1.6
   ```
   ----------------

- changed the signatures of the ``check_file`` function in flake8/run.py,
  ``skip_warning`` in flake8/util.py and the ``check``, ``checkPath``
  functions in flake8/pyflakes.py.
- fix ``--exclude`` and ``--ignore`` command flags (14, 19)
- fix the git hook that wasn&#39;t catching files not already added to the index
  (29)
- pre-emptively includes the addition to pep8 to ignore certain lines.
  Add `` nopep8`` to the end of a line to ignore it. (37)
- ``check_file`` can now be used without any special prior setup (21)
- unpacking exceptions will no longer cause an exception (20)
- fixed crash on non-existent file (38)
   ```
   
  
  
   ### 1.5
   ```
   ----------------

- fixed the stdin
- make sure mccabe catches the syntax errors as warnings
- pep8 upgrade
- added max_line_length default value
- added Flake8Command and entry points if setuptools is around
- using the setuptools console wrapper when available
   ```
   
  
  
   ### 1.4
   ```
   ----------------

- git_hook: Only check staged changes for compliance
- use pep8 1.2
   ```
   
  
  
   ### 1.3.1
   ```
   ------------------

- fixed support for Python 2.5
   ```
   
  
  
   ### 1.3
   ```
   ----------------

- fixed false W402 warning on exception blocks.
   ```
   
  
  
   ### 1.2
   ```
   ----------------

- added a git hook
- now Python 3 compatible
- mccabe and pyflakes have warning codes like pep8 now
   ```
   
  
  
   ### 1.1
   ```
   ----------------

- fixed the value returned by --version
- allow the flake8: header to be more generic
- fixed the &quot;hg hook raises &#39;physical lines&#39;&quot; bug
- allow three argument form of raise
- now uses setuptools if available, for &#39;develop&#39; command
   ```
   
  
  
   ### 1.0
   ```
   ----------------

- Deactivates by default the complexity checker
- Introduces the complexity option in the HG hook and the command line.
   ```
   
  
  
   ### 0.9
   ```
   ----------------

- update pep8 version to 0.6.1
- mccabe check: gracefully handle compile failure
   ```
   
  
  
   ### 0.8
   ```
   ----------------

- fixed hg hook
- discard unexisting files on hook check
   ```
   
  
  
   ### 0.7
   ```
   ----------------

- Fix pep8 initialization when run through Hg
- Make pep8 short options work when run through the command line
- Skip duplicates when controlling files via Hg
   ```
   
  
  
   ### 0.6
   ```
   ----------------

- Fix the McCabe metric on some loops
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/flake8
  - Changelog: https://pyup.io/changelogs/flake8/
  - Repo: https://gitlab.com/pycqa/flake8
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Jan 11, 2020
88: Pin pytest-pylint to latest version 0.14.1 r=duckinator a=pyup-bot


This PR pins [pytest-pylint](https://pypi.org/project/pytest-pylint) to the latest release **0.14.1**.



<details>
  <summary>Changelog</summary>
  
  
  
  
  
  
  
  
   ### 0.6.0
   ```
   - New feature contributed by sebastianstigler to run only pylint with `-m pylint`
- Version dependencies updated by onovy
   ```
   
  
</details>


 

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



89: Pin pydocstyle to latest version 5.0.2 r=duckinator a=pyup-bot


This PR pins [pydocstyle](https://pypi.org/project/pydocstyle) to the latest release **5.0.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 2.0.0
   ```
   Major Updates

Support for numpy conventions verification has been added (129, 226).
Support for Python 2.6 has been dropped (206, 217).
Support for PyPy3 has been temporarily dropped, until it will be equivalent to CPython 3.3+ and supported by pip (223).
Support for the pep257 console script has been dropped. Only the pydocstyle console script should be used (216, 218).
Errors are now printed to stdout instead of stderr (201, 210).

 New Features

Decorator-based skipping via --ignore-decorators has been added (204).
Support for using pycodestyle style wildcards has been added (72, 209).
Superfluous opening quotes are now reported as part of D300 (166, 225).
Fixed a false-positive recognition of D410 and added D412 (230, 233).
Added --config=&lt;path&gt; flag to override the normal config file discovery and choose a specific config file (117, 247).
Support for specifying error codes with partial prefix has been added, e.g., --select=D101,D2 (72, 209).
All configuration file can now have the .ini extension (237).
Added better imperative mood checks using third party stemmer (235, 68).

 Bug Fixes

Made parser more robust to bad source files (168, 214)
Modules are now considered private if their name starts with a single underscore. This is a bugfix where “public module” (D100) was reported regardless of module name (199, 222).
Removed error when __all__ is a list (62, 227).
Fixed a bug where the  sign was used as a matrix multiplication operator in Python 3.5, but was considered a decorator by the parser (246, 191).
   ```
   
  
  
   ### 1.1.1
   ```
   Bug Fixes
- Fixed an issue where the `flake8-docstrings` failed when accessing some public API from `pydocstyle`.
   ```
   
  
  
   ### 1.1.0
   ```
   Major Updates
- pydocstyle is no longer a single file. This might make it difficult for some users to just add it to their project, but the project has reached certain complexity where splitting it into modules was necessary (200).

 New Features
- Added the optional error codes D212 and D213, for checking whether the summary of a multi-line docstring starts at the first line, respectively at the second line (174).
- Added D404 - First word of the docstring should not be “This”. It is turned off by default (183).
- Added the ability to ignore specific function and method docstrings with inline comments:  
  “ noqa” skips all checks.  
  “ noqa: D102,D203” can be used to skip specific checks.

 Bug Fixes
- Fixed an issue where file paths were printed in lower case (179, 181).
- The error code D300 is now also being reported if a docstring has uppercase literals (R or U) as prefix (176).
- Fixed a bug where an **all** error was reported when **all** was imported from another module with a different name (182, 187).
- Fixed a bug where raise X from Y syntax caused pydocstyle to crash (196, 200).
   ```
   
  
  
  
  
   ### 0.7.0
   ```
   New Features
- Added the D104 error code - &quot;Missing docstring in public package&quot;. This new
  error is turned on by default. Missing docstring in `__init__.py` files which
  previously resulted in D100 errors (&quot;Missing docstring in public module&quot;)
  will now result in D104 (105, 127).
- Added the D105 error code - &quot;Missing docstring in magic method&#39;. This new
  error is turned on by default. Missing docstrings in magic method which
  previously resulted in D102 error (&quot;Missing docstring in public method&quot;)
  will now result in D105. Note that exceptions to this rule are variadic
  magic methods - specifically `__init__`, `__call__` and `__new__`, which
  will be considered non-magic and missing docstrings in them will result
  in D102 (60, 139).
- Support the option to exclude all error codes. Running pep257 with
  `--select=` (or `select=` in the configuration file) will exclude all errors
  which could then be added one by one using `add-select`. Useful for projects
  new to pep257 (132, 135).
- Added check D211: No blank lines allowed before class docstring. This change
  is a result of a change to the official PEP257 convention. Therefore, D211
  will now be checked by default instead of D203, which required a single
  blank line before a class docstring (137).
- Configuration files are now handled correctly. The closer a configuration file
  is to a checked file the more it matters.
  Configuration files no longer support `explain`, `source`, `debug`,
  `verbose` or `count` (133).

Bug Fixes
- On Python 2.x, D302 (&quot;Use u&quot;&quot;&quot; for Unicode docstrings&quot;) is not reported
  if `unicode_literals` is imported from `__future__` (113, 134).
- Fixed a bug where there was no executable for `pep257` on Windows (73,
  136).
   ```
   
  
  
   ### 0.6.0
   ```
   New Features
- Added support for more flexible error selections using `--ignore`,
  `--select`, `--convention`, `--add-ignore` and `--add-select`
  (96, 123).

Bug Fixes
- Property setter and deleter methods are now treated as private and do not
  require docstrings separate from the main property method (69, 107).
- Fixed an issue where pep257 did not accept docstrings that are both
  unicode and raw in Python 2.x (116, 119).
- Fixed an issue where Python 3.x files with Unicode encodings were
  not read correctly (118).
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
Co-authored-by: Ellen Marie Dash <the@smallest.dog>
bors bot added a commit that referenced this issue Jan 13, 2020
92: Pin pylint to latest version 2.4.4 r=duckinator a=pyup-bot


This PR pins [pylint](https://pypi.org/project/pylint) to the latest release **2.4.4**.



<details>
  <summary>Changelog</summary>
  
  
   ### 2.4.4
   ```
   ===========================
Release date: 2019-11-13

* Exempt all the names found in type annotations from ``unused-import``

  The previous code was assuming that only ``typing`` names need to be
  exempted, but we need to do that for the rest of the type comment
  names as well.

  Close 3112

* Relax type import detection for names that do not come from the ``typing`` module

  Close 3191
   ```
   
  
  
   ### 2.4.3
   ```
   ===========================

Release date: 2019-10-18

* Fix an issue with ``unnecessary-comprehension`` in comprehensions with additional repacking of elements.

  Close 3148

* ``import-outside-toplevel`` is emitted for ``ImportFrom`` nodes as well.

  Close 3175

* Do not emit ``no-method-argument`` for functions using positional only args.

  Close 3161

* ``consider-using-sys-exit`` is no longer emitted when `exit` is imported in the local scope.

  Close 3147

* `invalid-overridden-method` takes `abc.abstractproperty` in account

  Close 3150

* Fixed ``missing-yield-type-doc`` getting incorrectly raised when
  a generator does not document a yield type but has a type annotation.

  Closes 3185

* ``typing.overload`` functions are exempted from ``too-many-function-args``

  Close 3170
   ```
   
  
  
   ### 2.4.2
   ```
   ===========================

Release date: 2019-09-30


* ``ignored-modules`` can skip submodules. Close 3135

* ``self-assigning-variable`` skips class level assignments.

   Close 2930

* ``consider-using-sys-exit`` is exempted when `exit()` is imported from `sys`

   Close 3145

* Exempt annotated assignments without variable from ``class-variable-slots-conflict``

  Close 3141

* Fix ``utils.is_error`` to account for functions returning early.

  This fixes a false negative with ``unused-variable`` which was no longer triggered
  when a function raised an exception as the last instruction, but the body of the function
  still had unused variables.

  Close 3028
   ```
   
  
  
   ### 2.4.1
   ```
   ===========================

Release date: 2019-09-25


* Exempt type checking definitions defined in both clauses of a type checking guard

  Close 3127


* Exempt type checking definitions inside the type check guard

  In a7f236528bb3758886b97285a56f3f9ce5b13a99 we added basic support
  for emitting `used-before-assignment` if a variable was only defined
  inside a type checking guard (using `TYPE_CHECKING` variable from `typing`)
  Unfortunately that missed the case of using those type checking imports
  inside the guard itself, which triggered spurious used-before-assignment errors.

  Close 3119

* Require astroid &gt;= 2.3 to avoid any compatibility issues.
   ```
   
  
  
   ### 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&#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&#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&#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&#39;ll have support for call context
  propagation, we&#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&#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&#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&#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.
   ```
   
  
  
   ### 2.3.0
   ```
   ===========================

Release date: 2019-02-27

* Protect against `NonDeducibleTypeHierarchy` when calling semi-private `is_subtype`

  `astroid.helpers.is_subtype` raises `NonDeducibleTypeHierarchy` when it cannot infer
  the base classes of the given types, but that makes sense in its context given that
  the method is mostly used to inform the inference process about the hierarchy of classes.
  Doesn&#39;t make that much sense for ``pylint`` itself, which is why we&#39;re handling the
  exception here, rather than in ``astroid``

  Close PyCQA/astroid644

* Added a new command line option ``list-groups`` for listing all the check groups ``pylint`` knows about.

* Allow ``BaseException`` for emitting ``broad-except``, just like ``Exception``.

  Close 2741

* Fixed a crash that occurred for ``bad-str-strip-call`` when ``strip()`` received ``None``

  Close 2743

* Don&#39;t emit ``*-not-iterating`` checks for builtins consumed by ``itertools``

  Close 2731

* Fix a crash caused by iterating over ``Uninferable`` in a string formatting check.

  Close 2727

* Fixed false positives for ``no-self-argument`` and ``unsubscriptable-object`` when using ``__class_getitem__`` (new in Python 3.7)

  Close 2416

* Support ``Ellipsis`` as a synonym for ``pass`` statements.

  Close 2718

* ``fixme`` gets triggered only on comments.

  Close 2321

* Fixed a false positive for ``unused-variable`` and ``nonlocal`` assignments

  Close 2671

* Added ``load_configuration()`` hook for plugins

  New optional hook for plugins is added: ``load_configuration()``.
  This hook is executed after configuration is loaded to prevent
  overwriting plugin specific configuration via user-based
  configuration.

  Close 2635

* Fix missing-raises-doc false positive (W9006)

  Close 1502

* Exempt starred unpacking from ``*-not-iterating`` Python 3 checks

  Close 2651

* Make ``compare-to-zero`` less zealous by checking against equality and identity

  Close 2645

* Add ``no-else-raise`` warning (R1720)

  Close 2558

* Exempt ``yield from`` from ``*-not-iterating`` Python 3 checks.

  Close 2643

* Fix incorrect generation of ``no-else-return`` warnings (R1705)

  Fixed issue where ``if`` statements with nested ``if`` statements
  were incorrectly being flagged as ``no-else-return`` in some cases and
  not being flagged as ``no-else-return`` in other cases.  Added tests
  for verification and updated pylint source files to eliminate newly
  exposed warnings.

* Fix false positive with `not-async-context-manager` caused by not understanding `contextlib.asynccontextmanager`

  Close 2440

* Refactor ``bad-reversed-sequence`` to account for more objects that can define ``__reversed__``

  One such object would be an enum class, for which ``__reversed__`` yields each individual enum.
  As such, the check for ``bad-reversed-sequence`` needs to not differentiate between classes
  and instances when it comes for checking of ``__reversed__`` presence.

  Close 2598

* Added ``wrong-exception-operation``

  Used when an operation is done against an exception, but the operation
  is not valid for the exception in question. Usually emitted when having
  binary operations between exceptions in except handlers.

  Close 2494

* ``no-member`` is emitted for enums when they lack a member

  Previously we weren&#39;t doing this because we detected a
  ``__getattr__`` implementation on the ``Enum`` class
  (and this check is skipped for classes with ``__getattr__``),
  but that is fine for Enums, given that they are inferred in a customised
  way in astroid.

  Close 2565

* Generalize ``chained-comparison``

  Previous version incorrectly detects `a &lt; b &lt; c and b &lt; d` and fails to
  detect `a &lt; b &lt; c and c &lt; d`.

* Avoid popping __main__ when using multiple jobs

  Close 2689

* Add a new option &#39;check-str-concat-over-line-jumps&#39; to check &#39;implicit-str-concat-in-sequence&#39;

* Fixes for the new style logging format linter.

  The number of arguments was not handled properly, leading to an always
  successful check.

* Fix false positive ``not-callable`` for uninferable properties.

* Fix false positive ``useless-else-on-loop`` if the break is deep in the else
  of an inner loop.

* Minor improvements to the help text for a few options.
   ```
   
  
  
   ### 2.2.2
   ```
   ===========================

Release date: 2018-11-28

* Change the ``logging-format-style`` to use name identifier instead of their
  corresponding Python identifiers

  This is to prevent users having to think about escaping the default value for
  ``logging-format-style`` in the generated config file. Also our config parsing
  utilities don&#39;t quite support escaped values when it comes to ``choices`` detection,
  so this would have needed various hacks around that.

  Closes 2614
   ```
   
  
  
   ### 2.2.1
   ```
   ===========================

Release date: 2018-11-27

* Fix a crash caused by `implicit-str-concat-in-sequence` and multi-bytes characters.

  Closes 2610
   ```
   
  
  
   ### 2.2
   ```
   =========================

Release date: 2018-11-25

   * Consider ``range()`` objects for ``undefined-loop-variable`` leaking from iteration.

     Close 2533

   * ``deprecated-method`` can use the attribute name for identifying a deprecated method

     Previously we were using the fully qualified name, which we still do, but the fully
     qualified name for some ``unittest`` deprecated aliases leads to a generic
     deprecation function. Instead on relying on that, we now also rely on the attribute
     name, which should solve some false positives.

     Close 1653
     Close 1946

   * Fix compatibility with changes to stdlib tokenizer.

   * ``pylint`` is less eager to consume the whole line for pragmas

     Close 2485

   * Obtain the correct number of CPUs for virtualized or containerized environments.

     Close 2519

   * Change ``unbalanced-tuple-unpacking`` back to a warning.

     It used to be a warning until a couple of years ago, after it was promoted to
     an error. But the check might be suggesting the wrong thing in some cases,
     for instance when checking against ``sys.argv`` which cannot be known at static
     analysis time. Given it might rely on potential unknown data, it&#39;s best to
     have it as a warning.

     Close 2522

   * Remove ``enumerate`` usage suggestion when defining ``__iter__`` (C0200)

     Close 2477

   * Emit ``too-many-starred-assignment`` only when the number of Starred nodes is per assignment elements

     Close 2513

   * `try-except-raise` checker now handles multilevel inheritance hirerachy for exceptions correctly.

     Close 2484

   * Add a new check, ``simplifiable-if-expression`` for expressions like ``True if cond else False``.

     Close 2487

   * ``too-few-public-methods`` is not reported for ``typing.NamedTuple``

     Close 2459

   * too-few-public-methods`` is not reported for dataclasses created with options.

     Close 2488

   * Remove wrong modules from &#39;bad-python3-import&#39;.

     Close 2453

   * The ``json`` reporter prints an empty list when no messages are emitted

     Close 2446

   * Add a new check, ``duplicate-string-formatting-argument``

     This new check is emitted whenever a duplicate string formatting argument
     is found.

     Close 497

   * ``assignment-from-no-return`` is not emitted for coroutines.

     Close 1715

   * Report format string type mismatches.

   * ``consider-using-ternary`` and ``simplified-boolean-expression`` no longer emit for sequence based checks

     Close 2473

   * Handle ``AstroidSyntaxError`` when trying to import a module.

     Close 2313

   * Allow ``__module__`` to be redefined at a class level. Close 2451

   * ``pylint`` used to emit a ``unused-variable`` error if unused import was found in the function. Now instead of
     ``unused-variable``, ``unused-import`` is emitted.

     Close 2421

   * Handle asyncio.coroutine when looking for ``not-an-iterable`` check.

     Close 996

   * The ``locally-enabled`` check is gone.

     Close 2442

   * Infer decorated methods when looking for method-hidden

     Close 2369

   * Pick the latest value from the inferred values when looking for ``raising-non-exception``

     Close 2431

   * Extend the TYPE_CHECKING guard to TYPE_CHECKING name as well, not just the attribute

     Close 2411

   * Ignore import x.y.z as z cases for checker `useless-import-alias`.

     Close 2309

   * Fix false positive ``undefined-variable`` and ``used-before-assignment`` with nonlocal keyword usage.

     Close 2049

   * Stop ``protected-access`` exception for missing class attributes

   * Don&#39;t emit `assignment-from-no-return` for decorated function nodes

     Close 2385

   * `unnecessary-pass` is now also emitted when a function or class contains only docstring and pass statement.

      In Python, stubbed functions often have a body that contains just a single `pass` statement,
      indicating that the function doesn&#39;t do anything. However, a stubbed function can also have just a
      docstring, and function with a docstring and no body also does nothing.

      Close 2208

   * ``duplicate-argument-name`` is emitted for more than one duplicate argument per function

      Close 1712

   * Allow double indentation levels for more distinguishable indentations

     Close 741

   * Consider tuples in exception handler for ``try-except-raise``.
     Close 2389

   * Fix astroid.ClassDef check in checkers.utils.is_subclass_of

   * Fix wildcard imports being ignored by the import checker

   * Fix external/internal distinction being broken in the import graph

   * Fix wildcard import check not skipping `__init__.py`

     Close 2430

   * Add new option to logging checker, ``logging_format_style``

   * Fix --ignore-imports to understand multi-line imports

     Close 1422
     Close 2019

   * Add a new check &#39;implicit-str-concat-in-sequence&#39; to spot string concatenation inside lists, sets &amp; tuples.

   * ``literal-comparison`` is now emitted for 0 and 1 literals.
   ```
   
  
  
   ### 2.1.1
   ```
   ===========================

Release date: 2018-08-07

   * fix pylint crash due to ``misplaced-format-function`` not correctly handling class attribute.
     Close 2384

   * Do not emit \*-builtin for Python 3 builtin checks when the builtin is used inside a try-except

     Close PyCQA/pylint2228

   * ``simplifiable-if-statement`` not emitted when dealing with subscripts
   ```
   
  
  
   ### 2.1
   ```
   =========================

Release date: 2018-08-01
   * `trailing-comma-tuple` gets emitted for ``yield`` statements as well.

      Close 2363

   * Get only the arguments of the scope function for `redefined-argument-from-local`

     Close 2364

   * Add a check `misplaced-format-function` which is emitted if format function is used on
     non str object.

     Close 2200

   * `chain.from_iterable` no longer emits `dict-{}-not-iterating` when dealing with dict values and keys

   * Demote the `try-except-raise` message from an error to a warning (E0705 -&gt; W0706)

      Close 2323

   * Correctly handle the new name of the Python implementation of the `abc` module.

     Close PyCQA/astroid2288

    * Modules with `__getattr__` are exempted by default from `no-member`

      There&#39;s no easy way to figure out if a module has a particular member when
      the said module uses `__getattr__`, which is a new addition to Python 3.7.
      Instead we assume the safe thing to do, in the same way we do for classes,
      and skip those modules from checking.

      Close 2331

    * Fix a false positive `invalid name` message when method or attribute name is longer then 30 characters.

      Close 2047

    * Include the type of the next branch in `no-else-return`

      Close 2295

    * Fix inconsistent behaviour for bad-continuation on first line of file

      Close 2281

     * Fix not being able to disable certain messages on the last line through
       the global disable option

       Close 2278

    * Don&#39;t emit `useless-return` when we have a single statement that is the return itself

      We still want to be explicit when a function is supposed to return
      an optional value; even though `pass` could still work, it&#39;s not explicit
      enough and the function might look like it&#39;s missing an implementation.
      Close 2300

   * Fix false-positive undefined-variable for self referential class name in lamdbas

      Close 704

    * Don&#39;t crash when `pylint` is unable to infer the value of an argument to `next()`

      Close 2316

    * Don&#39;t emit `not-an-iterable` when dealing with async iterators.

      But do emit it when using the usual iteration protocol against
      async iterators.

      Close 2311

   * Can specify a default docstring type for when the check cannot guess the type

      Close 1169
   ```
   
  
  
   ### 2.0
   ```
   =========================

Release date: 2018-07-15
    * `try-except-raise` should not be emitted if there are any parent exception class handlers.

       Close 2284

    * `trailing-comma-tuple` can be emitted for `return` statements as well.

       Close 2269

    * Fix a false positive ``inconsistent-return-statements`` message when exception is raised
      inside an else statement.

      Close 1782

    * `ImportFrom` nodes correctly use the full name for the import sorting checks.

      Close 2181

    * [].extend and similar builtin operations don&#39;t emit `dict-*-not-iterating` with the Python 3 porting checker

      Close 2187

    * Add a check `consider-using-dict-comprehension` which is emitted if for dict initialization
      the old style with list comprehensions is used.

    * Add a check `consider-using-set-comprehension` which is emitted if for set initialization
      the old style with list comprehensions is used.

    * `logging-not-lazy` is emitted whenever pylint infers that a string is built with addition

      Close 2193

    * Add a check `chained-comparison` which is emitted if a boolean operation can be simplified
      by chaining some of its operations.
      e.g &quot;a &lt; b and b &lt; c&quot;, can be simplified as &quot;a &lt; b &lt; c&quot;.

      Close 2032

    * Add a check `consider-using-in` for comparisons of a variable against
      multiple values with &quot;==&quot; and &quot;or&quot;s instead of checking if the variable
      is contained &quot;in&quot; a tuple of those values.

    * `in` is considered iterating context for some of the Python 3 porting checkers

      Close 2186

    * Add `--ignore-none` flag to control if pylint should warn about `no-member` where the owner is None

    * Fix a false positive related to `too-many-arguments` and bounded `__get__` methods

      Close 2172

    * `mcs` as the first parameter of metaclass&#39;s `__new__` method was replaced by `cls`

      Close 2028

    * `assignment-from-no-return` considers methods as well.

       Close 2081

    * Support typing.TYPE_CHECKING for *unused-import* errors

      Close 1948

    * Inferred classes at a function level no longer emit `invalid-name`
      when they don&#39;t respect the variable regular expression

      Close 1049

    * Added basic support for postponed evaluation of function annotations.

      Close 2069

    * Fix a bug with `missing-kwoa` and variadics parameters

      Close 1111

    * `simplifiable-if-statement` takes in account only when assigning to same targets

       Close 1984

    * Make ``len-as-condition`` test more cases, such as ``len() &lt; 1`` or ``len &lt;= 0``

    * Fix false-positive ``line-too-long`` message emission for
      commented line at the end of a module

      Close 1950

    * Fix false-positive ``bad-continuation`` for with statements

      Close 461

    * Don&#39;t warn about `stop-iteration-return` when using `next()` over `itertools.count`

      Close 2158

    * Add a check `consider-using-get` for unidiomatic usage of value/default-retrieval
      for a key from a dictionary

      Close 2076

    * invalid-slice-index is not emitted when the slice is used as index for a complex object.

      We only use a handful of known objects (list, set and friends) to figure out if
      we should emit invalid-slice-index when the slice is used to subscript an object.

    * Don&#39;t emit `unused-import` anymore for typing imports used in type comments.

    * Add a new check &#39;useless-import-alias&#39;.

      Close 2052

    * Add `comparison-with-callable` to warn for comparison with bare callable, without calling it.

      Close 2082

    * Don&#39;t warn for ``missing-type-doc`` and/or ``missing-return-type-doc``, if type
      annotations exist on the function signature for a parameter and/or return type.
      Close 2083

    * Add `--exit-zero` option for continuous integration scripts to more
      easily call Pylint in environments that abort when a program returns a
      non-zero (error) status code.

      Close 2042

    * Warn if the first argument of an instance/ class method gets assigned

      Close 977

    * New check `comparison-with-itself` to check comparison between same value.

      Close 2051

    * Add a new warning, &#39;logging-fstring-interpolation&#39;, emitted when f-string
      is used within logging function calls.

      Close 1998

    * Don&#39;t show &#39;useless-super-delegation&#39; if the subclass method has different type annotations.

      Close 1923

    * Add `unhashable-dict-key` check.

      Closes 586

    * Don&#39;t warn that a global variable is unused if it is defined by an import

      Close 1453

    * Skip wildcard import check for `__init__.py`.

      Close 2026

    * The Python 3 porting mode can now run with Python 3 as well.

    * `too-few-public-methods` is not emitted for dataclasses.

       Close 1793

    * New verbose mode option, enabled with `--verbose` command line flag, to
      display of extra non-checker-related output. It is disabled by default.

      Close 1863

    * `undefined-loop-variable` takes in consideration non-empty iterred objects before emitting

      Close 2039

    * Add support for numpydoc optional return value names.

      Close 2030

    * `singleton-comparison` accounts for negative checks

      Close 2037

    * Add a check `consider-using-in` for comparisons of a variable against
      multiple values with &quot;==&quot; and &quot;or&quot;s instead of checking if the variable
      is contained &quot;in&quot; a tuple of those values.

      Close 1977

    * defaultdict and subclasses of dict are now handled for dict-iter-* checks

      Close 2005

    * `logging-format-interpolation` also emits when f-strings are used instead of % syntax.

      Close 1788

    * Don&#39;t trigger misplaced-bare-raise when the raise is in a finally clause

      Close 1924

    * Add a new check, `possibly-unused-variable`.

      This is similar to `unused-variable`, the only difference is that it is
      emitted when we detect a locals() call in the scope of the unused variable.
      The `locals()` call could potentially use the said variable, by consuming
      all values that are present up to the point of the call. This new check
      allows to disable this error when the user intentionally uses `locals()`
      to consume everything.

      Close 1909.

    * `no-else-return` accounts for multiple cases

       The check was a bit overrestrictive because we were checking for
       return nodes in the .orelse node. At that point though the if statement
       can be refactored to not have the orelse. This improves the detection of
       other cases, for instance it now detects TryExcept nodes that are part of
       the .else branch.

       Close 1852

    * Added two new checks, `invalid-envvar-value` and `invalid-envvar-default`.

      The former is trigger whenever pylint detects that environment variable manipulation
      functions uses a different type than strings, while the latter is emitted whenever
      the said functions are using a default variable of different type than expected.

    * Add a check `consider-using-join` for concatenation of strings using str.join(sequence)

      Close 1952

    * Add a check `consider-swap-variables` for swapping variables with tuple unpacking

      Close 1922

    * Add new checker `try-except-raise` that warns the user if an except handler block
      has a ``raise`` statement as its first operator. The warning is shown when there is
      a bare raise statement, effectively re-raising the exception that was caught or the
      type of the exception being raised is the same as the one being handled.

    * Don&#39;t crash on invalid strings when checking for `logging-format-interpolation`

      Close 1944

    * Exempt `__doc__` from triggering a `redefined-builtin`

      `__doc__` can be used to specify a docstring for a module without
      passing it as a first-statement string.

    * Fix false positive bad-whitespace from function arguments with default
      values and annotations

      Close 1831

    * Fix stop-iteration-return false positive when next builtin has a
      default value in a generator

      Close 1830

    * Fix emission of false positive ``no-member`` message for class with  &quot;private&quot; attributes whose name is mangled.

      Close 1643

    * Fixed a crash which occurred when `Uninferable` wasn&#39;t properly handled in `stop-iteration-return`

      Close 1779

    * Use the proper node to get the name for redefined functions (1792)

      Close 1774

    * Don&#39;t crash when encountering bare raises while checking inconsistent returns

      Close 1773

    * Fix a false positive ``inconsistent-return-statements`` message when if statement is inside try/except.

      Close 1770

    * Fix a false positive ``inconsistent-return-statements`` message when while loop are used.

      Close 1772

    * Correct column number for whitespace conventions.

      Previously the column was stuck at 0

      Close 1649

    * Fix ``unused-argument`` false positives with overshadowed variable in
      dictionary comprehension.

      Close 1731

    * Fix false positive ``inconsistent-return-statements`` message when never
      returning functions are used (i.e sys.exit for example).

      Close 1771

    * Fix error when checking if function is exception, as in ``bad-exception-context``.

    * Fix false positive ``inconsistent-return-statements`` message when a
      function is defined under an if statement.

      Close 1794

    * New ``useless-return`` message when function or method ends with a &quot;return&quot; or
      &quot;return None&quot; statement and this is the only return statement in the body.

    * Fix false positive ``inconsistent-return-statements`` message by
      avoiding useless exception inference if the exception is not handled.

      Close 1794 (second part)

    * Fix bad thread instantiation check when target function is provided in args.

      Close 1840

    * Fixed false positive when a numpy Attributes section follows a Parameters
      section

      Close 1867

    * Fix incorrect file path when file absolute path contains multiple ``path_strip_prefix`` strings.

      Close 1120

    * Fix false positive undefined-variable for lambda argument in class definitions

      Close 1824

    * Add of a new checker that warns the user if some messages are enabled or disabled
      by id instead of symbol.

      Close 1599

    * Suppress false-positive ``not-callable`` messages from certain
      staticmethod descriptors

      Close 1699

    * Fix indentation handling with tabs

      Close 1148

    * Fix false-positive ``bad-continuation`` error

      Close 638

    * Fix false positive unused-variable in lambda default arguments

      Close 1921
      Close 1552
      Close 1099
      Close 210

    * Updated the default report format to include paths that can be clicked on in some terminals (e.g. iTerm).

    * Fix inline def behavior with ``too-many-statements`` checker

      Close 1978

    * Fix `KeyError` raised when using docparams and NotImplementedError is documented.

      Close 2102

    * Fix &#39;method-hidden&#39; raised when assigning to a property or data descriptor.

    * Fix emitting ``useless-super-delegation`` when changing the default value of keyword arguments.

      Close 2022

    * Expand ignored-argument-names include starred arguments and keyword arguments

      Close 2214

    * Fix false-positive undefined-variable in nested lambda

      Close 760

    * Fix false-positive ``bad-whitespace`` message for typing annoatations
      with ellipses in them

      Close 1992

    * Broke down &quot;missing-docstrings&quot; between &quot;module&quot;, &quot;class&quot; and &quot;function&quot;

      For this to work we had to make multiple messages with the same old name
      possible.

      Closes 1164
   ```
   
  
  
   ### 1.9
   ```
   =========================

Release date: 2018-05-15

    * Added two new Python 3 porting checks, `exception-escape` and `comprehension-escape`

      These two are emitted whenever pylint detects that a variable defined in the
      said blocks is used outside of the given block. On Python 3 these values are deleted.

    * Added a new `deprecated-sys-function`, emitted when accessing removed sys members.

    * Added `xreadlines-attribute`, emitted when the `xreadlines()` attribute is accessed.

    * The Python 3 porting mode can now run with Python 3 as well.

    * docparams extension allows abstract methods to document what overriding
      implementations should return, and to raise NotImplementedError without
      documenting it.

      Closes 2044

    * Special methods do not count towards `too-few-methods`,
      and are considered part of the public API.

    * Enum classes do not trigger `too-few-methods`

      Close 605

    * Added a new Python 2/3 check for accessing `operator.div`, which is removed in Python 3

      Close 1936

    * Added a new Python 2/3 check for accessing removed urllib functions

      Close 1997
   ```
   
  
  
   ### 1.8.1
   ```
   ===========================

Release date: 2017-12-15

    * Wrong version number in __pkginfo__.
   ```
   
  
  
   ### 1.8
   ```
   =========================

Release date: 2017-12-15

    * Respect disable=... in config file when running with --py3k.

    * New warning `shallow-copy-environ` added

      Shallow copy of os.environ doesn&#39;t work as people may expect. os.environ
      is not a dict object but rather a proxy object, so any changes made
      on copy may have unexpected effects on os.environ

      Instead of copy.copy(os.environ) method os.environ.copy() should be
      used.

      See https://bugs.python.org/issue15373 for details.

      Close 1301

    * Do not display no-absolute-import warning multiple times per file.

    * `trailing-comma-tuple` refactor check now extends to assignment with
       more than one element (such as lists)

      Close 1713

    * Fixing u&#39;&#39; string in superfluous-parens message

      Close 1420

    * `abstract-class-instantiated` is now emitted for all inference paths.

       Close 1673

    * Add set of predefined naming style to ease configuration of checking
      naming conventions.

      Closes 1013

    * Added a new check, ``keyword-arg-before-vararg``

      This is emitted for function definitions
      in which keyword arguments are placed before variable
      positional arguments (\*args).

      This may lead to args list getting modified if keyword argument&#39;s value
      is not provided in the function call assuming it will take default value
      provided in the definition.

    * The `invalid-name` check contains the name of the template that caused the failure

      Close 1176

    * Using the -j flag won&#39;t start more child linters than needed.

      Contributed by Roman Ivanov in 1614

    * Fix a false positive with bad-python3-import on relative imports

      Close 1608

    * Added a new Python 3 check, ``non-ascii-bytes-literals``

      Close 1545

    * Added a couple of new Python 3 checks for accessing dict methods in non-iterable context

    * Protocol checks (not-a-mapping, not-an-iterable and co.) aren&#39;t emitted on classes with dynamic getattr

    * Added a new warning, &#39;bad-thread-instantiation&#39;

      This message is emitted when the threading.Thread class does not
      receive the target argument, but receives just one argument, which
      is by default the group parameter.

      Close 1327

    * In non-quiet mode, absolute path of used config file is logged to
      standard error.
      Close 1519

    * Raise meaningful exception for invalid reporter class being selected

      When unknown reporter class will be selected as Pylint reporter,
      meaningful error message would be raised instead of bare ``ImportError``
      or ``AttribueError`` related to module or reporter class being not found.
      Close 1388

    * Added a new Python 3 check for accessing removed functions from itertools
      like ``izip`` or ``ifilterfalse``

    * Added a new Python 3 check for accessing removed fields from the types
      module like ``UnicodeType`` or ``XRangeType``

    * Added a new Python 3 check for declaring a method ``next`` that would have
      been treated as an iterator in Python 2 but a normal function in Python 3.

    * Added a new key-value pair in json output. The key is ``message-id``
      and the value is the message id.
      Close 1512

    * Added a new Python 3.0 check for raising a StopIteration inside a generator.
      The check about raising a StopIteration inside a generator is also valid if the exception
      raised inherit from StopIteration.
      Close 1385

    * Added a new warning, ``raising-format-tuple``, to detect multi-argument
      exception construction instead of message string formatting.

    * Added a new check for method of logging module that concatenate string via + operator
      Close 1479

    * Added parameter for limiting number of suggestions in spellchecking checkers

    * Fix a corner-case in ``consider-using-ternary`` checker.

      When object ``A`` used in  ``X and A or B`` was falsy in boolean context,
      Pylint incorrectly emitted non-equivalent ternary-based suggestion.
      After a change message is correctly not emitted for this case.
      Close 1559

    * Added ``suggestion-mode`` configuration flag. When flag is enabled, informational
      message is emitted instead of cryptic error message for attributes accessed on
      c-extensions.
      Close 1466

    * Fix a false positive ``useless-super-delegation`` message when
      parameters default values are different from those used in the base class.
      Close 1085

    * Disabling &#39;wrong-import-order&#39;, &#39;wrong-import-position&#39;, or
      &#39;ungrouped-imports&#39; for a single line now prevents that line from
      triggering violations on subsequent lines.

      Close 1336

    * Added a new Python check for inconsistent return statements inside method or function.
      Close 1267

    * Fix ``superfluous-parens`` false positive related to handling logical statements
      involving ``in`` operator.

      Close 574

    * ``function-redefined`` message is no longer emitted for functions and
      methods which names matches dummy variable name regular expression.
      Close 1369

    * Fix ``missing-param-doc`` and ``missing-type-doc`` false positives when
      mixing ``Args`` and ``Keyword Args`` in Google docstring.
      Close 1409

     * Fix ``missing-docstring`` false negatives when modules, classes, or methods
       consist of compound statements that exceed the ``docstring-min-length``

    * Fix ``useless-else-on-loop`` false positives when break statements are
      deeply nested inside loop.
      Close 1661

    * Fix no ``wrong-import-order`` message emitted on ordering of first and third party
      libraries. With this fix, pylint distinguishes third and first party
      modules when checking import order.
      Close 1702

    * Fix ``pylint disable=fixme`` directives ignored for comments following the
      last statement in a file.
      Close 1681

    * Fix ``line-too-long`` message deactivated by wrong disable directive.
      The directive ``disable=fixme`` doesn&#39;t deactivate anymore the emission
      of ``line-too-long`` message for long commented lines.
      Close 1741

    * If the rcfile specified on the command line doesn&#39;t exist, then an
      IOError exception is raised.
      Close 1747

    * Fix the wrong scope of the ``disable=`` directive after a commented line.
      For example when a ``disable=line-too-long`` directive is at the end of
      a long commented line, it no longer disables the emission of ``line-too-long``
      message for lines that follow.
      Close 1742
   ```
   
  
  
   ### 1.7.1
   ```
   ===========================

Release date: 2017-04-17

    * Fix a false positive which occurred when an exception was reraised

      Close 1419

    * Fix a false positive of ``disallow-trailing-tuple``

      The check was improved by verifying for non-terminating newlines, which
      should exempt function calls and function definitions from the check
      Close 1424
   ```
   
  
  
   ### 1.7
   ```
   =========================

Release date: 2017-04-13

    * Don&#39;t emit missing-final-newline or trailing-whitespace for formfeeds (page breaks).

      Close 1218 and 1219

    * Don&#39;t emit by default no-member if we have opaque inference objects in the inference results

      This is controlled through the new flag ignore-on-opaque-inference, which is by
      default True. The inference can return  multiple potential results while
      evaluating a Python object, but some branches might not be evaluated, which
      results in partial inference. In that case, it might be useful to still emit
      no-member and other checks for the rest of the inferred objects.

    * Added new message `assign-to-new-keyword` to warn about assigning to names which
      will become a keyword in future Python releases.

      Close 1351

    * Split the &#39;missing or differing&#39; in parameter documentation in different error.
      &#39;differing-param-doc&#39; covers the differing part of the old &#39;missing-param-doc&#39;,
      and &#39;differing-type-doc&#39; covers the differing part of the old &#39;missing-type-doc&#39;

      Close 1342

    * Added a new error, &#39;used-prior-global-declaration&#39;, which is emitted when a name
      is used prior a global declaration in a function. This causes a SyntaxError in
      Python 3.6

      Close 1257

    * The protocol checks are emitting their messages when a special method is set to None.

      Close 1263

    * Properly detect if imported name is assigned to same name in different
      scope.

      Close 636, 848, 851, and 900

    * Require one space for annotations with type hints, as per PEP 8.

    * &#39;trailing-comma-tuple&#39; check was added

      This message is emitted when pylint finds an one-element tuple,
      created by a stray comma. This can suggest a potential problem in the
      code and it is recommended to use parantheses in order to emphasise the
      creation of a tuple, rather than relying on the comma itself.

    * Don&#39;t emit not-callable for instances with unknown bases.

      Close 1213

    * Treat keyword only arguments the same as positional arguments with regard to unused-argument check

    * Don&#39;t try to access variables defined in a separate scope when checking for ``protected-access``

    * Added new check to detect incorrect usage of len(SEQUENCE) inside
      test conditions.

    * Added new extension to detect comparisons against empty string constants

    * Added new extension to detect comparisons of integers against zero

    * Added new error conditions for &#39;bad-super-call&#39;

      Now detects ``super(type(self), self)`` and ``super(self.__class__, self)``
      which can lead to recursion loop in derived classes.

    * PyLinter.should_analyze_file has a new optional parameter, called `is_argument`

      Close 1079

    * Add attribute hints for missing members

      Closes 1035

    * Add a new warning, &#39;redefined-argument-from-local&#39;

      Closes 649

    * Support inline comments for comma separated values in the config file

      Closes 1024

    * epylint.py_run&#39;s *script* parameter was removed.

    * epylint.py_run now uses ``shell=False`` for running the underlying process.

      Closes 441

    * Added a new warning, &#39;useless-super-delegation&#39;

      Close 839.

    * Added a new error, &#39;invalid-metaclass&#39;, raised when
      we can detect that a class is using an improper metaclass.

      Close 579

    * Added a new refactoring message, &#39;literal-comparison&#39;.

      Close 786

    * arguments-differ takes in consideration kwonlyargs and variadics

      Close 983

    * Removed --optimized-ast. Part of 975.

    * Removed --files-output option. Part of 975.

    * Removed pylint-gui from the package.

    * Removed the HTML reporter. Part of 975.

    * ignored-argument-names is now used for ignoring arguments for unused-variable check.

      This option was used for ignoring arguments when computing the correct number of arguments
      a function should have, but for handling the arguments with regard
      to unused-variable check, dummy-variables-rgx was used instead. Now, ignored-argument-names
      is used for its original purpose and also for ignoring the matched arguments for
      the unused-variable check. This offers a better control of what should be ignored
      and how.
      Also, the same option was moved from the design checker to the variables checker,
      which means that the option now appears under the ``[VARIABLES]`` section inside
      the configuration file.
      Close 862.

    * Fix a false positive for keyword variadics with regard to keyword only arguments.

      If a keyword only argument was necessary for a function, but that function was called
      with keyword variadics (\**kwargs), then we were emitting a missing-kwoa false positive,
      which is now fixed.

      Close 934.

    * Fix some false positives with unknown sized variadics.

      Close 878

    * Added a new extension, check_docstring, for checking PEP 257 conventions.

      Closes 868.

    * config files with BOM markers can now be read.

      Close 864.

    * epylint.py_run does not crash on big files, using .communicate() instead of .wait()

      Close 599

    * Disable reports by default and show the evaluation score by default

      As per discussion from issue 746, the reports were disabled by
      default in order to simplify the interaction between the tool
      and the users. The score is still shown by default, as a way of
      closely measuring when it increases or decreases due to changes
      brought to the code.

    * Disable the information category messages by default.

      This is a step towards making pylint more sane, as
      per the discussion from issue 746.

    * Catch more cases as not proper iterables for __slots__ with
      regard to invalid-slots pattern. Closes issue 775.

    * empty indent strings are rejected.

    * Added a new error, &#39;relative-beyond-top-level&#39;, which is emitted
      when a relative import was attempted beyond the top level package.

      Closes issue 588.

    * Added a new warning, &#39;unsupported-assignment-operation&#39;, which is
      emitted when item assignment is tried on an object which doesn&#39;t
      have this ability. Closes issue 591.

    * Added a new warning, &#39;unsupported-delete-operation&#39;, which is
      emitted when item deletion is tried on an object which doesn&#39;t
      have this ability. Closes issue 592.

    * Fix a false positive of &#39;redundant-returns-doc&#39;, occurred when the documented
      function was using *yield* instead of *return*.

      Closes issue 984.

    * Fix false positives of &#39;missing-[raises|params|type]-doc&#39; due to not
      recognizing keyword synonyms supported by Sphinx.

    * Added a new refactoring message, &#39;consider-merging-isinstance&#39;, which is
      emitted whenever we can detect that consecutive isinstance calls can be
      merged together.

      Closes issue 968

    * Fix a false positive of &#39;missing-param-doc&#39; and &#39;missing-type-doc&#39;,
      occurred when a class docstring uses the &#39;For the parameters, see&#39;
      magic string but the class __init__ docstring does not, or vice versa.

    * `redefined-outer-name` is now also emitted when a nested loop&#39;s target
      variable is the same as a target variable in an outer loop.

      Closes issue 911.

    * Added proper exception type inference for &#39;missing-raises-doc&#39;.

    * Added InvalidMessageError exception class to replace asserts in
      pylint.utils.

    * More thorough validation in MessagesStore.register_messages() to avoid
      one message accidentally overwriting another.

    * InvalidMessageError, UnknownMessage, and EmptyReport exceptions are
      moved to the new pylint.exceptions submodule.

    * UnknownMessage and EmptyReport are renamed to UnknownMessageError and
      EmptyReportError.

    * Warnings &#39;missing-returns-type-doc&#39; and &#39;missing-yields-type-doc&#39;
      have each been split into two warnings - &#39;missing-[return|yield]-doc&#39;
      and &#39;missing-[return|yield]-type-doc&#39;.

    * Added epytext support to docparams extension.

      Closes 1029.

    * Support having plugins with the same name and with options defined

      Closes 1018

    * Sort configuration options in a section

      Closes 1087

    * Added a new Python 3 warning around implementing &#39;__div__&#39;, &#39;__idiv__&#39;, or
      &#39;__rdiv__&#39; as those methods are phased out in Python 3.

    * Added a new warning, &#39;overlapping-except&#39;, which is
      emitted when two exceptions in the same except-clause are aliases
      for each other or one exceptions is an ancestor of another.

    * Avoid crashing on ill-formatted strings when checking for string formatting errors.

    * Added a new Python 3 warning for calling &#39;str.encode&#39; or &#39;str.decode&#39; with a non-text
      encoding.

    * Added new coding convention message, &#39;single-string-used-for-slots&#39;.

      Closes 1166

    * Added a new Python 3 check for accessing &#39;sys.maxint&#39; which was removed in Python 3 in favor
      of &#39;sys.maxsize&#39;

    * Added a new Python 3 check for bad imports.

    * Added a new Python 3 check for accessing deprecated string functions.

    * Do not warn about unused arguments or function being redefined in singledispatch
      registered implementations.

      Closes 1032 and 1034

    * Added refactoring message &#39;no-else-return&#39;.

    * Improve unused-variable checker to warn about unused variables in module scope.

      Closes 919

    * Ignore modules import as _ when checking for unused imports.

      Closes 1190

    * Improve handing of Python 3 classes with metaclasses declared in nested scopes.

      Closes 1177

    * Added refactoring message &#39;consider-using-ternary&#39;.

      Closes 1204

    * Bug-fix for false-positive logging-format-interpolation` when format specifications
      are used in formatted string.

      Fixes 572

    * Added a new switch ``single-line-class-stmt`` to allow single-line declaration
      of empty class bodies.

      Closes 738

    * Protected access in form `type(self)._attribute` are now allowed.

      Fixes 1031

    * Let the user modify msg-template when Pylint is called from a Python script

      Fixes 1269

    * Imports checker supports new switch ``allow-wildcard-with-all`` which disables
      warning on wildcard import when imported module defines `__all__` variable.

      Fixes 831

    * `too-many-format-args` and `too-few-format-args` are emitted correctly when
      starred expression are used in RHS tuple.

      Fixes 957

    * `cyclic-import` checker supports local disable clauses. When one
      of cycle imports was done in scope where disable clause was active,
      cycle is not reported as violation.

      Fixes 59
   ```
   
  
  
   ### 1.6.3
   ```
   ===========================

Release date: 2016-07-18

    * Do not crash when inferring uninferable exception types for docparams extension

      Close 998
   ```
   
  
  
   ### 1.6.2
   ```
   ===========================

Release date: TBA

    * Do not crash when printing the help of options with default regular expressions

      Close 990

    * More granular versions for deprecated modules.

      Close 991
   ```
   
  
  
   ### 1.6.1
   ```
   ===========================

Release date: 2016-07-07

    * Use environment markers for supporting conditional dependencies.
   ```
   
  
  
   ### 1.6.0
   ```
   ===========================

Release date: 2016-07-03

    * Added a new extension, `pylint.extensions.mccabe`, for warning
      about complexity in code.

    * Deprecate support for --optimize-ast. Part of 975.

    * Deprecate support for the HTML output. Part of 975.

    * Deprecate support for --output-files. Part of 975.

    * Fixed a documentation error for the check_docs extension. Fixes 735.

    * Made the list of property-defining decorators configurable.

    * Fix a bug where the top name of a qualified import was detected as unused variable.

      Close 923.

    * bad-builtin is now an extension check.

    * generated-members support qualified name through regular expressions.

      For instance, one can specify a regular expression as --generated-members=astroid.node_classes.*
      for ignoring every no-member error that is accessed as in `astroid.node_classes.missing.object`.

    * Add the ability to ignore files based on regex matching, with the new ``--ignore-patterns``
      option.

      This addresses issue 156 by allowing for multiple ignore patterns
      to be specified. Rather than clobber the existing ignore option, we
      introduced a new one called ignore-patterns.

    * Added a new error, &#39;trailing-newlines&#39;, which is emitted when a file
      has trailing new lines.

      Closes issue 682.

    * Add a new option, &#39;redefining-builtins-modules&#39;, for controlling the modules
      which can redefine builtins, such as six.moves and future.builtins.

      Close 464.

    * &#39;reimported&#39; is emitted when the same name is imported from different module.

      Close 162.

    * Add a new recommendation checker, &#39;consider-iterating-dictionary&#39;, which is emitted
      which is emitted when a dictionary is iterated through .keys().

      Close 699

    * Use the configparser backport for Python 2

      This fixes a problem we were having with comments inside values, which is fixed
      in Python 3&#39;s configparser.
      Close 828

    * A new error was added, &#39;invalid-length-returned&#39;, when the `__len__`
      special method returned something else than a non-negative number.

      Close issue 557

    * Switch to using isort internally for wrong-import-order.

      Closes 879.

    * check_docs extension can find constructor parameters in __init__.

      Closes 887.

    * Don&#39;t warn about invalid-sequence-index if the indexed object has unknown base
      classes.

      Closes 867

    * Don&#39;t crash when checking, for super-init-not-called, a method defined in an if block.

    * Do not emit import-error or no-name-in-module for fallback import blocks by default.

      Until now, we warned with these errors when a fallback import block (a TryExcept block
      that contained imports for Python 2 and 3) was found, but this gets cumbersome when
      trying to write compatible code. As such, we don&#39;t check these blocks by default,
      but the analysis can be enforced by using the new ``--analyse-fallback-block`` flag.

      Close 769.
   ```
   
  
  
   ### 1.5.5
   ```
   ===========================

Release date: 2016-03-21


    * Let visit_importfrom from Python 3 porting checker be called when everything is disabled

      Because the visit method was filtering the patterns it was expecting to be activated,
      it didn&#39;t run when everything but one pattern was disabled, leading to spurious false
      positives

      Close 852

    * Don&#39;t emit unsubscriptable-value for classes with unknown
      base classes.

      Close 776.

    * Use an OrderedDict for storing the configuration elements

      This fixes an issue related to impredictible order of the disable / enable
      elements from a config file. In certain cases, the disable was coming before
      the enable which resulted in classes of errors to be enabled, even though the intention
      was to disable them. The best example for this was in the context of running multiple
      processes, each one of it having different enables / disables that affected the output.

      Close 815

    * Don&#39;t consider bare and broad except handlers as ignoring NameError,
      AttributeError and similar exceptions, in the context of checkers for
      these issues.

      Closes issue 826
   ```
   
  
  
   ### 1.5.4
   ```
   ===========================

Release date: 2016-01-15


    * Merge StringMethodChecker with StringFormatChecker. This fixes a
      bug where disabling all the messages and enabling only a handful of
      messages from the StringFormatChecker would have resulted in no
      messages at all.

    * Don&#39;t apply unneeded-not over sets.
   ```
   
  
  
   ### 1.5.3
   ```
   ===========================

Release date: 2016-01-11

    * Handle the import fallback idiom with regard to wrong-import-order.

      Closes issue 750.

    * Decouple the displaying of reports from the displaying of messages

      Some reporters are aggregating the messages instead of displaying
      them when they are available. The actual displaying was conflatted
      in the generate_reports. Unfortunately this behaviour was flaky
      and in the case of the JSON reporter, the messages weren&#39;t shown
      at all if a file had syntax errors or if it was missing.
      In order to fix this, the aggregated messages can now be
      displayed with Reporter.display_message, while the reports are
      displayed with display_reports.

      Closes issues 766 and 765.

    * Ignore function 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&#39;ll have support for call context
      propagation, we&#39;re ignoring such cases if detected.
      Closes issue 722.

    * Treat AsyncFunctionDef just like FunctionDef nodes,
      by implementing visit_asyncfunctiondef in terms of
      visit_functiondef.

      Closes issue 767.

    * Take in account kwonlyargs when verifying that arguments
      are defined with the check_docs extension.

      Closes issue 745.

    * Suppress reporting &#39;unneeded-not&#39; inside `__ne__` methods

      Closes issue 749.
   ```
   
  
  
   ### 1.5.2
   ```
   ===========================

Release date: 2015-12-21

    * Don&#39;t crash if graphviz is not installed, instead emit a
      warning letting the user to know.

      Closes issue 168.

    * Accept only functions and methods for the deprecated-method checker.

      This prevents a crash which can occur when an object doesn&#39;t have
      .qname() method after the inference.

    * Don&#39;t emit super-on-old-class on classes with unknown bases.
      Closes issue 721.

    * Allow statements in `if` or `try` blocks containing imports.

      Closes issue 714.
   ```
   
  
  
   ### 1.5.1
   ```
   ===========================

Release date: 2015-12-02


    * Fix a crash which occurred when old visit methods are encountered
      in plugin modules. Closes issue 711.

    * Add wrong-import-position to check_messages&#39;s decorator arguments
      for ImportChecker.leave_module
      This fixes an esoteric bug which occurs when ungrouped-imports and
      wrong-import-order are disabled and pylint is executed on multiple files.
      What happens is that without wrong-import-position in check_messages,
      leave_module will never be called, which means that the first non-import node
      from other files might leak into the current file,
      leading to wrong-import-position being emitted by pylint.

    * Fix a crash which occurred when old visit methods are encountered
      in plugin modules. Closes issue 711.

    * Don&#39;t emit import-self and cyclic-import for relative imports
      of modules with the same name as the package itself.
      Closes issues 708 and 706.
   ```
   
  
  
   ### 1.5.0
   ```
   ===========================

Release date: 2015-11-29


    * Added multiple warnings related to imports. &#39;wrong-import-order&#39;
      is emitted when PEP 8 recommendations regarding imports are not
      respected (that is, standard imports should be followed by third-party
      imports and then by local imports). &#39;ungrouped-imports&#39; is emitted
      when imports from the same package or module are not placed
      together, but scattered around in the code. &#39;wrong-import-position&#39;
      is emitted when code is mixed with imports, being recommended for the
      latter to be at the top of the file, in orde…
bors bot added a commit that referenced this issue May 13, 2020
118: Update pip to 20.1 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.0.2** to **20.1**.



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

Process
-------

- Document that pip 21.0 will drop support for Python 2.7.

Features
--------

- Add ``pip cache dir`` to show the cache directory. (`7350 &lt;https://github.com/pypa/pip/issues/7350&gt;`_)

Bug Fixes
---------

- Abort pip cache commands early when cache is disabled. (`8124 &lt;https://github.com/pypa/pip/issues/8124&gt;`_)
- Correctly set permissions on metadata files during wheel installation,
  to permit non-privileged users to read from system site-packages. (`8139 &lt;https://github.com/pypa/pip/issues/8139&gt;`_)
   ```
   
  
  
   ### 20.1b1
   ```
   ===================

Deprecations and Removals
-------------------------

- Remove emails from AUTHORS.txt to prevent usage for spamming, and only populate names in AUTHORS.txt at time of release (`5979 &lt;https://github.com/pypa/pip/issues/5979&gt;`_)
- Remove deprecated ``--skip-requirements-regex`` option. (`7297 &lt;https://github.com/pypa/pip/issues/7297&gt;`_)
- Building of local directories is now done in place, instead of a temporary
  location containing a copy of the directory tree. (`7555 &lt;https://github.com/pypa/pip/issues/7555&gt;`_)
- Remove unused ``tests/scripts/test_all_pip.py`` test script and the ``tests/scripts`` folder. (`7680 &lt;https://github.com/pypa/pip/issues/7680&gt;`_)

Features
--------

- pip now implements PEP 610, so ``pip freeze`` has better fidelity
  in presence of distributions installed from Direct URL requirements. (`609 &lt;https://github.com/pypa/pip/issues/609&gt;`_)
- Add ``pip cache`` command for inspecting/managing pip&#39;s wheel cache. (`6391 &lt;https://github.com/pypa/pip/issues/6391&gt;`_)
- Raise error if ``--user`` and ``--target`` are used together in ``pip install`` (`7249 &lt;https://github.com/pypa/pip/issues/7249&gt;`_)
- Significantly improve performance when ``--find-links`` points to a very large HTML page. (`7729 &lt;https://github.com/pypa/pip/issues/7729&gt;`_)
- Indicate when wheel building is skipped, due to lack of the ``wheel`` package. (`7768 &lt;https://github.com/pypa/pip/issues/7768&gt;`_)
- Change default behaviour to always cache responses from trusted-host source. (`7847 &lt;https://github.com/pypa/pip/issues/7847&gt;`_)
- An alpha version of a new resolver is available via ``--unstable-feature=resolver``. (`988 &lt;https://github.com/pypa/pip/issues/988&gt;`_)

Bug Fixes
---------

- Correctly freeze a VCS editable package when it is nested inside another VCS repository. (`3988 &lt;https://github.com/pypa/pip/issues/3988&gt;`_)
- Correctly handle ``%2F`` in URL parameters to avoid accidentally unescape them
  into ``/``. (`6446 &lt;https://github.com/pypa/pip/issues/6446&gt;`_)
- Reject VCS URLs with an empty revision. (`7402 &lt;https://github.com/pypa/pip/issues/7402&gt;`_)
- Warn when an invalid URL is passed with ``--index-url`` (`7430 &lt;https://github.com/pypa/pip/issues/7430&gt;`_)
- Use better mechanism for handling temporary files, when recording metadata
  about installed files (RECORD) and the installer (INSTALLER). (`7699 &lt;https://github.com/pypa/pip/issues/7699&gt;`_)
- Correctly detect global site-packages availability of virtual environments
  created by PyPA’s virtualenv&gt;=20.0. (`7718 &lt;https://github.com/pypa/pip/issues/7718&gt;`_)
- Remove current directory from ``sys.path`` when invoked as ``python -m pip &lt;command&gt;`` (`7731 &lt;https://github.com/pypa/pip/issues/7731&gt;`_)
- Stop failing uninstallation, when trying to remove non-existent files. (`7856 &lt;https://github.com/pypa/pip/issues/7856&gt;`_)
- Prevent an infinite recursion with ``pip wheel`` when ``$TMPDIR`` is within the source directory. (`7872 &lt;https://github.com/pypa/pip/issues/7872&gt;`_)
- Significantly speedup ``pip list --outdated`` by parallelizing index interaction. (`7962 &lt;https://github.com/pypa/pip/issues/7962&gt;`_)
- Improve Windows compatibility when detecting writability in folder. (`8013 &lt;https://github.com/pypa/pip/issues/8013&gt;`_)

Vendored Libraries
------------------

- Update semi-supported debundling script to reflect that appdirs is vendored.
- Add ResolveLib as a vendored dependency.
- Upgrade certifi to 2020.04.05.1
- Upgrade contextlib2 to 0.6.0.post1
- Upgrade distro to 1.5.0.
- Upgrade idna to 2.9.
- Upgrade msgpack to 1.0.0.
- Upgrade packaging to 20.3.
- Upgrade pep517 to 0.8.2.
- Upgrade pyparsing to 2.4.7.
- Remove pytoml as a vendored dependency.
- Upgrade requests to 2.23.0.
- Add toml as a vendored dependency.
- Upgrade urllib3 to 1.25.8.

Improved Documentation
----------------------

- Emphasize that VCS URLs using git, git+git and git+http are insecure due to
  lack of authentication and encryption (`1983 &lt;https://github.com/pypa/pip/issues/1983&gt;`_)
- Clarify the usage of --no-binary command. (`3191 &lt;https://github.com/pypa/pip/issues/3191&gt;`_)
- Clarify the usage of freeze command in the example of Using pip in your program (`7008 &lt;https://github.com/pypa/pip/issues/7008&gt;`_)
- Add a &quot;Copyright&quot; page. (`7767 &lt;https://github.com/pypa/pip/issues/7767&gt;`_)
- Added example of defining multiple values for options which support them (`7803 &lt;https://github.com/pypa/pip/issues/7803&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue May 13, 2020
116: Update flake8 to 3.8.1 r=duckinator a=pyup-bot


This PR updates [flake8](https://pypi.org/project/flake8) from **3.7.9** to **3.8.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.8.1
   ```
   -------------------

You can view the `3.8.1 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix ``--output-file`` (regression in 3.8.0) (See also `GitLab!427`_,
  `GitLab637`_)


.. all links
.. _3.8.1 milestone:
    https://gitlab.com/pycqa/flake8/-/milestones/34

.. issue links
.. _GitLab637:
    https://gitlab.com/pycqa/flake8/issues/637

.. merge request links
.. _GitLab!427:
    https://gitlab.com/pycqa/flake8/merge_requests/427
   ```
   
  
  
   ### 3.8.0
   ```
   -------------------

You can view the `3.8.0 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix logical checks which report positions out of bounds (See also
  `GitLab!422`_, `GitLab635`_)

- Fix ``--exclude=.*`` accidentally matching ``.`` and ``..`` (See also
  `GitLab!424`_, `GitLab632`_)

Deprecations
~~~~~~~~~~~~

- Add deprecation message for vcs hooks (See also `GitLab!420`_,
  `GitLab568`_)
   ```
   
  
  
   ### 3.8.0a2
   ```
   ---------------------

You can view the `3.8.0 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix ``type=&quot;str&quot;`` optparse options (See also `GitLab!419`_)
   ```
   
  
  
   ### 3.8.0a1
   ```
   ---------------------

You can view the `3.8.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- Remove dependency on ``entrypoints`` and add dependency on
  ``importlib-metadata`` (only for ``python&lt;3.8``) (See also `GitLab!388`_,
  `GitLab569`_)

- Pyflakes has been updated to &gt;= 2.2.0, &lt; 2.3.0 (See also `GitLab!417`_)

- pycodestyle has been updated to &gt;= 2.6.0a1, &lt; 2.7.0 (See also `GitLab!418`_)

Features
~~~~~~~~

- Add ``--extend-exclude`` option to add to ``--exclude`` without overwriting
  (See also `GitLab!315`_, `GitLab535`_)

- Move argument parsing from ``optparse`` to ``argparse`` (See also
  `GitLab!341`_

- Group plugin options in ``--help`` (See also `GitLab!342`_, `GitLab565`_)

- Remove parsing of ``verbose`` from configuration files as it was not
  consistently applied (See also `GitLab!360`_, `GitLab439`_)

- Remove parsing of ``output_file`` from configuration files as it was not
  consistently applied (See also `GitLab!361`_)

- Resolve configuration files relative to ``cwd`` instead of common prefix of
  passed filenames.  You may need to change ``flake8 subproject`` to
  ``cd subproject &amp;&amp; flake8 .`` (See also `GitLab!363`_)

- Officially support python3.8 (See also `GitLab!377`_)

- ``--disable-noqa`` now also disables `` flake8: noqa`` (See also
  `GitLab!380`_, `GitLab590`_)

- Ensure that a missing file produces a ``E902`` error (See also `GitLab!404`_,
  `GitLab600`_)

- `` noqa`` comments now apply to all of the lines in an explicit ``\``
  continuation or in a line continued by a multi-line string (See also
  `GitLab!413`_, `GitLab375`_)

Bugs Fixed
~~~~~~~~~~

- Fix ``--exclude=./t.py`` to only match ``t.py`` at the top level (See also
  `GitLab!311`_, `GitLab382`_)

- Fix ``--show-source`` when a file is indented with tabs (See also
  `GitLab!339`_, `GitLab563`_)

- Fix crash when ``--max-line-length`` is given a non-integer (See also
  `GitLab!341`_, `GitLab541`_)

- Prevent flip-flopping of ``indent_char`` causing extra ``E101`` errors (See
  also `GitLab!357`_, `pycodestyle886`_)

- Only enable multiprocessing when the method is ``fork`` fixing issues
  on macos with python3.8+ (See also `GitLab!366`_, `GitLab587`_) (note: this
  fix also landed in 3.7.9)

- ``noqa`` is now only handled by flake8 fixing specific-noqa.  Plugins
  requesting this parameter will always receive ``False`` (See also
  `GitLab!331`_, `GitLab552`_)

- Fix duplicate loading of plugins when invoked via ``python -m flake8`` (See
  also `GitLab!388`_)

- Fix early exit when ``--exit-zero`` and ``--diff`` are provided and the diff
  is empty (See also `GitLab!391`_)

- Consistently split lines when ``\f`` is present when reading from stdin (See
  also `GitLab!406`_, `GitLab270`_)

Deprecations
~~~~~~~~~~~~

- ``python setup.py flake8`` (setuptools integration) is now deprecated and
  will be removed in a future version (See also `GitLab!330`_, `GitLab544`_)

- ``type=&#39;string&#39;`` (optparse) types are deprecated, use
  ``type=callable`` (argparse) instead.  Support for ``type=&#39;string&#39;`` will
  be removed in a future version (See also `GitLab!341`_)

- ``%default`` in plugin option help text is deprecated, use ``%(default)s``
  instead.  Support for ``%default`` will be removed in a future version (See
  also `GitLab!341`_)

- optparse-style ``action=&#39;callback&#39;`` setting for options is deprecated, use
  argparse action classes instead.  This will be removed in a future version
  (See also `GitLab!341`_)


.. all links
.. _3.8.0 milestone:
    https://gitlab.com/pycqa/flake8/-/milestones/32

.. merge request links
.. _GitLab270:
   https://gitlab.com/pycqa/flake8/-/issues/270
.. _GitLab375:
   https://gitlab.com/pycqa/flake8/-/issues/375
.. _GitLab382:
   https://gitlab.com/pycqa/flake8/-/issues/382
.. _GitLab439:
   https://gitlab.com/pycqa/flake8/-/issues/439
.. _GitLab535:
   https://gitlab.com/pycqa/flake8/-/issues/535
.. _GitLab541:
   https://gitlab.com/pycqa/flake8/-/issues/541
.. _GitLab544:
   https://gitlab.com/pycqa/flake8/-/issues/544
.. _GitLab552:
   https://gitlab.com/pycqa/flake8/-/issues/552
.. _GitLab563:
   https://gitlab.com/pycqa/flake8/-/issues/563
.. _GitLab565:
   https://gitlab.com/pycqa/flake8/-/issues/565
.. _GitLab568:
   https://gitlab.com/pycqa/flake8/-/issues/568
.. _GitLab569:
   https://gitlab.com/pycqa/flake8/-/issues/569
.. _GitLab587:
   https://gitlab.com/pycqa/flake8/-/issues/587
.. _GitLab590:
   https://gitlab.com/pycqa/flake8/-/issues/590
.. _GitLab600:
   https://gitlab.com/pycqa/flake8/-/issues/600
.. _GitLab632:
   https://gitlab.com/pycqa/flake8/-/issues/632
.. _GitLab635:
   https://gitlab.com/pycqa/flake8/-/issues/635
.. _pycodestyle886:
   PyCQA/pycodestyle#886

.. issue links
.. _GitLab!311:
   https://gitlab.com/pycqa/flake8/-/merge_requests/311
.. _GitLab!315:
   https://gitlab.com/pycqa/flake8/-/merge_requests/315
.. _GitLab!330:
   https://gitlab.com/pycqa/flake8/-/merge_requests/330
.. _GitLab!331:
   https://gitlab.com/pycqa/flake8/-/merge_requests/331
.. _GitLab!339:
   https://gitlab.com/pycqa/flake8/-/merge_requests/339
.. _GitLab!341:
   https://gitlab.com/pycqa/flake8/-/merge_requests/341
.. _GitLab!342:
   https://gitlab.com/pycqa/flake8/-/merge_requests/342
.. _GitLab!357:
   https://gitlab.com/pycqa/flake8/-/merge_requests/357
.. _GitLab!360:
   https://gitlab.com/pycqa/flake8/-/merge_requests/360
.. _GitLab!361:
   https://gitlab.com/pycqa/flake8/-/merge_requests/361
.. _GitLab!363:
   https://gitlab.com/pycqa/flake8/-/merge_requests/363
.. _GitLab!366:
   https://gitlab.com/pycqa/flake8/-/merge_requests/366
.. _GitLab!377:
   https://gitlab.com/pycqa/flake8/-/merge_requests/377
.. _GitLab!380:
   https://gitlab.com/pycqa/flake8/-/merge_requests/380
.. _GitLab!388:
   https://gitlab.com/pycqa/flake8/-/merge_requests/388
.. _GitLab!391:
   https://gitlab.com/pycqa/flake8/-/merge_requests/391
.. _GitLab!404:
   https://gitlab.com/pycqa/flake8/-/merge_requests/404
.. _GitLab!406:
   https://gitlab.com/pycqa/flake8/-/merge_requests/406
.. _GitLab!413:
   https://gitlab.com/pycqa/flake8/-/merge_requests/413
.. _GitLab!417:
   https://gitlab.com/pycqa/flake8/-/merge_requests/417
.. _GitLab!418:
   https://gitlab.com/pycqa/flake8/-/merge_requests/418
.. _GitLab!419:
   https://gitlab.com/pycqa/flake8/-/merge_requests/419
.. _GitLab!420:
   https://gitlab.com/pycqa/flake8/-/merge_requests/420
.. _GitLab!422:
   https://gitlab.com/pycqa/flake8/-/merge_requests/422
.. _GitLab!424:
   https://gitlab.com/pycqa/flake8/-/merge_requests/424
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/flake8
  - Changelog: https://pyup.io/changelogs/flake8/
  - Repo: https://gitlab.com/pycqa/flake8
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue May 13, 2020
119: Update setuptools to 46.2.0 r=duckinator a=pyup-bot


This PR updates [setuptools](https://pypi.org/project/setuptools) from **45.1.0** to **46.2.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 46.2.0
   ```
   -------

* 2040: Deprecated the ``bdist_wininst`` command. Binary packages should be built as wheels instead.
* 2062: Change &#39;Mac OS X&#39; to &#39;macOS&#39; in code.
* 2075: Stop recognizing files ending with ``.dist-info`` as distribution metadata.
* 2086: Deprecate &#39;use_2to3&#39; functionality. Packagers are encouraged to use single-source solutions or build tool chains to manage conversions outside of setuptools.
* 1698: Added documentation for ``build_meta`` (a bare minimum, not completed).
* 2082: Filter ``lib2to3`` ``PendingDeprecationWarning`` and ``DeprecationWarning`` in testes,
  because ``lib2to3`` is `deprecated in Python 3.9 &lt;https://bugs.python.org/issue40360&gt;`_.
   ```
   
  
  
   ### 46.1.3
   ```
   -------

No significant changes.
   ```
   
  
  
   ### 46.1.2
   ```
   -------

* 1458: Added template for reporting Python 2 incompatibilities.
   ```
   
  
  
   ### 46.1.1
   ```
   -------

No significant changes.
   ```
   
  
  
   ### 46.1.0
   ```
   -------

* 308: Allow version number normalization to be bypassed by wrapping in a &#39;setuptools.sic()&#39; call.
* 1424: Prevent keeping files mode for package_data build. It may break a build if user&#39;s package data has read only flag.
* 1431: In ``easy_install.check_site_dir``, ensure the installation directory exists.
* 1563: In ``pkg_resources`` prefer ``find_spec`` (PEP 451) to ``find_module``.
   ```
   
  
  
   ### 46.0.0
   ```
   -------

* 65: Once again as in 3.0, removed the Features feature.
* 1890: Fix vendored dependencies so importing ``setuptools.extern.some_module`` gives the same object as ``setuptools._vendor.some_module``. This makes Metadata picklable again.
* 1899: Test suite now fails on warnings.
* 2011: Fix broken link to distutils docs on package_data
* 1991: Include pkg_resources test data in sdist, so tests can be executed from it.
   ```
   
  
  
   ### 45.3.0
   ```
   -------

* 1557: Deprecated eggsecutable scripts and updated docs.
* 1904: Update msvc.py to use CPython 3.8.0 mechanism to find msvc 14+
   ```
   
  
  
   ### 45.2.0
   ```
   -------

* 1905: Fixed defect in _imp, introduced in 41.6.0 when the &#39;tests&#39; directory is not present.
* 1941: Improve editable installs with PEP 518 build isolation:

  * The ``--user`` option is now always available. A warning is issued if the user site directory is not available.
  * The error shown when the install directory is not in ``PYTHONPATH`` has been turned into a warning.
* 1981: Setuptools now declares its ``tests`` and ``docs`` dependencies in metadata (extras).
* 1985: Add support for installing scripts in environments where bdist_wininst is missing (i.e. Python 3.9).
* 1968: Add flake8-2020 to check for misuse of sys.version or sys.version_info.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
Co-authored-by: Ellen Marie Dash <me@duckie.co>
bors bot added a commit that referenced this issue May 14, 2020
116: Update flake8 to 3.8.1 r=duckinator a=pyup-bot


This PR updates [flake8](https://pypi.org/project/flake8) from **3.7.9** to **3.8.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.8.1
   ```
   -------------------

You can view the `3.8.1 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix ``--output-file`` (regression in 3.8.0) (See also `GitLab!427`_,
  `GitLab637`_)


.. all links
.. _3.8.1 milestone:
    https://gitlab.com/pycqa/flake8/-/milestones/34

.. issue links
.. _GitLab637:
    https://gitlab.com/pycqa/flake8/issues/637

.. merge request links
.. _GitLab!427:
    https://gitlab.com/pycqa/flake8/merge_requests/427
   ```
   
  
  
   ### 3.8.0
   ```
   -------------------

You can view the `3.8.0 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix logical checks which report positions out of bounds (See also
  `GitLab!422`_, `GitLab635`_)

- Fix ``--exclude=.*`` accidentally matching ``.`` and ``..`` (See also
  `GitLab!424`_, `GitLab632`_)

Deprecations
~~~~~~~~~~~~

- Add deprecation message for vcs hooks (See also `GitLab!420`_,
  `GitLab568`_)
   ```
   
  
  
   ### 3.8.0a2
   ```
   ---------------------

You can view the `3.8.0 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix ``type=&quot;str&quot;`` optparse options (See also `GitLab!419`_)
   ```
   
  
  
   ### 3.8.0a1
   ```
   ---------------------

You can view the `3.8.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- Remove dependency on ``entrypoints`` and add dependency on
  ``importlib-metadata`` (only for ``python&lt;3.8``) (See also `GitLab!388`_,
  `GitLab569`_)

- Pyflakes has been updated to &gt;= 2.2.0, &lt; 2.3.0 (See also `GitLab!417`_)

- pycodestyle has been updated to &gt;= 2.6.0a1, &lt; 2.7.0 (See also `GitLab!418`_)

Features
~~~~~~~~

- Add ``--extend-exclude`` option to add to ``--exclude`` without overwriting
  (See also `GitLab!315`_, `GitLab535`_)

- Move argument parsing from ``optparse`` to ``argparse`` (See also
  `GitLab!341`_

- Group plugin options in ``--help`` (See also `GitLab!342`_, `GitLab565`_)

- Remove parsing of ``verbose`` from configuration files as it was not
  consistently applied (See also `GitLab!360`_, `GitLab439`_)

- Remove parsing of ``output_file`` from configuration files as it was not
  consistently applied (See also `GitLab!361`_)

- Resolve configuration files relative to ``cwd`` instead of common prefix of
  passed filenames.  You may need to change ``flake8 subproject`` to
  ``cd subproject &amp;&amp; flake8 .`` (See also `GitLab!363`_)

- Officially support python3.8 (See also `GitLab!377`_)

- ``--disable-noqa`` now also disables `` flake8: noqa`` (See also
  `GitLab!380`_, `GitLab590`_)

- Ensure that a missing file produces a ``E902`` error (See also `GitLab!404`_,
  `GitLab600`_)

- `` noqa`` comments now apply to all of the lines in an explicit ``\``
  continuation or in a line continued by a multi-line string (See also
  `GitLab!413`_, `GitLab375`_)

Bugs Fixed
~~~~~~~~~~

- Fix ``--exclude=./t.py`` to only match ``t.py`` at the top level (See also
  `GitLab!311`_, `GitLab382`_)

- Fix ``--show-source`` when a file is indented with tabs (See also
  `GitLab!339`_, `GitLab563`_)

- Fix crash when ``--max-line-length`` is given a non-integer (See also
  `GitLab!341`_, `GitLab541`_)

- Prevent flip-flopping of ``indent_char`` causing extra ``E101`` errors (See
  also `GitLab!357`_, `pycodestyle886`_)

- Only enable multiprocessing when the method is ``fork`` fixing issues
  on macos with python3.8+ (See also `GitLab!366`_, `GitLab587`_) (note: this
  fix also landed in 3.7.9)

- ``noqa`` is now only handled by flake8 fixing specific-noqa.  Plugins
  requesting this parameter will always receive ``False`` (See also
  `GitLab!331`_, `GitLab552`_)

- Fix duplicate loading of plugins when invoked via ``python -m flake8`` (See
  also `GitLab!388`_)

- Fix early exit when ``--exit-zero`` and ``--diff`` are provided and the diff
  is empty (See also `GitLab!391`_)

- Consistently split lines when ``\f`` is present when reading from stdin (See
  also `GitLab!406`_, `GitLab270`_)

Deprecations
~~~~~~~~~~~~

- ``python setup.py flake8`` (setuptools integration) is now deprecated and
  will be removed in a future version (See also `GitLab!330`_, `GitLab544`_)

- ``type=&#39;string&#39;`` (optparse) types are deprecated, use
  ``type=callable`` (argparse) instead.  Support for ``type=&#39;string&#39;`` will
  be removed in a future version (See also `GitLab!341`_)

- ``%default`` in plugin option help text is deprecated, use ``%(default)s``
  instead.  Support for ``%default`` will be removed in a future version (See
  also `GitLab!341`_)

- optparse-style ``action=&#39;callback&#39;`` setting for options is deprecated, use
  argparse action classes instead.  This will be removed in a future version
  (See also `GitLab!341`_)


.. all links
.. _3.8.0 milestone:
    https://gitlab.com/pycqa/flake8/-/milestones/32

.. merge request links
.. _GitLab270:
   https://gitlab.com/pycqa/flake8/-/issues/270
.. _GitLab375:
   https://gitlab.com/pycqa/flake8/-/issues/375
.. _GitLab382:
   https://gitlab.com/pycqa/flake8/-/issues/382
.. _GitLab439:
   https://gitlab.com/pycqa/flake8/-/issues/439
.. _GitLab535:
   https://gitlab.com/pycqa/flake8/-/issues/535
.. _GitLab541:
   https://gitlab.com/pycqa/flake8/-/issues/541
.. _GitLab544:
   https://gitlab.com/pycqa/flake8/-/issues/544
.. _GitLab552:
   https://gitlab.com/pycqa/flake8/-/issues/552
.. _GitLab563:
   https://gitlab.com/pycqa/flake8/-/issues/563
.. _GitLab565:
   https://gitlab.com/pycqa/flake8/-/issues/565
.. _GitLab568:
   https://gitlab.com/pycqa/flake8/-/issues/568
.. _GitLab569:
   https://gitlab.com/pycqa/flake8/-/issues/569
.. _GitLab587:
   https://gitlab.com/pycqa/flake8/-/issues/587
.. _GitLab590:
   https://gitlab.com/pycqa/flake8/-/issues/590
.. _GitLab600:
   https://gitlab.com/pycqa/flake8/-/issues/600
.. _GitLab632:
   https://gitlab.com/pycqa/flake8/-/issues/632
.. _GitLab635:
   https://gitlab.com/pycqa/flake8/-/issues/635
.. _pycodestyle886:
   PyCQA/pycodestyle#886

.. issue links
.. _GitLab!311:
   https://gitlab.com/pycqa/flake8/-/merge_requests/311
.. _GitLab!315:
   https://gitlab.com/pycqa/flake8/-/merge_requests/315
.. _GitLab!330:
   https://gitlab.com/pycqa/flake8/-/merge_requests/330
.. _GitLab!331:
   https://gitlab.com/pycqa/flake8/-/merge_requests/331
.. _GitLab!339:
   https://gitlab.com/pycqa/flake8/-/merge_requests/339
.. _GitLab!341:
   https://gitlab.com/pycqa/flake8/-/merge_requests/341
.. _GitLab!342:
   https://gitlab.com/pycqa/flake8/-/merge_requests/342
.. _GitLab!357:
   https://gitlab.com/pycqa/flake8/-/merge_requests/357
.. _GitLab!360:
   https://gitlab.com/pycqa/flake8/-/merge_requests/360
.. _GitLab!361:
   https://gitlab.com/pycqa/flake8/-/merge_requests/361
.. _GitLab!363:
   https://gitlab.com/pycqa/flake8/-/merge_requests/363
.. _GitLab!366:
   https://gitlab.com/pycqa/flake8/-/merge_requests/366
.. _GitLab!377:
   https://gitlab.com/pycqa/flake8/-/merge_requests/377
.. _GitLab!380:
   https://gitlab.com/pycqa/flake8/-/merge_requests/380
.. _GitLab!388:
   https://gitlab.com/pycqa/flake8/-/merge_requests/388
.. _GitLab!391:
   https://gitlab.com/pycqa/flake8/-/merge_requests/391
.. _GitLab!404:
   https://gitlab.com/pycqa/flake8/-/merge_requests/404
.. _GitLab!406:
   https://gitlab.com/pycqa/flake8/-/merge_requests/406
.. _GitLab!413:
   https://gitlab.com/pycqa/flake8/-/merge_requests/413
.. _GitLab!417:
   https://gitlab.com/pycqa/flake8/-/merge_requests/417
.. _GitLab!418:
   https://gitlab.com/pycqa/flake8/-/merge_requests/418
.. _GitLab!419:
   https://gitlab.com/pycqa/flake8/-/merge_requests/419
.. _GitLab!420:
   https://gitlab.com/pycqa/flake8/-/merge_requests/420
.. _GitLab!422:
   https://gitlab.com/pycqa/flake8/-/merge_requests/422
.. _GitLab!424:
   https://gitlab.com/pycqa/flake8/-/merge_requests/424
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/flake8
  - Changelog: https://pyup.io/changelogs/flake8/
  - Repo: https://gitlab.com/pycqa/flake8
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
Co-authored-by: Ellen Marie Dash <me@duckie.co>
bors bot added a commit that referenced this issue Jun 9, 2020
131: Update pylint to 2.5.3 r=duckinator a=pyup-bot


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



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

Release date: 2020-06-8

* Fix a regression where disable comments that have checker names with numbers in them are not parsed correctly

  Close 3666

* `property-with-parameters` properly handles abstract properties

  Close 3600

* `continue-in-finally` no longer emitted on Python 3.8 where it&#39;s now valid

  Close 3612

* Fix a regression where messages with dash are not fully parsed

  Close 3604

* In a TOML configuration file, it&#39;s now possible to use rich (non-string) types, such as list, integer or boolean instead of strings. For example, one can now define a *list* of message identifiers to enable like this::

    enable = [
        &quot;use-symbolic-message-instead&quot;,
        &quot;useless-suppression&quot;,
    ]

  Close 3538

* Fix a regression where the score was not reported with multiple jobs

  Close 3547

* Protect against `AttributeError` when checking `cell-var-from-loop`

  Close 3646
   ```
   
  
</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>
bors bot added a commit that referenced this issue Jul 3, 2020
140: Update setuptools to 49.0.0 r=duckinator a=pyup-bot


This PR updates [setuptools](https://pypi.org/project/setuptools) from **47.3.1** to **49.0.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 49.0.0
   ```
   -------

* 2165: Setuptools no longer installs a site.py file during easy_install or develop installs. As a result, .eggs on PYTHONPATH will no longer take precedence over other packages on sys.path. If this issue affects your production environment, please reach out to the maintainers at 2165.
* 2137: Removed (private) pkg_resources.RequirementParseError, now replaced by packaging.requirements.InvalidRequirement. Kept the name for compatibility, but users should catch InvalidRequirement instead.
* 2180: Update vendored packaging in pkg_resources to 19.2.
* 2199: Fix exception causes all over the codebase by using ``raise new_exception from old_exception``
   ```
   
  
  
   ### 48.0.0
   ```
   -------

* 2143: Setuptools adopts distutils from the Python 3.9 standard library and no longer depends on distutils in the standard library. When importing ``setuptools`` or ``setuptools.distutils_patch``, Setuptools will expose its bundled version as a top-level ``distutils`` package (and unload any previously-imported top-level distutils package), retaining the expectation that ``distutils``&#39; objects are actually Setuptools objects. Although this change is not expected to break any use cases, it will likely affect tool chains that are monkey-patching distutils or relying on Setuptools&#39; own monkey-patching of distutils.
   ```
   
  
  
   ### 47.3.2
   ```
   -------

* 2071: Replaced references to the deprecated imp package with references to importlib
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Jul 11, 2020
149: Update setuptools to 49.1.2 r=duckinator a=pyup-bot


This PR updates [setuptools](https://pypi.org/project/setuptools) from **49.1.1** to **49.1.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 49.1.2
   ```
   -------

* 2232: In preparation for re-enabling a local copy of distutils, Setuptools now honors an environment variable, SETUPTOOLS_USE_DISTUTILS. If set to &#39;stdlib&#39; (current default), distutils will be used from the standard library. If set to &#39;local&#39; (default in a imminent backward-incompatible release), the local copy of distutils will be used.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Jul 30, 2020
153: Update pip to 20.2 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.1.1** to **20.2**.



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

Deprecations and Removals
-------------------------

- Deprecate setup.py-based builds that do not generate an ``.egg-info`` directory. (`6998 &lt;https://github.com/pypa/pip/issues/6998&gt;`_, `8617 &lt;https://github.com/pypa/pip/issues/8617&gt;`_)
- Disallow passing install-location-related arguments in ``--install-options``. (`7309 &lt;https://github.com/pypa/pip/issues/7309&gt;`_)
- Add deprecation warning for invalid requirements format &quot;base&gt;=1.0[extra]&quot; (`8288 &lt;https://github.com/pypa/pip/issues/8288&gt;`_)
- Deprecate legacy setup.py install when building a wheel failed for source
  distributions without pyproject.toml (`8368 &lt;https://github.com/pypa/pip/issues/8368&gt;`_)
- Deprecate -b/--build/--build-dir/--build-directory. Its current behaviour is confusing
  and breaks in case different versions of the same distribution need to be built during
  the resolution process. Using the TMPDIR/TEMP/TMP environment variable, possibly
  combined with --no-clean covers known use cases. (`8372 &lt;https://github.com/pypa/pip/issues/8372&gt;`_)
- Remove undocumented and deprecated option ``--always-unzip`` (`8408 &lt;https://github.com/pypa/pip/issues/8408&gt;`_)

Features
--------

- Log debugging information about pip, in ``pip install --verbose``. (`3166 &lt;https://github.com/pypa/pip/issues/3166&gt;`_)
- Refine error messages to avoid showing Python tracebacks when an HTTP error occurs. (`5380 &lt;https://github.com/pypa/pip/issues/5380&gt;`_)
- Install wheel files directly instead of extracting them to a temp directory. (`6030 &lt;https://github.com/pypa/pip/issues/6030&gt;`_)
- Add a beta version of pip&#39;s next-generation dependency resolver.

  Move pip&#39;s new resolver into beta, remove the
  ``--unstable-feature=resolver`` flag, and enable the
  ``--use-feature=2020-resolver`` flag. The new resolver is
  significantly stricter and more consistent when it receives
  incompatible instructions, and reduces support for certain kinds of
  :ref:`Constraints Files`, so some workarounds and workflows may
  break. More details about how to test and migrate, and how to report
  issues, at :ref:`Resolver changes 2020` . Maintainers are preparing to
   ```
   
  
  
   ### 20.2b1
   ```
   ===================

Bug Fixes
---------

- Correctly treat wheels containing non-ASCII file contents so they can be
  installed on Windows. (`5712 &lt;https://github.com/pypa/pip/issues/5712&gt;`_)
- Prompt the user for password if the keyring backend doesn&#39;t return one (`7998 &lt;https://github.com/pypa/pip/issues/7998&gt;`_)

Improved Documentation
----------------------

- Add GitHub issue template for reporting when the dependency resolver fails (`8207 &lt;https://github.com/pypa/pip/issues/8207&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Jul 31, 2020
153: Update pip to 20.2 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.1.1** to **20.2**.



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

Deprecations and Removals
-------------------------

- Deprecate setup.py-based builds that do not generate an ``.egg-info`` directory. (`6998 &lt;https://github.com/pypa/pip/issues/6998&gt;`_, `8617 &lt;https://github.com/pypa/pip/issues/8617&gt;`_)
- Disallow passing install-location-related arguments in ``--install-options``. (`7309 &lt;https://github.com/pypa/pip/issues/7309&gt;`_)
- Add deprecation warning for invalid requirements format &quot;base&gt;=1.0[extra]&quot; (`8288 &lt;https://github.com/pypa/pip/issues/8288&gt;`_)
- Deprecate legacy setup.py install when building a wheel failed for source
  distributions without pyproject.toml (`8368 &lt;https://github.com/pypa/pip/issues/8368&gt;`_)
- Deprecate -b/--build/--build-dir/--build-directory. Its current behaviour is confusing
  and breaks in case different versions of the same distribution need to be built during
  the resolution process. Using the TMPDIR/TEMP/TMP environment variable, possibly
  combined with --no-clean covers known use cases. (`8372 &lt;https://github.com/pypa/pip/issues/8372&gt;`_)
- Remove undocumented and deprecated option ``--always-unzip`` (`8408 &lt;https://github.com/pypa/pip/issues/8408&gt;`_)

Features
--------

- Log debugging information about pip, in ``pip install --verbose``. (`3166 &lt;https://github.com/pypa/pip/issues/3166&gt;`_)
- Refine error messages to avoid showing Python tracebacks when an HTTP error occurs. (`5380 &lt;https://github.com/pypa/pip/issues/5380&gt;`_)
- Install wheel files directly instead of extracting them to a temp directory. (`6030 &lt;https://github.com/pypa/pip/issues/6030&gt;`_)
- Add a beta version of pip&#39;s next-generation dependency resolver.

  Move pip&#39;s new resolver into beta, remove the
  ``--unstable-feature=resolver`` flag, and enable the
  ``--use-feature=2020-resolver`` flag. The new resolver is
  significantly stricter and more consistent when it receives
  incompatible instructions, and reduces support for certain kinds of
  :ref:`Constraints Files`, so some workarounds and workflows may
  break. More details about how to test and migrate, and how to report
  issues, at :ref:`Resolver changes 2020` . Maintainers are preparing to
   ```
   
  
  
   ### 20.2b1
   ```
   ===================

Bug Fixes
---------

- Correctly treat wheels containing non-ASCII file contents so they can be
  installed on Windows. (`5712 &lt;https://github.com/pypa/pip/issues/5712&gt;`_)
- Prompt the user for password if the keyring backend doesn&#39;t return one (`7998 &lt;https://github.com/pypa/pip/issues/7998&gt;`_)

Improved Documentation
----------------------

- Add GitHub issue template for reporting when the dependency resolver fails (`8207 &lt;https://github.com/pypa/pip/issues/8207&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
Co-authored-by: Ellen Marie Dash <me@duckie.co>
bors bot added a commit that referenced this issue Aug 11, 2020
162: Update pip to 20.2.2 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.2.1** to **20.2.2**.



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

Bug Fixes
---------

- Only attempt to use the keyring once and if it fails, don&#39;t try again.
  This prevents spamming users with several keyring unlock prompts when they
  cannot unlock or don&#39;t want to do so. (`8090 &lt;https://github.com/pypa/pip/issues/8090&gt;`_)
- Fix regression that distributions in system site-packages are not correctly
  found when a virtual environment is configured with ``system-site-packages``
  on. (`8695 &lt;https://github.com/pypa/pip/issues/8695&gt;`_)
- Disable caching for range requests, which causes corrupted wheels
  when pip tries to obtain metadata using the feature ``fast-deps``. (`8701 &lt;https://github.com/pypa/pip/issues/8701&gt;`_, `8716 &lt;https://github.com/pypa/pip/issues/8716&gt;`_)
- Always use UTF-8 to read ``pyvenv.cfg`` to match the built-in ``venv``. (`8717 &lt;https://github.com/pypa/pip/issues/8717&gt;`_)
- 2020 Resolver: Correctly handle marker evaluation in constraints and exclude
  them if their markers do not match the current environment. (`8724 &lt;https://github.com/pypa/pip/issues/8724&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Aug 21, 2020
169: Update pylint to 2.6.0 r=duckinator a=pyup-bot


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



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

Release date: 2020-08-20

* Fix various scope-related bugs in ``undefined-variable`` checker

  Close 1082, 3434, 3461

* bad-continuation and bad-whitespace have been removed, black or another formatter can help you with this better than Pylint

  Close 246, 289, 638, 747, 1148, 1179, 1943, 2041, 2301, 2304, 2944, 3565

* The no-space-check option has been removed. It&#39;s no longer possible to consider empty line like a `trailing-whitespace` by using clever options

  Close 1368

* ``missing-kwoa`` is no longer emitted when dealing with overload functions

  Close 3655

* mixed-indentation has been removed, it is no longer useful since TabError is included directly in python3

  Close 2984 3573

* Add `super-with-arguments` check for flagging instances of Python 2 style super calls.

* Add an faq detailing which messages to disable to avoid duplicates w/ other popular linters

* Fix superfluous-parens false-positive for the walrus operator

  Close 3383

* Fix `fail-under` not accepting floats

* Fix a bug with `ignore-docstrings` ignoring all lines in a module

* Fix `pre-commit` config that could lead to undetected duplicate lines of code

* Fix a crash in parallel mode when the module&#39;s filepath is not set

  Close 3564

* Add `raise-missing-from` check for exceptions that should have a cause.

* Support both isort 4 and isort 5. If you have pinned isort 4 in your projet requirements, nothing changes. If you use isort 5, though, note that the `known-standard-library` option is not interpreted the same in isort 4 and isort 5 (see the migration guide in isort documentation for further details). For compatibility&#39;s sake for most pylint users, the `known-standard-library` option in pylint now maps to `extra-standard-library` in isort 5. If you really want what `known-standard-library` now means in isort 5, you must disable the `wrong-import-order` check in pylint and run isort manually with a proper isort configuration file.

  Close 3722
   ```
   
  
  
   ### 2.5.4
   ```
   ===========================

* Fix a crash caused by not guarding against `InferenceError` when calling `infer_call_result`

  Close 3690

* Fix a crash in parallel mode when the module&#39;s filepath is not set

  Close 3564
   ```
   
  
</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>
bors bot added a commit that referenced this issue Sep 1, 2020
171: Update setuptools to 50.0.1 r=duckinator a=pyup-bot


This PR updates [setuptools](https://pypi.org/project/setuptools) from **50.0.0** to **50.0.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 50.0.1
   ```
   -------

* 2357: Restored Python 3.5 support in distutils.util for missing `subprocess._optim_args_from_interpreter_flags`.
* 2358: Restored AIX support on Python 3.8 and earlier.
* 2361: Add Python 3.10 support to _distutils_hack. Get the &#39;Loader&#39; abstract class
  from importlib.abc rather than importlib.util.abc (alias removed in Python
  3.10).
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Dec 1, 2020
195: Update pip to 20.3 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.2.4** to **20.3**.



<details>
  <summary>Changelog</summary>
  
  
   ### 20.3
   ```
   - Introduce a new ResolutionImpossible error, raised when pip encounters un-satisfiable dependency conflicts (`8546 &lt;https://github.com/pypa/pip/issues/8546&gt;`_, `8377 &lt;https://github.com/pypa/pip/issues/8377&gt;`_)
- Add a subcommand ``debug`` to ``pip config`` to list available configuration sources and the key-value pairs defined in them. (`6741 &lt;https://github.com/pypa/pip/issues/6741&gt;`_)
- Warn if index pages have unexpected content-type (`6754 &lt;https://github.com/pypa/pip/issues/6754&gt;`_)
- Allow specifying ``--prefer-binary`` option in a requirements file (`7693 &lt;https://github.com/pypa/pip/issues/7693&gt;`_)
- Generate PEP 376 REQUESTED metadata for user supplied requirements installed
  by pip. (`7811 &lt;https://github.com/pypa/pip/issues/7811&gt;`_)
- Warn if package url is a vcs or an archive url with invalid scheme (`8128 &lt;https://github.com/pypa/pip/issues/8128&gt;`_)
- Parallelize network operations in ``pip list``. (`8504 &lt;https://github.com/pypa/pip/issues/8504&gt;`_)
- Allow the new resolver to obtain dependency information through wheels
  lazily downloaded using HTTP range requests.  To enable this feature,
  invoke ``pip`` with ``--use-feature=fast-deps``. (`8588 &lt;https://github.com/pypa/pip/issues/8588&gt;`_)
- Support ``--use-feature`` in requirements files (`8601 &lt;https://github.com/pypa/pip/issues/8601&gt;`_)

Bug Fixes
---------

- Use canonical package names while looking up already installed packages. (`5021 &lt;https://github.com/pypa/pip/issues/5021&gt;`_)
- Fix normalizing path on Windows when installing package on another logical disk. (`7625 &lt;https://github.com/pypa/pip/issues/7625&gt;`_)
- The VCS commands run by pip as subprocesses don&#39;t merge stdout and stderr anymore, improving the output parsing by subsequent commands. (`7968 &lt;https://github.com/pypa/pip/issues/7968&gt;`_)
- Correctly treat non-ASCII entry point declarations in wheels so they can be
  installed on Windows. (`8342 &lt;https://github.com/pypa/pip/issues/8342&gt;`_)
- Update author email in config and tests to reflect decommissioning of pypa-dev list. (`8454 &lt;https://github.com/pypa/pip/issues/8454&gt;`_)
- Headers provided by wheels in .data directories are now correctly installed
  into the user-provided locations, such as ``--prefix``, instead of the virtual
  environment pip is running in. (`8521 &lt;https://github.com/pypa/pip/issues/8521&gt;`_)

Vendored Libraries
------------------

- Vendored htmlib5 no longer imports deprecated xml.etree.cElementTree on Python 3.
- Upgrade appdirs to 1.4.4
- Upgrade certifi to 2020.6.20
- Upgrade distlib to 0.3.1
- Upgrade html5lib to 1.1
- Upgrade idna to 2.10
- Upgrade packaging to 20.4
- Upgrade requests to 2.24.0
- Upgrade six to 1.15.0
- Upgrade toml to 0.10.1
- Upgrade urllib3 to 1.25.9

Improved Documentation
----------------------

- Add ``--no-input`` option to pip docs (`7688 &lt;https://github.com/pypa/pip/issues/7688&gt;`_)
- List of options supported in requirements file are extracted from source of truth,
  instead of being maintained manually. (`7908 &lt;https://github.com/pypa/pip/issues/7908&gt;`_)
- Fix pip config docstring so that the subcommands render correctly in the docs (`8072 &lt;https://github.com/pypa/pip/issues/8072&gt;`_)
- replace links to the old pypa-dev mailing list with https://mail.python.org/mailman3/lists/distutils-sig.python.org/ (`8353 &lt;https://github.com/pypa/pip/issues/8353&gt;`_)
- Fix example for defining multiple values for options which support them (`8373 &lt;https://github.com/pypa/pip/issues/8373&gt;`_)
- Add documentation for the ResolutionImpossible error that helps the user fix dependency conflicts (`8459 &lt;https://github.com/pypa/pip/issues/8459&gt;`_)
- Add feature flags to docs (`8512 &lt;https://github.com/pypa/pip/issues/8512&gt;`_)
- Document how to install package extras from git branch and source distributions. (`8576 &lt;https://github.com/pypa/pip/issues/8576&gt;`_)
   ```
   
  
  
   ### 20.3b1
   ```
   ===================

Deprecations and Removals
-------------------------

- ``pip freeze`` will stop filtering the ``pip``, ``setuptools``, ``distribute`` and ``wheel`` packages from ``pip freeze`` output in a future version.
  To keep the previous behavior, users should use the new ``--exclude`` option. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Deprecate support for Python 3.5 (`8181 &lt;https://github.com/pypa/pip/issues/8181&gt;`_)
- Document that certain removals can be fast tracked. (`8417 &lt;https://github.com/pypa/pip/issues/8417&gt;`_)
- Document that Python versions are generally supported until PyPI usage falls below 5%. (`8927 &lt;https://github.com/pypa/pip/issues/8927&gt;`_)
- Deprecate ``--find-links`` option in ``pip freeze`` (`9069 &lt;https://github.com/pypa/pip/issues/9069&gt;`_)

Features
--------

- Add ``--exclude`` option to ``pip freeze`` and ``pip list`` commands to explicitly exclude packages from the output. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Allow multiple values for --abi and --platform. (`6121 &lt;https://github.com/pypa/pip/issues/6121&gt;`_)
- Add option ``--format`` to subcommand ``list`` of ``pip  cache``, with ``abspath`` choice to output the full path of a wheel file. (`8355 &lt;https://github.com/pypa/pip/issues/8355&gt;`_)
- Improve error message friendliness when an environment has packages with
  corrupted metadata. (`8676 &lt;https://github.com/pypa/pip/issues/8676&gt;`_)
- Make the ``setup.py install`` deprecation warning less noisy. We warn only
  when ``setup.py install`` succeeded and ``setup.py bdist_wheel`` failed, as
  situations where both fails are most probably irrelevant to this deprecation. (`8752 &lt;https://github.com/pypa/pip/issues/8752&gt;`_)
- Check the download directory for existing wheels to possibly avoid
  fetching metadata when the ``fast-deps`` feature is used with
  ``pip wheel`` and ``pip download``. (`8804 &lt;https://github.com/pypa/pip/issues/8804&gt;`_)
- When installing a git URL that refers to a commit that is not available locally
  after git clone, attempt to fetch it from the remote. (`8815 &lt;https://github.com/pypa/pip/issues/8815&gt;`_)
- Include http subdirectory in ``pip cache info`` and ``pip cache purge`` commands. (`8892 &lt;https://github.com/pypa/pip/issues/8892&gt;`_)
- Cache package listings on index packages so they are guarenteed to stay stable
  during a pip command session. This also improves performance when a index page
  is accessed multiple times during the command session. (`8905 &lt;https://github.com/pypa/pip/issues/8905&gt;`_)
- New resolver: Tweak resolution logic to improve user experience when
  user-supplied requirements conflict. (`8924 &lt;https://github.com/pypa/pip/issues/8924&gt;`_)
- Support Python 3.9. (`8971 &lt;https://github.com/pypa/pip/issues/8971&gt;`_)
- Log an informational message when backtracking takes multiple rounds on a specific package. (`8975 &lt;https://github.com/pypa/pip/issues/8975&gt;`_)
- Switch to the new dependency resolver by default. (`9019 &lt;https://github.com/pypa/pip/issues/9019&gt;`_)
- Remove the ``--build-dir`` option, as per the deprecation. (`9049 &lt;https://github.com/pypa/pip/issues/9049&gt;`_)

Bug Fixes
---------

- Propagate ``--extra-index-url`` from requirements file properly to session auth,
  so that keyring auth will work as expected. (`8103 &lt;https://github.com/pypa/pip/issues/8103&gt;`_)
- Allow specifying verbosity and quiet level via configuration files
  and environment variables. Previously these options were treated as
  boolean values when read from there while through CLI the level can be
  specified. (`8578 &lt;https://github.com/pypa/pip/issues/8578&gt;`_)
- Only converts Windows path to unicode on Python 2 to avoid regressions when a
  POSIX environment does not configure the file system encoding correctly. (`8658 &lt;https://github.com/pypa/pip/issues/8658&gt;`_)
- List downloaded distributions before exiting ``pip download``
  when using the new resolver to make the behavior the same as
  that on the legacy resolver. (`8696 &lt;https://github.com/pypa/pip/issues/8696&gt;`_)
- New resolver: Pick up hash declarations in constraints files and use them to
  filter available distributions. (`8792 &lt;https://github.com/pypa/pip/issues/8792&gt;`_)
- Avoid polluting the destination directory by resolution artifacts
  when the new resolver is used for ``pip download`` or ``pip wheel``. (`8827 &lt;https://github.com/pypa/pip/issues/8827&gt;`_)
- New resolver: If a package appears multiple times in user specification with
  different ``--hash`` options, only hashes that present in all specifications
  should be allowed. (`8839 &lt;https://github.com/pypa/pip/issues/8839&gt;`_)
- Tweak the output during dependency resolution in the new resolver. (`8861 &lt;https://github.com/pypa/pip/issues/8861&gt;`_)
- Correctly search for installed distributions in new resolver logic in order
  to not miss packages (virtualenv packages from system-wide-packages for example) (`8963 &lt;https://github.com/pypa/pip/issues/8963&gt;`_)
- Do not fail in pip freeze when encountering a ``direct_url.json`` metadata file
  with editable=True. Render it as a non-editable ``file://`` URL until modern
  editable installs are standardized and supported. (`8996 &lt;https://github.com/pypa/pip/issues/8996&gt;`_)

Vendored Libraries
------------------

- Fix devendoring instructions to explicitly state that ``vendor.txt`` should not be removed.
  It is mandatory for ``pip debug`` command.

Improved Documentation
----------------------

- Add documentation for &#39;.netrc&#39; support. (`7231 &lt;https://github.com/pypa/pip/issues/7231&gt;`_)
- Add OS tabs for OS-specific commands. (`7311 &lt;https://github.com/pypa/pip/issues/7311&gt;`_)
- Add note and example on keyring support for index basic-auth (`8636 &lt;https://github.com/pypa/pip/issues/8636&gt;`_)
- Added initial UX feedback widgets to docs. (`8783 &lt;https://github.com/pypa/pip/issues/8783&gt;`_, `8848 &lt;https://github.com/pypa/pip/issues/8848&gt;`_)
- Add ux documentation (`8807 &lt;https://github.com/pypa/pip/issues/8807&gt;`_)
- Update user docs to reflect new resolver as default in 20.3. (`9044 &lt;https://github.com/pypa/pip/issues/9044&gt;`_)
- Improve migration guide to reflect changes in new resolver behavior. (`9056 &lt;https://github.com/pypa/pip/issues/9056&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Dec 1, 2020
195: Update pip to 20.3 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.2.4** to **20.3**.



<details>
  <summary>Changelog</summary>
  
  
   ### 20.3
   ```
   - Introduce a new ResolutionImpossible error, raised when pip encounters un-satisfiable dependency conflicts (`8546 &lt;https://github.com/pypa/pip/issues/8546&gt;`_, `8377 &lt;https://github.com/pypa/pip/issues/8377&gt;`_)
- Add a subcommand ``debug`` to ``pip config`` to list available configuration sources and the key-value pairs defined in them. (`6741 &lt;https://github.com/pypa/pip/issues/6741&gt;`_)
- Warn if index pages have unexpected content-type (`6754 &lt;https://github.com/pypa/pip/issues/6754&gt;`_)
- Allow specifying ``--prefer-binary`` option in a requirements file (`7693 &lt;https://github.com/pypa/pip/issues/7693&gt;`_)
- Generate PEP 376 REQUESTED metadata for user supplied requirements installed
  by pip. (`7811 &lt;https://github.com/pypa/pip/issues/7811&gt;`_)
- Warn if package url is a vcs or an archive url with invalid scheme (`8128 &lt;https://github.com/pypa/pip/issues/8128&gt;`_)
- Parallelize network operations in ``pip list``. (`8504 &lt;https://github.com/pypa/pip/issues/8504&gt;`_)
- Allow the new resolver to obtain dependency information through wheels
  lazily downloaded using HTTP range requests.  To enable this feature,
  invoke ``pip`` with ``--use-feature=fast-deps``. (`8588 &lt;https://github.com/pypa/pip/issues/8588&gt;`_)
- Support ``--use-feature`` in requirements files (`8601 &lt;https://github.com/pypa/pip/issues/8601&gt;`_)

Bug Fixes
---------

- Use canonical package names while looking up already installed packages. (`5021 &lt;https://github.com/pypa/pip/issues/5021&gt;`_)
- Fix normalizing path on Windows when installing package on another logical disk. (`7625 &lt;https://github.com/pypa/pip/issues/7625&gt;`_)
- The VCS commands run by pip as subprocesses don&#39;t merge stdout and stderr anymore, improving the output parsing by subsequent commands. (`7968 &lt;https://github.com/pypa/pip/issues/7968&gt;`_)
- Correctly treat non-ASCII entry point declarations in wheels so they can be
  installed on Windows. (`8342 &lt;https://github.com/pypa/pip/issues/8342&gt;`_)
- Update author email in config and tests to reflect decommissioning of pypa-dev list. (`8454 &lt;https://github.com/pypa/pip/issues/8454&gt;`_)
- Headers provided by wheels in .data directories are now correctly installed
  into the user-provided locations, such as ``--prefix``, instead of the virtual
  environment pip is running in. (`8521 &lt;https://github.com/pypa/pip/issues/8521&gt;`_)

Vendored Libraries
------------------

- Vendored htmlib5 no longer imports deprecated xml.etree.cElementTree on Python 3.
- Upgrade appdirs to 1.4.4
- Upgrade certifi to 2020.6.20
- Upgrade distlib to 0.3.1
- Upgrade html5lib to 1.1
- Upgrade idna to 2.10
- Upgrade packaging to 20.4
- Upgrade requests to 2.24.0
- Upgrade six to 1.15.0
- Upgrade toml to 0.10.1
- Upgrade urllib3 to 1.25.9

Improved Documentation
----------------------

- Add ``--no-input`` option to pip docs (`7688 &lt;https://github.com/pypa/pip/issues/7688&gt;`_)
- List of options supported in requirements file are extracted from source of truth,
  instead of being maintained manually. (`7908 &lt;https://github.com/pypa/pip/issues/7908&gt;`_)
- Fix pip config docstring so that the subcommands render correctly in the docs (`8072 &lt;https://github.com/pypa/pip/issues/8072&gt;`_)
- replace links to the old pypa-dev mailing list with https://mail.python.org/mailman3/lists/distutils-sig.python.org/ (`8353 &lt;https://github.com/pypa/pip/issues/8353&gt;`_)
- Fix example for defining multiple values for options which support them (`8373 &lt;https://github.com/pypa/pip/issues/8373&gt;`_)
- Add documentation for the ResolutionImpossible error that helps the user fix dependency conflicts (`8459 &lt;https://github.com/pypa/pip/issues/8459&gt;`_)
- Add feature flags to docs (`8512 &lt;https://github.com/pypa/pip/issues/8512&gt;`_)
- Document how to install package extras from git branch and source distributions. (`8576 &lt;https://github.com/pypa/pip/issues/8576&gt;`_)
   ```
   
  
  
   ### 20.3b1
   ```
   ===================

Deprecations and Removals
-------------------------

- ``pip freeze`` will stop filtering the ``pip``, ``setuptools``, ``distribute`` and ``wheel`` packages from ``pip freeze`` output in a future version.
  To keep the previous behavior, users should use the new ``--exclude`` option. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Deprecate support for Python 3.5 (`8181 &lt;https://github.com/pypa/pip/issues/8181&gt;`_)
- Document that certain removals can be fast tracked. (`8417 &lt;https://github.com/pypa/pip/issues/8417&gt;`_)
- Document that Python versions are generally supported until PyPI usage falls below 5%. (`8927 &lt;https://github.com/pypa/pip/issues/8927&gt;`_)
- Deprecate ``--find-links`` option in ``pip freeze`` (`9069 &lt;https://github.com/pypa/pip/issues/9069&gt;`_)

Features
--------

- Add ``--exclude`` option to ``pip freeze`` and ``pip list`` commands to explicitly exclude packages from the output. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Allow multiple values for --abi and --platform. (`6121 &lt;https://github.com/pypa/pip/issues/6121&gt;`_)
- Add option ``--format`` to subcommand ``list`` of ``pip  cache``, with ``abspath`` choice to output the full path of a wheel file. (`8355 &lt;https://github.com/pypa/pip/issues/8355&gt;`_)
- Improve error message friendliness when an environment has packages with
  corrupted metadata. (`8676 &lt;https://github.com/pypa/pip/issues/8676&gt;`_)
- Make the ``setup.py install`` deprecation warning less noisy. We warn only
  when ``setup.py install`` succeeded and ``setup.py bdist_wheel`` failed, as
  situations where both fails are most probably irrelevant to this deprecation. (`8752 &lt;https://github.com/pypa/pip/issues/8752&gt;`_)
- Check the download directory for existing wheels to possibly avoid
  fetching metadata when the ``fast-deps`` feature is used with
  ``pip wheel`` and ``pip download``. (`8804 &lt;https://github.com/pypa/pip/issues/8804&gt;`_)
- When installing a git URL that refers to a commit that is not available locally
  after git clone, attempt to fetch it from the remote. (`8815 &lt;https://github.com/pypa/pip/issues/8815&gt;`_)
- Include http subdirectory in ``pip cache info`` and ``pip cache purge`` commands. (`8892 &lt;https://github.com/pypa/pip/issues/8892&gt;`_)
- Cache package listings on index packages so they are guarenteed to stay stable
  during a pip command session. This also improves performance when a index page
  is accessed multiple times during the command session. (`8905 &lt;https://github.com/pypa/pip/issues/8905&gt;`_)
- New resolver: Tweak resolution logic to improve user experience when
  user-supplied requirements conflict. (`8924 &lt;https://github.com/pypa/pip/issues/8924&gt;`_)
- Support Python 3.9. (`8971 &lt;https://github.com/pypa/pip/issues/8971&gt;`_)
- Log an informational message when backtracking takes multiple rounds on a specific package. (`8975 &lt;https://github.com/pypa/pip/issues/8975&gt;`_)
- Switch to the new dependency resolver by default. (`9019 &lt;https://github.com/pypa/pip/issues/9019&gt;`_)
- Remove the ``--build-dir`` option, as per the deprecation. (`9049 &lt;https://github.com/pypa/pip/issues/9049&gt;`_)

Bug Fixes
---------

- Propagate ``--extra-index-url`` from requirements file properly to session auth,
  so that keyring auth will work as expected. (`8103 &lt;https://github.com/pypa/pip/issues/8103&gt;`_)
- Allow specifying verbosity and quiet level via configuration files
  and environment variables. Previously these options were treated as
  boolean values when read from there while through CLI the level can be
  specified. (`8578 &lt;https://github.com/pypa/pip/issues/8578&gt;`_)
- Only converts Windows path to unicode on Python 2 to avoid regressions when a
  POSIX environment does not configure the file system encoding correctly. (`8658 &lt;https://github.com/pypa/pip/issues/8658&gt;`_)
- List downloaded distributions before exiting ``pip download``
  when using the new resolver to make the behavior the same as
  that on the legacy resolver. (`8696 &lt;https://github.com/pypa/pip/issues/8696&gt;`_)
- New resolver: Pick up hash declarations in constraints files and use them to
  filter available distributions. (`8792 &lt;https://github.com/pypa/pip/issues/8792&gt;`_)
- Avoid polluting the destination directory by resolution artifacts
  when the new resolver is used for ``pip download`` or ``pip wheel``. (`8827 &lt;https://github.com/pypa/pip/issues/8827&gt;`_)
- New resolver: If a package appears multiple times in user specification with
  different ``--hash`` options, only hashes that present in all specifications
  should be allowed. (`8839 &lt;https://github.com/pypa/pip/issues/8839&gt;`_)
- Tweak the output during dependency resolution in the new resolver. (`8861 &lt;https://github.com/pypa/pip/issues/8861&gt;`_)
- Correctly search for installed distributions in new resolver logic in order
  to not miss packages (virtualenv packages from system-wide-packages for example) (`8963 &lt;https://github.com/pypa/pip/issues/8963&gt;`_)
- Do not fail in pip freeze when encountering a ``direct_url.json`` metadata file
  with editable=True. Render it as a non-editable ``file://`` URL until modern
  editable installs are standardized and supported. (`8996 &lt;https://github.com/pypa/pip/issues/8996&gt;`_)

Vendored Libraries
------------------

- Fix devendoring instructions to explicitly state that ``vendor.txt`` should not be removed.
  It is mandatory for ``pip debug`` command.

Improved Documentation
----------------------

- Add documentation for &#39;.netrc&#39; support. (`7231 &lt;https://github.com/pypa/pip/issues/7231&gt;`_)
- Add OS tabs for OS-specific commands. (`7311 &lt;https://github.com/pypa/pip/issues/7311&gt;`_)
- Add note and example on keyring support for index basic-auth (`8636 &lt;https://github.com/pypa/pip/issues/8636&gt;`_)
- Added initial UX feedback widgets to docs. (`8783 &lt;https://github.com/pypa/pip/issues/8783&gt;`_, `8848 &lt;https://github.com/pypa/pip/issues/8848&gt;`_)
- Add ux documentation (`8807 &lt;https://github.com/pypa/pip/issues/8807&gt;`_)
- Update user docs to reflect new resolver as default in 20.3. (`9044 &lt;https://github.com/pypa/pip/issues/9044&gt;`_)
- Improve migration guide to reflect changes in new resolver behavior. (`9056 &lt;https://github.com/pypa/pip/issues/9056&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Dec 1, 2020
195: Update pip to 20.3 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.2.4** to **20.3**.



<details>
  <summary>Changelog</summary>
  
  
   ### 20.3
   ```
   - Introduce a new ResolutionImpossible error, raised when pip encounters un-satisfiable dependency conflicts (`8546 &lt;https://github.com/pypa/pip/issues/8546&gt;`_, `8377 &lt;https://github.com/pypa/pip/issues/8377&gt;`_)
- Add a subcommand ``debug`` to ``pip config`` to list available configuration sources and the key-value pairs defined in them. (`6741 &lt;https://github.com/pypa/pip/issues/6741&gt;`_)
- Warn if index pages have unexpected content-type (`6754 &lt;https://github.com/pypa/pip/issues/6754&gt;`_)
- Allow specifying ``--prefer-binary`` option in a requirements file (`7693 &lt;https://github.com/pypa/pip/issues/7693&gt;`_)
- Generate PEP 376 REQUESTED metadata for user supplied requirements installed
  by pip. (`7811 &lt;https://github.com/pypa/pip/issues/7811&gt;`_)
- Warn if package url is a vcs or an archive url with invalid scheme (`8128 &lt;https://github.com/pypa/pip/issues/8128&gt;`_)
- Parallelize network operations in ``pip list``. (`8504 &lt;https://github.com/pypa/pip/issues/8504&gt;`_)
- Allow the new resolver to obtain dependency information through wheels
  lazily downloaded using HTTP range requests.  To enable this feature,
  invoke ``pip`` with ``--use-feature=fast-deps``. (`8588 &lt;https://github.com/pypa/pip/issues/8588&gt;`_)
- Support ``--use-feature`` in requirements files (`8601 &lt;https://github.com/pypa/pip/issues/8601&gt;`_)

Bug Fixes
---------

- Use canonical package names while looking up already installed packages. (`5021 &lt;https://github.com/pypa/pip/issues/5021&gt;`_)
- Fix normalizing path on Windows when installing package on another logical disk. (`7625 &lt;https://github.com/pypa/pip/issues/7625&gt;`_)
- The VCS commands run by pip as subprocesses don&#39;t merge stdout and stderr anymore, improving the output parsing by subsequent commands. (`7968 &lt;https://github.com/pypa/pip/issues/7968&gt;`_)
- Correctly treat non-ASCII entry point declarations in wheels so they can be
  installed on Windows. (`8342 &lt;https://github.com/pypa/pip/issues/8342&gt;`_)
- Update author email in config and tests to reflect decommissioning of pypa-dev list. (`8454 &lt;https://github.com/pypa/pip/issues/8454&gt;`_)
- Headers provided by wheels in .data directories are now correctly installed
  into the user-provided locations, such as ``--prefix``, instead of the virtual
  environment pip is running in. (`8521 &lt;https://github.com/pypa/pip/issues/8521&gt;`_)

Vendored Libraries
------------------

- Vendored htmlib5 no longer imports deprecated xml.etree.cElementTree on Python 3.
- Upgrade appdirs to 1.4.4
- Upgrade certifi to 2020.6.20
- Upgrade distlib to 0.3.1
- Upgrade html5lib to 1.1
- Upgrade idna to 2.10
- Upgrade packaging to 20.4
- Upgrade requests to 2.24.0
- Upgrade six to 1.15.0
- Upgrade toml to 0.10.1
- Upgrade urllib3 to 1.25.9

Improved Documentation
----------------------

- Add ``--no-input`` option to pip docs (`7688 &lt;https://github.com/pypa/pip/issues/7688&gt;`_)
- List of options supported in requirements file are extracted from source of truth,
  instead of being maintained manually. (`7908 &lt;https://github.com/pypa/pip/issues/7908&gt;`_)
- Fix pip config docstring so that the subcommands render correctly in the docs (`8072 &lt;https://github.com/pypa/pip/issues/8072&gt;`_)
- replace links to the old pypa-dev mailing list with https://mail.python.org/mailman3/lists/distutils-sig.python.org/ (`8353 &lt;https://github.com/pypa/pip/issues/8353&gt;`_)
- Fix example for defining multiple values for options which support them (`8373 &lt;https://github.com/pypa/pip/issues/8373&gt;`_)
- Add documentation for the ResolutionImpossible error that helps the user fix dependency conflicts (`8459 &lt;https://github.com/pypa/pip/issues/8459&gt;`_)
- Add feature flags to docs (`8512 &lt;https://github.com/pypa/pip/issues/8512&gt;`_)
- Document how to install package extras from git branch and source distributions. (`8576 &lt;https://github.com/pypa/pip/issues/8576&gt;`_)
   ```
   
  
  
   ### 20.3b1
   ```
   ===================

Deprecations and Removals
-------------------------

- ``pip freeze`` will stop filtering the ``pip``, ``setuptools``, ``distribute`` and ``wheel`` packages from ``pip freeze`` output in a future version.
  To keep the previous behavior, users should use the new ``--exclude`` option. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Deprecate support for Python 3.5 (`8181 &lt;https://github.com/pypa/pip/issues/8181&gt;`_)
- Document that certain removals can be fast tracked. (`8417 &lt;https://github.com/pypa/pip/issues/8417&gt;`_)
- Document that Python versions are generally supported until PyPI usage falls below 5%. (`8927 &lt;https://github.com/pypa/pip/issues/8927&gt;`_)
- Deprecate ``--find-links`` option in ``pip freeze`` (`9069 &lt;https://github.com/pypa/pip/issues/9069&gt;`_)

Features
--------

- Add ``--exclude`` option to ``pip freeze`` and ``pip list`` commands to explicitly exclude packages from the output. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Allow multiple values for --abi and --platform. (`6121 &lt;https://github.com/pypa/pip/issues/6121&gt;`_)
- Add option ``--format`` to subcommand ``list`` of ``pip  cache``, with ``abspath`` choice to output the full path of a wheel file. (`8355 &lt;https://github.com/pypa/pip/issues/8355&gt;`_)
- Improve error message friendliness when an environment has packages with
  corrupted metadata. (`8676 &lt;https://github.com/pypa/pip/issues/8676&gt;`_)
- Make the ``setup.py install`` deprecation warning less noisy. We warn only
  when ``setup.py install`` succeeded and ``setup.py bdist_wheel`` failed, as
  situations where both fails are most probably irrelevant to this deprecation. (`8752 &lt;https://github.com/pypa/pip/issues/8752&gt;`_)
- Check the download directory for existing wheels to possibly avoid
  fetching metadata when the ``fast-deps`` feature is used with
  ``pip wheel`` and ``pip download``. (`8804 &lt;https://github.com/pypa/pip/issues/8804&gt;`_)
- When installing a git URL that refers to a commit that is not available locally
  after git clone, attempt to fetch it from the remote. (`8815 &lt;https://github.com/pypa/pip/issues/8815&gt;`_)
- Include http subdirectory in ``pip cache info`` and ``pip cache purge`` commands. (`8892 &lt;https://github.com/pypa/pip/issues/8892&gt;`_)
- Cache package listings on index packages so they are guarenteed to stay stable
  during a pip command session. This also improves performance when a index page
  is accessed multiple times during the command session. (`8905 &lt;https://github.com/pypa/pip/issues/8905&gt;`_)
- New resolver: Tweak resolution logic to improve user experience when
  user-supplied requirements conflict. (`8924 &lt;https://github.com/pypa/pip/issues/8924&gt;`_)
- Support Python 3.9. (`8971 &lt;https://github.com/pypa/pip/issues/8971&gt;`_)
- Log an informational message when backtracking takes multiple rounds on a specific package. (`8975 &lt;https://github.com/pypa/pip/issues/8975&gt;`_)
- Switch to the new dependency resolver by default. (`9019 &lt;https://github.com/pypa/pip/issues/9019&gt;`_)
- Remove the ``--build-dir`` option, as per the deprecation. (`9049 &lt;https://github.com/pypa/pip/issues/9049&gt;`_)

Bug Fixes
---------

- Propagate ``--extra-index-url`` from requirements file properly to session auth,
  so that keyring auth will work as expected. (`8103 &lt;https://github.com/pypa/pip/issues/8103&gt;`_)
- Allow specifying verbosity and quiet level via configuration files
  and environment variables. Previously these options were treated as
  boolean values when read from there while through CLI the level can be
  specified. (`8578 &lt;https://github.com/pypa/pip/issues/8578&gt;`_)
- Only converts Windows path to unicode on Python 2 to avoid regressions when a
  POSIX environment does not configure the file system encoding correctly. (`8658 &lt;https://github.com/pypa/pip/issues/8658&gt;`_)
- List downloaded distributions before exiting ``pip download``
  when using the new resolver to make the behavior the same as
  that on the legacy resolver. (`8696 &lt;https://github.com/pypa/pip/issues/8696&gt;`_)
- New resolver: Pick up hash declarations in constraints files and use them to
  filter available distributions. (`8792 &lt;https://github.com/pypa/pip/issues/8792&gt;`_)
- Avoid polluting the destination directory by resolution artifacts
  when the new resolver is used for ``pip download`` or ``pip wheel``. (`8827 &lt;https://github.com/pypa/pip/issues/8827&gt;`_)
- New resolver: If a package appears multiple times in user specification with
  different ``--hash`` options, only hashes that present in all specifications
  should be allowed. (`8839 &lt;https://github.com/pypa/pip/issues/8839&gt;`_)
- Tweak the output during dependency resolution in the new resolver. (`8861 &lt;https://github.com/pypa/pip/issues/8861&gt;`_)
- Correctly search for installed distributions in new resolver logic in order
  to not miss packages (virtualenv packages from system-wide-packages for example) (`8963 &lt;https://github.com/pypa/pip/issues/8963&gt;`_)
- Do not fail in pip freeze when encountering a ``direct_url.json`` metadata file
  with editable=True. Render it as a non-editable ``file://`` URL until modern
  editable installs are standardized and supported. (`8996 &lt;https://github.com/pypa/pip/issues/8996&gt;`_)

Vendored Libraries
------------------

- Fix devendoring instructions to explicitly state that ``vendor.txt`` should not be removed.
  It is mandatory for ``pip debug`` command.

Improved Documentation
----------------------

- Add documentation for &#39;.netrc&#39; support. (`7231 &lt;https://github.com/pypa/pip/issues/7231&gt;`_)
- Add OS tabs for OS-specific commands. (`7311 &lt;https://github.com/pypa/pip/issues/7311&gt;`_)
- Add note and example on keyring support for index basic-auth (`8636 &lt;https://github.com/pypa/pip/issues/8636&gt;`_)
- Added initial UX feedback widgets to docs. (`8783 &lt;https://github.com/pypa/pip/issues/8783&gt;`_, `8848 &lt;https://github.com/pypa/pip/issues/8848&gt;`_)
- Add ux documentation (`8807 &lt;https://github.com/pypa/pip/issues/8807&gt;`_)
- Update user docs to reflect new resolver as default in 20.3. (`9044 &lt;https://github.com/pypa/pip/issues/9044&gt;`_)
- Improve migration guide to reflect changes in new resolver behavior. (`9056 &lt;https://github.com/pypa/pip/issues/9056&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Dec 4, 2020
198: Update wheel to 0.36.1 r=duckinator a=pyup-bot


This PR updates [wheel](https://pypi.org/project/wheel) from **0.35.1** to **0.36.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 0.36.1
   ```
   - Fixed ``AssertionError`` when ``MACOSX_DEPLOYMENT_TARGET`` was set to ``11``
  (PR by Grzegorz Bokota and François-Xavier Coudert)
- Fixed regression introduced in 0.36.0 on Python 2.7 when a custom generator
  name was passed as unicode (Scikit-build)
  (``TypeError: &#39;unicode&#39; does not have the buffer interface``)
   ```
   
  
  
   ### 0.36.0
   ```
   - Added official Python 3.9 support
- Updated vendored ``packaging`` library to v20.7
- Switched to always using LF as line separator when generating ``WHEEL`` files
  (on Windows, CRLF was being used instead)
- The ABI tag is taken from  the sysconfig SOABI value. On PyPy the SOABI value
  is ``pypy37-pp73`` which is not compliant with PEP 3149, as it should have
  both the API tag and the platform tag. This change future-proofs any change
  in PyPy&#39;s SOABI tag to make sure only the ABI tag is used by wheel.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Dec 4, 2020
194: Update pytest-pylint to 0.18.0 r=duckinator a=pyup-bot


This PR updates [pytest-pylint](https://pypi.org/project/pytest-pylint) from **0.17.0** to **0.18.0**.



*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

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



197: Update pip to 20.3.1 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.2.4** to **20.3.1**.



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

Deprecations and Removals
-------------------------

- The --build-dir option has been restored as a no-op, to soften the transition
  for tools that still used it. (`9193 &lt;https://github.com/pypa/pip/issues/9193&gt;`_)
   ```
   
  
  
   ### 20.3
   ```
   - Introduce a new ResolutionImpossible error, raised when pip encounters un-satisfiable dependency conflicts (`8546 &lt;https://github.com/pypa/pip/issues/8546&gt;`_, `8377 &lt;https://github.com/pypa/pip/issues/8377&gt;`_)
- Add a subcommand ``debug`` to ``pip config`` to list available configuration sources and the key-value pairs defined in them. (`6741 &lt;https://github.com/pypa/pip/issues/6741&gt;`_)
- Warn if index pages have unexpected content-type (`6754 &lt;https://github.com/pypa/pip/issues/6754&gt;`_)
- Allow specifying ``--prefer-binary`` option in a requirements file (`7693 &lt;https://github.com/pypa/pip/issues/7693&gt;`_)
- Generate PEP 376 REQUESTED metadata for user supplied requirements installed
  by pip. (`7811 &lt;https://github.com/pypa/pip/issues/7811&gt;`_)
- Warn if package url is a vcs or an archive url with invalid scheme (`8128 &lt;https://github.com/pypa/pip/issues/8128&gt;`_)
- Parallelize network operations in ``pip list``. (`8504 &lt;https://github.com/pypa/pip/issues/8504&gt;`_)
- Allow the new resolver to obtain dependency information through wheels
  lazily downloaded using HTTP range requests.  To enable this feature,
  invoke ``pip`` with ``--use-feature=fast-deps``. (`8588 &lt;https://github.com/pypa/pip/issues/8588&gt;`_)
- Support ``--use-feature`` in requirements files (`8601 &lt;https://github.com/pypa/pip/issues/8601&gt;`_)

Bug Fixes
---------

- Use canonical package names while looking up already installed packages. (`5021 &lt;https://github.com/pypa/pip/issues/5021&gt;`_)
- Fix normalizing path on Windows when installing package on another logical disk. (`7625 &lt;https://github.com/pypa/pip/issues/7625&gt;`_)
- The VCS commands run by pip as subprocesses don&#39;t merge stdout and stderr anymore, improving the output parsing by subsequent commands. (`7968 &lt;https://github.com/pypa/pip/issues/7968&gt;`_)
- Correctly treat non-ASCII entry point declarations in wheels so they can be
  installed on Windows. (`8342 &lt;https://github.com/pypa/pip/issues/8342&gt;`_)
- Update author email in config and tests to reflect decommissioning of pypa-dev list. (`8454 &lt;https://github.com/pypa/pip/issues/8454&gt;`_)
- Headers provided by wheels in .data directories are now correctly installed
  into the user-provided locations, such as ``--prefix``, instead of the virtual
  environment pip is running in. (`8521 &lt;https://github.com/pypa/pip/issues/8521&gt;`_)

Vendored Libraries
------------------

- Vendored htmlib5 no longer imports deprecated xml.etree.cElementTree on Python 3.
- Upgrade appdirs to 1.4.4
- Upgrade certifi to 2020.6.20
- Upgrade distlib to 0.3.1
- Upgrade html5lib to 1.1
- Upgrade idna to 2.10
- Upgrade packaging to 20.4
- Upgrade requests to 2.24.0
- Upgrade six to 1.15.0
- Upgrade toml to 0.10.1
- Upgrade urllib3 to 1.25.9

Improved Documentation
----------------------

- Add ``--no-input`` option to pip docs (`7688 &lt;https://github.com/pypa/pip/issues/7688&gt;`_)
- List of options supported in requirements file are extracted from source of truth,
  instead of being maintained manually. (`7908 &lt;https://github.com/pypa/pip/issues/7908&gt;`_)
- Fix pip config docstring so that the subcommands render correctly in the docs (`8072 &lt;https://github.com/pypa/pip/issues/8072&gt;`_)
- replace links to the old pypa-dev mailing list with https://mail.python.org/mailman3/lists/distutils-sig.python.org/ (`8353 &lt;https://github.com/pypa/pip/issues/8353&gt;`_)
- Fix example for defining multiple values for options which support them (`8373 &lt;https://github.com/pypa/pip/issues/8373&gt;`_)
- Add documentation for the ResolutionImpossible error that helps the user fix dependency conflicts (`8459 &lt;https://github.com/pypa/pip/issues/8459&gt;`_)
- Add feature flags to docs (`8512 &lt;https://github.com/pypa/pip/issues/8512&gt;`_)
- Document how to install package extras from git branch and source distributions. (`8576 &lt;https://github.com/pypa/pip/issues/8576&gt;`_)
   ```
   
  
  
   ### 20.3b1
   ```
   ===================

Deprecations and Removals
-------------------------

- ``pip freeze`` will stop filtering the ``pip``, ``setuptools``, ``distribute`` and ``wheel`` packages from ``pip freeze`` output in a future version.
  To keep the previous behavior, users should use the new ``--exclude`` option. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Deprecate support for Python 3.5 (`8181 &lt;https://github.com/pypa/pip/issues/8181&gt;`_)
- Document that certain removals can be fast tracked. (`8417 &lt;https://github.com/pypa/pip/issues/8417&gt;`_)
- Document that Python versions are generally supported until PyPI usage falls below 5%. (`8927 &lt;https://github.com/pypa/pip/issues/8927&gt;`_)
- Deprecate ``--find-links`` option in ``pip freeze`` (`9069 &lt;https://github.com/pypa/pip/issues/9069&gt;`_)

Features
--------

- Add ``--exclude`` option to ``pip freeze`` and ``pip list`` commands to explicitly exclude packages from the output. (`4256 &lt;https://github.com/pypa/pip/issues/4256&gt;`_)
- Allow multiple values for --abi and --platform. (`6121 &lt;https://github.com/pypa/pip/issues/6121&gt;`_)
- Add option ``--format`` to subcommand ``list`` of ``pip  cache``, with ``abspath`` choice to output the full path of a wheel file. (`8355 &lt;https://github.com/pypa/pip/issues/8355&gt;`_)
- Improve error message friendliness when an environment has packages with
  corrupted metadata. (`8676 &lt;https://github.com/pypa/pip/issues/8676&gt;`_)
- Make the ``setup.py install`` deprecation warning less noisy. We warn only
  when ``setup.py install`` succeeded and ``setup.py bdist_wheel`` failed, as
  situations where both fails are most probably irrelevant to this deprecation. (`8752 &lt;https://github.com/pypa/pip/issues/8752&gt;`_)
- Check the download directory for existing wheels to possibly avoid
  fetching metadata when the ``fast-deps`` feature is used with
  ``pip wheel`` and ``pip download``. (`8804 &lt;https://github.com/pypa/pip/issues/8804&gt;`_)
- When installing a git URL that refers to a commit that is not available locally
  after git clone, attempt to fetch it from the remote. (`8815 &lt;https://github.com/pypa/pip/issues/8815&gt;`_)
- Include http subdirectory in ``pip cache info`` and ``pip cache purge`` commands. (`8892 &lt;https://github.com/pypa/pip/issues/8892&gt;`_)
- Cache package listings on index packages so they are guarenteed to stay stable
  during a pip command session. This also improves performance when a index page
  is accessed multiple times during the command session. (`8905 &lt;https://github.com/pypa/pip/issues/8905&gt;`_)
- New resolver: Tweak resolution logic to improve user experience when
  user-supplied requirements conflict. (`8924 &lt;https://github.com/pypa/pip/issues/8924&gt;`_)
- Support Python 3.9. (`8971 &lt;https://github.com/pypa/pip/issues/8971&gt;`_)
- Log an informational message when backtracking takes multiple rounds on a specific package. (`8975 &lt;https://github.com/pypa/pip/issues/8975&gt;`_)
- Switch to the new dependency resolver by default. (`9019 &lt;https://github.com/pypa/pip/issues/9019&gt;`_)
- Remove the ``--build-dir`` option, as per the deprecation. (`9049 &lt;https://github.com/pypa/pip/issues/9049&gt;`_)

Bug Fixes
---------

- Propagate ``--extra-index-url`` from requirements file properly to session auth,
  so that keyring auth will work as expected. (`8103 &lt;https://github.com/pypa/pip/issues/8103&gt;`_)
- Allow specifying verbosity and quiet level via configuration files
  and environment variables. Previously these options were treated as
  boolean values when read from there while through CLI the level can be
  specified. (`8578 &lt;https://github.com/pypa/pip/issues/8578&gt;`_)
- Only converts Windows path to unicode on Python 2 to avoid regressions when a
  POSIX environment does not configure the file system encoding correctly. (`8658 &lt;https://github.com/pypa/pip/issues/8658&gt;`_)
- List downloaded distributions before exiting ``pip download``
  when using the new resolver to make the behavior the same as
  that on the legacy resolver. (`8696 &lt;https://github.com/pypa/pip/issues/8696&gt;`_)
- New resolver: Pick up hash declarations in constraints files and use them to
  filter available distributions. (`8792 &lt;https://github.com/pypa/pip/issues/8792&gt;`_)
- Avoid polluting the destination directory by resolution artifacts
  when the new resolver is used for ``pip download`` or ``pip wheel``. (`8827 &lt;https://github.com/pypa/pip/issues/8827&gt;`_)
- New resolver: If a package appears multiple times in user specification with
  different ``--hash`` options, only hashes that present in all specifications
  should be allowed. (`8839 &lt;https://github.com/pypa/pip/issues/8839&gt;`_)
- Tweak the output during dependency resolution in the new resolver. (`8861 &lt;https://github.com/pypa/pip/issues/8861&gt;`_)
- Correctly search for installed distributions in new resolver logic in order
  to not miss packages (virtualenv packages from system-wide-packages for example) (`8963 &lt;https://github.com/pypa/pip/issues/8963&gt;`_)
- Do not fail in pip freeze when encountering a ``direct_url.json`` metadata file
  with editable=True. Render it as a non-editable ``file://`` URL until modern
  editable installs are standardized and supported. (`8996 &lt;https://github.com/pypa/pip/issues/8996&gt;`_)

Vendored Libraries
------------------

- Fix devendoring instructions to explicitly state that ``vendor.txt`` should not be removed.
  It is mandatory for ``pip debug`` command.

Improved Documentation
----------------------

- Add documentation for &#39;.netrc&#39; support. (`7231 &lt;https://github.com/pypa/pip/issues/7231&gt;`_)
- Add OS tabs for OS-specific commands. (`7311 &lt;https://github.com/pypa/pip/issues/7311&gt;`_)
- Add note and example on keyring support for index basic-auth (`8636 &lt;https://github.com/pypa/pip/issues/8636&gt;`_)
- Added initial UX feedback widgets to docs. (`8783 &lt;https://github.com/pypa/pip/issues/8783&gt;`_, `8848 &lt;https://github.com/pypa/pip/issues/8848&gt;`_)
- Add ux documentation (`8807 &lt;https://github.com/pypa/pip/issues/8807&gt;`_)
- Update user docs to reflect new resolver as default in 20.3. (`9044 &lt;https://github.com/pypa/pip/issues/9044&gt;`_)
- Improve migration guide to reflect changes in new resolver behavior. (`9056 &lt;https://github.com/pypa/pip/issues/9056&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
Co-authored-by: Ellen Marie Dash <me@duckie.co>
bors bot added a commit that referenced this issue Dec 14, 2020
201: Update wheel to 0.36.2 r=duckinator a=pyup-bot


This PR updates [wheel](https://pypi.org/project/wheel) from **0.35.1** to **0.36.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 0.36.2
   ```
   - Updated vendored ``packaging`` library to v20.8
- Fixed wheel sdist missing ``LICENSE.txt``
- Don&#39;t use default ``macos/arm64`` deployment target in calculating the
  platform tag for fat binaries (PR by Ronald Oussoren)
   ```
   
  
  
   ### 0.36.1
   ```
   - Fixed ``AssertionError`` when ``MACOSX_DEPLOYMENT_TARGET`` was set to ``11``
  (PR by Grzegorz Bokota and François-Xavier Coudert)
- Fixed regression introduced in 0.36.0 on Python 2.7 when a custom generator
  name was passed as unicode (Scikit-build)
  (``TypeError: &#39;unicode&#39; does not have the buffer interface``)
   ```
   
  
  
   ### 0.36.0
   ```
   - Added official Python 3.9 support
- Updated vendored ``packaging`` library to v20.7
- Switched to always using LF as line separator when generating ``WHEEL`` files
  (on Windows, CRLF was being used instead)
- The ABI tag is taken from  the sysconfig SOABI value. On PyPy the SOABI value
  is ``pypy37-pp73`` which is not compliant with PEP 3149, as it should have
  both the API tag and the platform tag. This change future-proofs any change
  in PyPy&#39;s SOABI tag to make sure only the ABI tag is used by wheel.
- Fixed regression and test for ``bdist_wheel --plat-name``. It was ignored for
  C extensions in v0.35, but the regression was not detected by tests.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Dec 15, 2020
201: Update wheel to 0.36.2 r=duckinator a=pyup-bot


This PR updates [wheel](https://pypi.org/project/wheel) from **0.35.1** to **0.36.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 0.36.2
   ```
   - Updated vendored ``packaging`` library to v20.8
- Fixed wheel sdist missing ``LICENSE.txt``
- Don&#39;t use default ``macos/arm64`` deployment target in calculating the
  platform tag for fat binaries (PR by Ronald Oussoren)
   ```
   
  
  
   ### 0.36.1
   ```
   - Fixed ``AssertionError`` when ``MACOSX_DEPLOYMENT_TARGET`` was set to ``11``
  (PR by Grzegorz Bokota and François-Xavier Coudert)
- Fixed regression introduced in 0.36.0 on Python 2.7 when a custom generator
  name was passed as unicode (Scikit-build)
  (``TypeError: &#39;unicode&#39; does not have the buffer interface``)
   ```
   
  
  
   ### 0.36.0
   ```
   - Added official Python 3.9 support
- Updated vendored ``packaging`` library to v20.7
- Switched to always using LF as line separator when generating ``WHEEL`` files
  (on Windows, CRLF was being used instead)
- The ABI tag is taken from  the sysconfig SOABI value. On PyPy the SOABI value
  is ``pypy37-pp73`` which is not compliant with PEP 3149, as it should have
  both the API tag and the platform tag. This change future-proofs any change
  in PyPy&#39;s SOABI tag to make sure only the ABI tag is used by wheel.
- Fixed regression and test for ``bdist_wheel --plat-name``. It was ignored for
  C extensions in v0.35, but the regression was not detected by tests.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Dec 15, 2020
201: Update wheel to 0.36.2 r=duckinator a=pyup-bot


This PR updates [wheel](https://pypi.org/project/wheel) from **0.35.1** to **0.36.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 0.36.2
   ```
   - Updated vendored ``packaging`` library to v20.8
- Fixed wheel sdist missing ``LICENSE.txt``
- Don&#39;t use default ``macos/arm64`` deployment target in calculating the
  platform tag for fat binaries (PR by Ronald Oussoren)
   ```
   
  
  
   ### 0.36.1
   ```
   - Fixed ``AssertionError`` when ``MACOSX_DEPLOYMENT_TARGET`` was set to ``11``
  (PR by Grzegorz Bokota and François-Xavier Coudert)
- Fixed regression introduced in 0.36.0 on Python 2.7 when a custom generator
  name was passed as unicode (Scikit-build)
  (``TypeError: &#39;unicode&#39; does not have the buffer interface``)
   ```
   
  
  
   ### 0.36.0
   ```
   - Added official Python 3.9 support
- Updated vendored ``packaging`` library to v20.7
- Switched to always using LF as line separator when generating ``WHEEL`` files
  (on Windows, CRLF was being used instead)
- The ABI tag is taken from  the sysconfig SOABI value. On PyPy the SOABI value
  is ``pypy37-pp73`` which is not compliant with PEP 3149, as it should have
  both the API tag and the platform tag. This change future-proofs any change
  in PyPy&#39;s SOABI tag to make sure only the ABI tag is used by wheel.
- Fixed regression and test for ``bdist_wheel --plat-name``. It was ignored for
  C extensions in v0.35, but the regression was not detected by tests.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Jan 31, 2021
212: Update setuptools to 52.0.0 r=duckinator a=pyup-bot


This PR updates [setuptools](https://pypi.org/project/setuptools) from **51.1.1** to **52.0.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 52.0.0
   ```
   -------


Breaking Changes
^^^^^^^^^^^^^^^^
* 2537: Remove fallback support for fetch_build_eggs using easy_install. Now pip is required for setup_requires to succeed.
* 2544: Removed &#39;easy_install&#39; top-level model (runpy entry point) and &#39;easy_install&#39; console script.
* 2545: Removed support for eggsecutables.

Changes
^^^^^^^
* 2459: Tests now run in parallel via pytest-xdist, completing in about half the time. Special thanks to :user:`webknjaz` for hard work implementing test isolation. To run without parallelization, disable the plugin with ``tox -- -p no:xdist``.
   ```
   
  
  
   ### 51.3.3
   ```
   -------


Misc
^^^^
* 2539: Fix AttributeError in Description validation.
   ```
   
  
  
   ### 51.3.2
   ```
   -------


Misc
^^^^
* 1390: Validation of Description field now is more lenient, emitting a warning and mangling the value to be valid (replacing newlines with spaces).
   ```
   
  
  
   ### 51.3.1
   ```
   -------


Misc
^^^^
* 2536: Reverted tag deduplication handling.
   ```
   
  
  
   ### 51.3.0
   ```
   -------


Changes
^^^^^^^
* 1390: Newlines in metadata description/Summary now trigger a ValueError.
* 2481: Define ``create_module()`` and ``exec_module()`` methods in ``VendorImporter``
  to get rid of ``ImportWarning`` -- by :user:`hroncok`
* 2489: ``pkg_resources`` behavior for zipimport now matches the regular behavior, and finds
  ``.egg-info`` (previoulsy would only find ``.dist-info``) -- by :user:`thatch`
* 2529: Fixed an issue where version tags may be added multiple times
   ```
   
  
  
   ### 51.2.0
   ```
   -------


Changes
^^^^^^^
* 2493: Use importlib.import_module() rather than the deprectated loader.load_module()
  in pkg_resources namespace delaration -- by :user:`encukou`

Documentation changes
^^^^^^^^^^^^^^^^^^^^^
* 2525: Fix typo in the document page about entry point. -- by :user:`jtr109`

Misc
^^^^
* 2534: Avoid hitting network during test_easy_install.
   ```
   
  
  
   ### 51.1.2
   ```
   -------


Misc
^^^^
* 2505: Disable inclusion of package data as it causes &#39;tests&#39; to be included as data.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
Co-authored-by: Ellen Marie Dash <me@duckie.co>
bors bot added a commit that referenced this issue Feb 2, 2021
219: Update setuptools to 53.0.0 r=nbraud a=pyup-bot


This PR updates [setuptools](https://pypi.org/project/setuptools) from **52.0.0** to **53.0.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 53.0.0
   ```
   -------


Breaking Changes
^^^^^^^^^^^^^^^^
* 1527: Removed bootstrap script. Now Setuptools requires pip or another pep517-compliant builder such as &#39;build&#39; to build. Now Setuptools can be installed from Github main branch.
   ```
   
  
</details>


 

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



Co-authored-by: pyup-bot <github-bot@pyup.io>
bors bot added a commit that referenced this issue Feb 22, 2021
227: Update pylint to 2.7.0 r=duckinator a=pyup-bot


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



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

Release date: 2021-02-21

* Introduce DeprecationMixin for reusable deprecation checks.

  Closes 4049

* Fix false positive for ``builtin-not-iterating`` when ``map`` receives iterable

  Closes 4078

* Python 3.6+ is now required.

* Fix false positive for ``builtin-not-iterating`` when ``zip`` receives iterable

* Add `nan-comparison` check for NaN comparisons

* Bug fix for empty-comment message line number.

  Closes 4009

* Only emit `bad-reversed-sequence` on dictionaries if below py3.8

  Closes 3940

* Handle class decorators applied to function.

  Closes 3882

* Add check for empty comments

* Fix minor documentation issue in contribute.rst

* Enums are now required to be named in UPPER_CASE by ``invalid-name``.

  Close 3834

* Add missing checks for deprecated functions.

* Postponed evaluation of annotations are now recognized by default if python version is above 3.10

  Closes 3992

* Fix column metadata for anomalous backslash lints

* Drop support for Python 3.5

* Add support for pep585 with postponed evaluation

  Closes 3320

* Check alternative union syntax - PEP 604

  Closes 4065

* Fix multiple false positives with assignment expressions

  Closes 3347, 3953, 3865, 3275

* Fix TypedDict inherit-non-class false-positive Python 3.9+

  Closes 1927

* Fix issue with nested PEP 585 syntax

* Fix issue with nested PEP 604 syntax

* Fix a crash in `undefined-variable` caused by chained attributes in metaclass

  Close 3742

* Fix false positive for `not-async-context-manager` when `contextlib.asynccontextmanager` is used

  Close 3862

* Fix linter multiprocessing pool shutdown (triggered warnings when runned in parallels with other pytest plugins)

  Closes 3779

* Fix a false-positive emission of `no-self-use` and `unused-argument` for methods
  of generic structural types (`Protocol[T]`)

  Closes 3885

* Fix bug that lead to duplicate messages when using ``--jobs 2`` or more.

  Close 3584

* Adds option ``check-protected-access-in-special-methods`` in the ClassChecker to activate/deactivate
  ``protected-access`` message emission for single underscore prefixed attribute in special methods.

  Close 3120

* Fix vulnerable regular expressions in ``pyreverse``

  Close 3811

* ``inconsistent-return-statements`` message is now emitted if one of ``try/except`` statement
  is not returning explicitly while the other do.

  Closes 3468

* Fix ``useless-super-delegation`` false positive when default keyword argument is a dictionnary.

  Close 3773

* Fix a crash when a specified config file does not exist

* Add support to ``ignored-argument-names`` in DocstringParameterChecker and adds `useless-param-doc` and `useless-type-doc` messages.

  Close 3800

* Enforce docparams consistently when docstring is not present

  Close 2738

* Fix ``duplicate-code`` false positive when lines only contain whitespace and non-alphanumeric characters (e.g. parentheses, bracket, comman, etc.)

* Improve lint message for `singleton-comparison` with bools

* Fix spell-checker crash on indented docstring lines that look like  comments

  Close 3786

* Fix AttributeError in checkers/refactoring.py

* Improve sphinx directives spelling filter

* Fix a bug with postponed evaluation when using aliases for annotations.

  Close 3798

* Fix minor documentation issues

* Improve the performance of the line length check.

* Removed incorrect deprecation of ``inspect.getfullargspec``

* Fix ``signature-differs`` false positive for functions with variadics

  Close 3737

* Fix a crash in `consider-using-enumerate` when encountering `range()` without arguments

  Close 3735

* `len-as-conditions` is now triggered only for classes that are inheriting directly from list, dict, or set and not implementing the `__bool__` function, or from generators like range or list/dict/set comprehension. This should reduce the false positives for other classes, like pandas&#39;s DataFrame or numpy&#39;s Array.

  Close 1879

* Fixes duplicate-errors not working with -j2+

  Close 3314

* `generated-members` now matches the qualified name of members

  Close 2498

* Add check for bool function to `len-as-condition`

* Add `simplifiable-condition` check for extraneous constants in conditionals using and/or.

* Add `condition-evals-to-constant` check for conditionals using and/or that evaluate to a constant.

  Close 3407

* Changed setup.py to work with [distlib](https://pypi.org/project/distlib)

  Close 3555

* New check: ``consider-using-generator``

  This check warns when a comprehension is used inside an `any` or `all` function,
  since it is unnecessary and should be replaced by a generator instead.
  Using a generator would be less code and way faster.

  Close 3165

* Add Github Actions to replace Travis and AppVeyor in the future
   ```
   
  
</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>
bors bot added a commit that referenced this issue Mar 3, 2021
231: Update pylint to 2.7.2 r=duckinator a=pyup-bot


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



<details>
  <summary>Changelog</summary>
  
  
   ### 2.7.2
   ```
   ===========================
Release date: 2021-02-28

* Fix False Positive on `Enum.__members__.items()`, `Enum.__members__.values`, and `Enum.__members__.keys`
  Closes 4123

* Properly strip dangerous sys.path entries (not just the first one)

  Closes 3636
   ```
   
  
  
   ### 2.7.1
   ```
   ===========================
Release date: 2021-02-23

* Expose `UnittestLinter` in pylint.testutils

* Don&#39;t check directories starting with &#39;.&#39; when using register_plugins

  Closes 4119
   ```
   
  
</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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant