:cookie: Cookiecutter :cookie: (https://github.com/audreyr/cookiecutter) opinionated template for a Python package compliant with https://github.com/zurutech/styleguide.
BSD 3-Clause "New" or "Revised" License
2
stars
1
forks
source link
pyup: Scheduled weekly dependency update for week 12 #81
Changelog
### 1.0.3
```
------------------
- [FIX] Updated internals to avoid issues when running ``mypy --strict``.
- [FIX] Corrections to Swedish locale.
- [INTERNAL] Lowered required coverage limit until ``humanize`` month tests are fixed.
```
### 1.0.2
```
------------------
- [FIXED] Fixed an ``OverflowError`` that could occur when running Arrow on a 32-bit OS.
```
### 1.0.1
```
------------------
- [FIXED] A ``py.typed`` file is now bundled with the Arrow package to conform to PEP 561.
```
### 1.0.0
```
------------------
After 8 years we're pleased to announce Arrow v1.0. Thanks to the entire Python community for helping make Arrow the amazing package it is today!
- [CHANGE] Arrow has **dropped support** for Python 2.7 and 3.5.
- [CHANGE] There are multiple **breaking changes** with this release, please see the `migration guide <https://github.com/arrow-py/arrow/issues/832>`_ for a complete overview.
- [CHANGE] Arrow is now following `semantic versioning <https://semver.org/>`_.
- [CHANGE] Made ``humanize`` granularity="auto" limits more accurate to reduce strange results.
- [NEW] Added support for Python 3.9.
- [NEW] Added a new keyword argument "exact" to ``span``, ``span_range`` and ``interval`` methods. This makes timespans begin at the start time given and not extend beyond the end time given, for example:
.. code-block:: python
>>> start = Arrow(2021, 2, 5, 12, 30)
>>> end = Arrow(2021, 2, 5, 17, 15)
>>> for r in arrow.Arrow.span_range('hour', start, end, exact=True):
... print(r)
...
(<Arrow [2021-02-05T12:30:00+00:00]>, <Arrow [2021-02-05T13:29:59.999999+00:00]>)
(<Arrow [2021-02-05T13:30:00+00:00]>, <Arrow [2021-02-05T14:29:59.999999+00:00]>)
(<Arrow [2021-02-05T14:30:00+00:00]>, <Arrow [2021-02-05T15:29:59.999999+00:00]>)
(<Arrow [2021-02-05T15:30:00+00:00]>, <Arrow [2021-02-05T16:29:59.999999+00:00]>)
(<Arrow [2021-02-05T16:30:00+00:00]>, <Arrow [2021-02-05T17:14:59.999999+00:00]>)
- [NEW] Arrow now natively supports PEP 484-style type annotations.
- [FIX] Fixed handling of maximum permitted timestamp on Windows systems.
- [FIX] Corrections to French, German, Japanese and Norwegian locales.
- [INTERNAL] Raise more appropriate errors when string parsing fails to match.
```
### 0.17.0
```
-------------------
- [WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. This is the last major release to support Python 2.7 and Python 3.5.
- [NEW] Arrow now properly handles imaginary datetimes during DST shifts. For example:
.. code-block:: python
>>> just_before = arrow.get(2013, 3, 31, 1, 55, tzinfo="Europe/Paris")
>>> just_before.shift(minutes=+10)
<Arrow [2013-03-31T03:05:00+02:00]>
.. code-block:: python
>>> before = arrow.get("2018-03-10 23:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
>>> after = arrow.get("2018-03-11 04:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
>>> result=[(t, t.to("utc")) for t in arrow.Arrow.range("hour", before, after)]
>>> for r in result:
... print(r)
...
(<Arrow [2018-03-10T23:00:00-08:00]>, <Arrow [2018-03-11T07:00:00+00:00]>)
(<Arrow [2018-03-11T00:00:00-08:00]>, <Arrow [2018-03-11T08:00:00+00:00]>)
(<Arrow [2018-03-11T01:00:00-08:00]>, <Arrow [2018-03-11T09:00:00+00:00]>)
(<Arrow [2018-03-11T03:00:00-07:00]>, <Arrow [2018-03-11T10:00:00+00:00]>)
(<Arrow [2018-03-11T04:00:00-07:00]>, <Arrow [2018-03-11T11:00:00+00:00]>)
- [NEW] Added ``humanize`` week granularity translation for Tagalog.
- [CHANGE] Calls to the ``timestamp`` property now emit a ``DeprecationWarning``. In a future release, ``timestamp`` will be changed to a method to align with Python's datetime module. If you would like to continue using the property, please change your code to use the ``int_timestamp`` or ``float_timestamp`` properties instead.
- [CHANGE] Expanded and improved Catalan locale.
- [FIX] Fixed a bug that caused ``Arrow.range()`` to incorrectly cut off ranges in certain scenarios when using month, quarter, or year endings.
- [FIX] Fixed a bug that caused day of week token parsing to be case sensitive.
- [INTERNAL] A number of functions were reordered in arrow.py for better organization and grouping of related methods. This change will have no impact on usage.
- [INTERNAL] A minimum tox version is now enforced for compatibility reasons. Contributors must use tox >3.18.0 going forward.
```
Links
- PyPI: https://pypi.org/project/arrow
- Changelog: https://pyup.io/changelogs/arrow/
- Docs: https://arrow.readthedocs.io
Changelog
### 2.5.1
```
============================
Release Date: 2021-02-28
* The ``context.path`` is reverted to a set because otherwise it leads to false positives
for non `numpy` functions.
Closes 895 899
* Don't transform dataclass ClassVars
* Improve typing.TypedDict inference
* Fix the `Duplicates found in MROs` false positive.
Closes 905
Closes PyCQA/pylint2717
Closes PyCQA/pylint3247
Closes PyCQA/pylint4093
Closes PyCQA/pylint4131
Closes PyCQA/pylint4145
```
### 2.5
```
============================
Release Date: 2021-02-15
* Adds `attr_fset` in the `PropertyModel` class.
Fixes PyCQA/pylint3480
* Remove support for Python 3.5.
* Remove the runtime dependency on ``six``. The ``six`` brain remains in
astroid.
Fixes PyCQA/astroid863
* Enrich the ``brain_collection`` module so that ``__class_getitem__`` method is added to `deque` for
``python`` version above 3.9.
* The ``context.path`` is now a ``dict`` and the ``context.push`` method
returns ``True`` if the node has been visited a certain amount of times.
Close 669
* Adds a brain for type object so that it is possible to write `type[int]` in annotation.
Fixes PyCQA/pylint4001
* Add ``__class_getitem__`` method to ``subprocess.Popen`` brain under Python 3.9 so that it is seen as subscriptable by pylint.
Fixes PyCQA/pylint4034
* Adds `degrees`, `radians`, which are `numpy ufunc` functions, in the `numpy` brain. Adds `random` function in the `numpy.random` brain.
Fixes PyCQA/pylint3856
* Fix deprecated importlib methods
Closes 703
* Fix a crash in inference caused by `Uninferable` container elements
Close 866
* Add `python 3.9` support.
* The flat attribute of ``numpy.ndarray`` is now inferred as an ``numpy.ndarray`` itself.
It should be a ``numpy.flatiter`` instance, but this class is not yet available in the numpy brain.
Fixes PyCQA/pylint3640
* Fix a bug for dunder methods inference of function objects
Fixes 819
* Fixes a bug in the signature of the ``ndarray.__or__`` method,
in the ``brain_numpy_ndarray.py`` module.
Fixes 815
* Fixes a to-list cast bug in ``starred_assigned_stmts`` method,
in the ``protocols.py` module.
* Added a brain for ``hypothesis.strategies.composite``
* The transpose of a ``numpy.ndarray`` is also a ``numpy.ndarray``
Fixes PyCQA/pylint3387
* Added a brain for ``sqlalchemy.orm.session``
* Separate string and bytes classes patching
Fixes PyCQA/pylint3599
* Prevent recursion error for self referential length calls
Close 777
* Added missing methods to the brain for ``mechanize``, to fix pylint false positives
Close 793
* Added more supported parameters to ``subprocess.check_output``
* Fix recursion errors with pandas
Fixes PyCQA/pylint2843
Fixes PyCQA/pylint2811
* Added exception inference for `UnicodeDecodeError`
Close PyCQA/pylint3639
* `FunctionDef.is_generator` properly handles `yield` nodes in `If` tests
Close PyCQA/pylint3583
* Fixed exception-chaining error messages.
* Fix failure to infer base class type with multiple inheritance and qualified names
Fixes 843
* Fix interpretation of ``six.with_metaclass`` class definitions.
Fixes 713
* Reduce memory usage of astroid's module cache.
* Remove dependency on `imp`.
Close 594
Close 681
* Do not crash when encountering starred assignments in enums.
Close 835
* Fix a crash in functools.partial inference when the arguments cannot be determined
Close PyCQA/pylint3776
* Fix a crash caused by a lookup of a monkey-patched method
Close PyCQA/pylint3686
* ``is_generator`` correctly considers `Yield` nodes in `AugAssign` nodes
This fixes a false positive with the `assignment-from-no-return` pylint check.
Close PyCQA/pylint3904
* Corrected the parent of function type comment nodes.
These nodes used to be parented to their original ast.FunctionDef parent
but are now correctly parented to their astroid.FunctionDef parent.
Close PyCQA/astroid851
```
Links
- PyPI: https://pypi.org/project/astroid
- Changelog: https://pyup.io/changelogs/astroid/
- Repo: https://github.com/PyCQA/astroid
Changelog
### 20.3.0
```
-------------------
Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**.
This release does **not** change change anything about them and they are already used widely in production though.
If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963file-attrs_ng_plugin-py>`_ into your project.
Feel free to provide feedback to them in the linked issue 668.
We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled.
`668 <https://github.com/python-attrs/attrs/issues/668>`_
Changes
^^^^^^^
- ``attr.s()`` now has a *field_transformer* hook that is called for all ``Attribute``\ s and returns a (modified or updated) list of ``Attribute`` instances.
``attr.asdict()`` has a *value_serializer* hook that can change the way values are converted.
Both hooks are meant to help with data (de-)serialization workflows.
`653 <https://github.com/python-attrs/attrs/issues/653>`_
- ``kw_only=True`` now works on Python 2.
`700 <https://github.com/python-attrs/attrs/issues/700>`_
- ``raise from`` now works on frozen classes on PyPy.
`703 <https://github.com/python-attrs/attrs/issues/703>`_,
`712 <https://github.com/python-attrs/attrs/issues/712>`_
- ``attr.asdict()`` and ``attr.astuple()`` now treat ``frozenset``\ s like ``set``\ s with regards to the *retain_collection_types* argument.
`704 <https://github.com/python-attrs/attrs/issues/704>`_
- The type stubs for ``attr.s()`` and ``attr.make_class()`` are not missing the *collect_by_mro* argument anymore.
`711 <https://github.com/python-attrs/attrs/issues/711>`_
----
```
### 20.2.0
```
-------------------
Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**.
This release fixes a bunch of bugs and ergonomics but they remain mostly unchanged.
If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963file-attrs_ng_plugin-py>`_ into your project.
Feel free to provide feedback to them in the linked issue 668.
We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled.
`668 <https://github.com/python-attrs/attrs/issues/668>`_
Changes
^^^^^^^
- ``attr.define()`` et al now correct detect ``__eq__`` and ``__ne__``.
`671 <https://github.com/python-attrs/attrs/issues/671>`_
- ``attr.define()`` et al's hybrid behavior now also works correctly when arguments are passed.
`675 <https://github.com/python-attrs/attrs/issues/675>`_
- It's possible to define custom ``__setattr__`` methods on slotted classes again.
`681 <https://github.com/python-attrs/attrs/issues/681>`_
- In 20.1.0 we introduced the ``inherited`` attribute on the ``attr.Attribute`` class to differentiate attributes that have been inherited and those that have been defined directly on the class.
It has shown to be problematic to involve that attribute when comparing instances of ``attr.Attribute`` though, because when sub-classing, attributes from base classes are suddenly not equal to themselves in a super class.
Therefore the ``inherited`` attribute will now be ignored when hashing and comparing instances of ``attr.Attribute``.
`684 <https://github.com/python-attrs/attrs/issues/684>`_
- ``zope.interface`` is now a "soft dependency" when running the test suite; if ``zope.interface`` is not installed when running the test suite, the interface-related tests will be automatically skipped.
`685 <https://github.com/python-attrs/attrs/issues/685>`_
- The ergonomics of creating frozen classes using ``define(frozen=True)`` and sub-classing frozen classes has been improved:
you don't have to set ``on_setattr=None`` anymore.
`687 <https://github.com/python-attrs/attrs/issues/687>`_
----
```
Links
- PyPI: https://pypi.org/project/attrs
- Changelog: https://pyup.io/changelogs/attrs/
- Homepage: https://www.attrs.org/
Changelog
### 5.5
```
--------------------------
- ``coverage combine`` has a new option, ``--keep`` to keep the original data
files after combining them. The default is still to delete the files after
they have been combined. This was requested in `issue 1108`_ and implemented
in `pull request 1110`_. Thanks, Éric Larivière.
- When reporting missing branches in ``coverage report``, branches aren't
reported that jump to missing lines. This adds to the long-standing behavior
of not reporting branches from missing lines. Now branches are only reported
if both the source and destination lines are executed. Closes both `issue
1065`_ and `issue 955`_.
- Minor improvements to the HTML report:
- The state of the line visibility selector buttons is saved in local storage
so you don't have to fiddle with them so often, fixing `issue 1123`_.
- It has a little more room for line numbers so that 4-digit numbers work
well, fixing `issue 1124`_.
- Improved the error message when combining line and branch data, so that users
will be more likely to understand what's happening, closing `issue 803`_.
.. _issue 803: https://github.com/nedbat/coveragepy/issues/803
.. _issue 955: https://github.com/nedbat/coveragepy/issues/955
.. _issue 1065: https://github.com/nedbat/coveragepy/issues/1065
.. _issue 1108: https://github.com/nedbat/coveragepy/issues/1108
.. _pull request 1110: https://github.com/nedbat/coveragepy/pull/1110
.. _issue 1123: https://github.com/nedbat/coveragepy/issues/1123
.. _issue 1124: https://github.com/nedbat/coveragepy/issues/1124
.. _changes_54:
```
### 5.4
```
--------------------------
- The text report produced by ``coverage report`` now always outputs a TOTAL
line, even if only one Python file is reported. This makes regex parsing
of the output easier. Thanks, Judson Neer. This had been requested a number
of times (`issue 1086`_, `issue 922`_, `issue 732`_).
- The ``skip_covered`` and ``skip_empty`` settings in the configuration file
can now be specified in the ``[html]`` section, so that text reports and HTML
reports can use separate settings. The HTML report will still use the
``[report]`` settings if there isn't a value in the ``[html]`` section.
Closes `issue 1090`_.
- Combining files on Windows across drives now works properly, fixing `issue
577`_. Thanks, `Valentin Lab <pr1080_>`_.
- Fix an obscure warning from deep in the _decimal module, as reported in
`issue 1084`_.
- Update to support Python 3.10 alphas in progress, including `PEP 626: Precise
line numbers for debugging and other tools <pep626_>`_.
.. _issue 577: https://github.com/nedbat/coveragepy/issues/577
.. _issue 732: https://github.com/nedbat/coveragepy/issues/732
.. _issue 922: https://github.com/nedbat/coveragepy/issues/922
.. _issue 1084: https://github.com/nedbat/coveragepy/issues/1084
.. _issue 1086: https://github.com/nedbat/coveragepy/issues/1086
.. _issue 1090: https://github.com/nedbat/coveragepy/issues/1090
.. _pr1080: https://github.com/nedbat/coveragepy/pull/1080
.. _pep626: https://www.python.org/dev/peps/pep-0626/
.. _changes_531:
```
### 5.3.1
```
----------------------------
- When using ``--source`` on a large source tree, v5.x was slower than previous
versions. This performance regression is now fixed, closing `issue 1037`_.
- Mysterious SQLite errors can happen on PyPy, as reported in `issue 1010`_. An
immediate retry seems to fix the problem, although it is an unsatisfying
solution.
- The HTML report now saves the sort order in a more widely supported way,
fixing `issue 986`_. Thanks, Sebastián Ramírez (`pull request 1066`_).
- The HTML report pages now have a :ref:`Sleepy Snake <sleepy>` favicon.
- Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).
- Continuous integration has moved from Travis and AppVeyor to GitHub Actions.
.. _issue 986: https://github.com/nedbat/coveragepy/issues/986
.. _issue 1037: https://github.com/nedbat/coveragepy/issues/1037
.. _issue 1010: https://github.com/nedbat/coveragepy/issues/1010
.. _pull request 1066: https://github.com/nedbat/coveragepy/pull/1066
.. _changes_53:
```
### 5.3
```
--------------------------
- The ``source`` setting has always been interpreted as either a file path or a
module, depending on which existed. If both interpretations were valid, it
was assumed to be a file path. The new ``source_pkgs`` setting can be used
to name a package to disambiguate this case. Thanks, Thomas Grainger. Fixes
`issue 268`_.
- If a plugin was disabled due to an exception, we used to still try to record
its information, causing an exception, as reported in `issue 1011`_. This is
now fixed.
.. _issue 268: https://github.com/nedbat/coveragepy/issues/268
.. _issue 1011: https://github.com/nedbat/coveragepy/issues/1011
.. _changes_521:
```
Links
- PyPI: https://pypi.org/project/coverage
- Changelog: https://pyup.io/changelogs/coverage/
- Repo: https://github.com/nedbat/coveragepy
Changelog
### 3.9.0
```
-------------------
You can view the `3.9.0 milestone`_ on GitLab for more details.
New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Pyflakes has been updated to >= 2.3.0, < 2.4.0 (See also `GitLab!466`_)
- pycodestyle has been updated to >= 2.7.0, < 2.8.0 (See also `GitLab!467`_)
Deprecations
~~~~~~~~~~~~
- Drop support for python 3.4 (See also `GitLab!457`_)
Features
~~~~~~~~
- Add ``--no-show-source`` option to disable ``--show-source`` (See also
`GitLab!441`_)
Bugs Fixed
~~~~~~~~~~
- Fix handling of ``crlf`` line endings when linting stdin (See also
`GitLab!461`_)
.. all links
.. _3.9.0 milestone:
https://gitlab.com/pycqa/flake8/-/milestones/38
.. merge request links
.. _GitLab!441:
https://gitlab.com/pycqa/flake8/-/merge_requests/441
.. _GitLab!457:
https://gitlab.com/pycqa/flake8/-/merge_requests/457
.. _GitLab!461:
https://gitlab.com/pycqa/flake8/-/merge_requests/461
.. _GitLab!466:
https://gitlab.com/pycqa/flake8/-/merge_requests/466
.. _GitLab!467:
https://gitlab.com/pycqa/flake8/-/merge_requests/467
```
### 3.8.4
```
-------------------
You can view the `3.8.4 milestone`_ on GitLab for more details.
Bugs Fixed
~~~~~~~~~~
- Fix multiprocessing errors on platforms without ``sem_open`` syscall. (See
also `GitLab!448`_)
- Fix skipping of physical checks on the last line of a file which does not
end in a newline (See also `GitLab!451`_)
.. all links
.. _3.8.4 milestone:
https://gitlab.com/pycqa/flake8/-/milestones/37
.. merge request links
.. _GitLab!448:
https://gitlab.com/pycqa/flake8/merge_requests/448
.. _GitLab!451:
https://gitlab.com/pycqa/flake8/merge_requests/451
```
Links
- PyPI: https://pypi.org/project/flake8
- Changelog: https://pyup.io/changelogs/flake8/
- Repo: https://gitlab.com/pycqa/flake8
Changelog
### 3.1
```
++++++++++++++++
- Ensure license is included in package (Thanks, Julien Schueller)
- No longer mark wheel has universal (Thanks, Matthieu Darbois)
- Test on PowerPC using Travis CI
```
### 3.0
```
++++++++++++++++
- Python 2 is no longer supported (the 2.x branch supports Python 2,
use "idna<3" in your requirements file if you need Python 2 support)
- Support for V2 UTS 46 test vectors.
```
Links
- PyPI: https://pypi.org/project/idna
- Changelog: https://pyup.io/changelogs/idna/
- Repo: https://github.com/kjd/idna
Changelog
### 5.8.0
```
- Fixed 1631: as import comments can in some cases be duplicated.
- Fixed 1667: extra newline added with float-to-top, after skip, in some cases.
- Fixed 1594: incorrect placement of noqa comments with multiple from imports.
- Fixed 1566: in some cases different length limits for dos based line endings.
- Implemented 1648: Export MyPY type hints.
- Implemented 1641: Identified import statements now return runnable code.
- Implemented 1661: Added "wemake" profile.
- Implemented 1669: Parallel (`-j`) now defaults to number of CPU cores if no value is provided.
- Implemented 1668: Added a safeguard against accidental usage against /.
- Implemented 1638 / 1644: Provide a flag `--overwrite-in-place` to ensure same file handle is used after sorting.
- Implemented 1684: Added support for extending skips with `--extend-skip` and `--extend-skip-glob`.
- Implemented 1688: Auto identification and skipping of some invalid import statements.
- Implemented 1645: Ability to reverse the import sorting order.
- Implemented 1504: Added ability to push star imports to the top to avoid overriding explicitly defined imports.
- Documented 1685: Skip doesn't support plain directory names, but skip_glob does.
```
### 5.7.0
```
- Fixed 1612: In rare circumstances an extra comma is added after import and before comment.
- Fixed 1593: isort encounters bug in Python 3.6.0.
- Implemented 1596: Provide ways for extension formatting and file paths to be specified when using streaming input from CLI.
- Implemented 1583: Ability to output and diff within a single API call to `isort.file`.
- Implemented 1562, 1592 & 1593: Better more useful fatal error messages.
- Implemented 1575: Support for automatically fixing mixed indentation of import sections.
- Implemented 1582: Added a CLI option for skipping symlinks.
- Implemented 1603: Support for disabling float_to_top from the command line.
- Implemented 1604: Allow toggling section comments on and off for indented import sections.
```
### 5.6.4
```
- Fixed 1556: Empty line added between imports that should be skipped.
```
### 5.6.3
```
- Improved packaging of test files alongside source distribution (see: https://github.com/PyCQA/isort/pull/1555).
```
### 5.6.2
```
- Fixed 1548: On rare occasions an unecessary empty line can be added when an import is marked as skipped.
- Fixed 1542: Bug in VERTICAL_PREFIX_FROM_MODULE_IMPORT wrap mode.
- Fixed 1552: Pylama test dependent on source layout.
Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):
- Zope added to integration test suite
- Additional testing of CLI (simulate unseekable streams)
```
### 5.6.1
```
- Fixed 1546: Unstable (non-idempotent) behavior with certain src trees.
```
### 5.6.0
```
- Implemented 1433: Provide helpful feedback in case a custom config file is specified without a configuration.
- Implemented 1494: Default to sorting imports within `.pxd` files.
- Implemented 1502: Improved float-to-top behavior when there is an existing import section present at top-of-file.
- Implemented 1511: Support for easily seeing all files isort will be ran against using `isort . --show-files`.
- Implemented 1487: Improved handling of encoding errors.
- Improved handling of unsupported configuration option errors (see 1475).
- Fixed 1463: Better interactive documentation for future option.
- Fixed 1461: Quiet config option not respected by file API in some circumstances.
- Fixed 1482: pylama integration is not working correctly out-of-the-box.
- Fixed 1492: --check does not work with stdin source.
- Fixed 1499: isort gets confused by single line, multi-line style comments when using float-to-top.
- Fixed 1525: Some warnings can't be disabled with --quiet.
- Fixed 1523: in rare cases isort can ignore direct from import if as import is also on same line.
Potentially breaking changes:
- Implemented 1540: Officially support Python 3.9 stdlib imports by default.
- Fixed 1443: Incorrect third vs first party categorization - namespace packages.
- Fixed 1486: "Google" profile is not quite Google style.
- Fixed "PyCharm" profile to always add 2 lines to be consistent with what PyCharm "Optimize Imports" does.
Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):
- Implemented 1472: Full testing of stdin CLI Options
- Added additional branch coverage.
- More projects added to integration test suite.
```
### 5.5.5
```
- Fixed 1539: in extremely rare cases isort 5.5.4 introduces syntax error by removing closing paren.
```
### 5.5.4
```
- Fixed 1507: in rare cases isort changes the content of multiline strings after a yield statement.
- Fixed 1505: Support case where known_SECTION points to a section not listed in sections.
```
### 5.5.3
```
- Fixed 1488: in rare cases isort can mangle `yield from` or `raise from` statements.
```
### 5.5.2
```
- Fixed 1469: --diff option is ignored when input is from stdin.
```
### 5.5.1
```
- Fixed 1454: Ensure indented import sections with import heading and a preceding comment don't cause import sorting loops.
- Fixed 1453: isort error when float to top on almost empty file.
- Fixed 1456 and 1415: noqa comment moved to where flake8 cant see it.
- Fixed 1460: .svn missing from default ignore list.
```
### 5.5.0
```
- Fixed 1398: isort: off comment doesn't work, if it's the top comment in the file.
- Fixed 1395: reverse_relative setting doesn't have any effect when combined with force_sort_within_sections.
- Fixed 1399: --skip can error in the case of projects that contain recursive symlinks.
- Fixed 1389: ensure_newline_before_comments doesn't work if comment is at top of section and sections don't have lines between them.
- Fixed 1396: comments in imports with ";" can keep isort from recognizing import line.
- Fixed 1380: As imports removed when `combine_star` is set.
- Fixed 1382: --float-to-top has no effect if no import is already at the top.
- Fixed 1420: isort never settles on module docstring + add import.
- Fixed 1421: Error raised when repo contains circular symlinks.
- Fixed 1427: noqa comment is moved from star import to constant import.
- Fixed 1444 & 1445: Incorrect placement of import additions.
- Fixed 1447: isort5 throws error when stdin used on Windows with deprecated args.
- Implemented 1397: Added support for specifying config file when using git hook (thanks diseraluca!).
- Implemented 1405: Added support for coloring diff output.
- Implemented 1434: New multi-line grid mode without parentheses.
Goal Zero (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):
- Implemented 1392: Extensive profile testing.
- Implemented 1393: Proprety based testing applied to code snippets.
- Implemented 1391: Create automated integration test that includes full code base of largest OpenSource isort users.
Potentially breaking changes:
- Fixed 1429: --check doesn't print to stderr as the documentation says. This means if you were looking for `ERROR:` messages for files that contain incorrect imports within stdout you will now need to look in stderr.
```
Links
- PyPI: https://pypi.org/project/isort
- Changelog: https://pyup.io/changelogs/isort/
- Repo: https://pycqa.github.io/isort/
Changelog
### 8.7.0
```
-----
* New functions
* :func:`convolve` (from the Python itertools docs)
* :func:`product_index`, :func:`combination_index`, and :func:`permutation_index` (thanks to N8Brooks)
* :func:`value_chain` (thanks to jenstroeger)
* Changes to existing functions
* :func:`distinct_combinations` now uses a non-recursive algorithm (thanks to knutdrand)
* :func:`pad_none` is now the preferred name for :func:`padnone`, though the latter remains available.
* :func:`pairwise` will now use the Python standard library implementation on Python 3.10+
* :func:`sort_together` now accepts a ``key`` argument (thanks to brianmaissy)
* :func:`seekable` now has a ``peek`` method, and can indicate whether the iterator it's wrapping is exhausted (thanks to gsakkis)
* :func:`time_limited` can now indicate whether its iterator has expired (thanks to roysmith)
* The implementation of :func:`unique_everseen` was improved (thanks to plammens)
* Other changes:
* Various documentation updates (thanks to cthoyt, Evantm, and cyphase)
```
### 8.6.0
```
-----
* New itertools
* :func:`all_unique` (thanks to brianmaissy)
* :func:`nth_product` and :func:`nth_permutation` (thanks to N8Brooks)
* Changes to existing itertools
* :func:`chunked` and :func:`sliced` now accept a ``strict`` parameter (thanks to shlomif and jtwool)
* Other changes
* Python 3.5 has reached its end of life and is no longer supported.
* Python 3.9 is officially supported.
* Various documentation fixes (thanks to timgates42)
```
Links
- PyPI: https://pypi.org/project/more-itertools
- Changelog: https://pyup.io/changelogs/more-itertools/
- Repo: https://github.com/more-itertools/more-itertools
- Docs: https://pythonhosted.org/more-itertools/
Changelog
### 20.9
```
~~~~~~~~~~~~~~~~~
* Run `isort <https://pypi.org/project/isort/>`_ over the code base (:issue:`377`)
* Add support for the ``macosx_10_*_universal2`` platform tags (:issue:`379`)
* Introduce ``packaging.utils.parse_wheel_filename()`` and ``parse_sdist_filename()``
(:issue:`387` and :issue:`389`)
```
### 20.8
```
~~~~~~~~~~~~~~~~~
* Revert back to setuptools for compatibility purposes for some Linux distros (:issue:`363`)
* Do not insert an underscore in wheel tags when the interpreter version number
is more than 2 digits (:issue:`372`)
```
### 20.7
```
~~~~~~~~~~~~~~~~~
No unreleased changes.
```
### 20.6
```
~~~~~~~~~~~~~~~~~
.. note:: This release was subsequently yanked, and these changes were included in 20.7.
* Fix flit configuration, to include LICENSE files (:issue:`357`)
* Make `intel` a recognized CPU architecture for the `universal` macOS platform tag (:issue:`361`)
* Add some missing type hints to `packaging.requirements` (issue:`350`)
```
### 20.5
```
~~~~~~~~~~~~~~~~~
* Officially support Python 3.9 (:issue:`343`)
* Deprecate the ``LegacyVersion`` and ``LegacySpecifier`` classes (:issue:`321`)
* Handle ``OSError`` on non-dynamic executables when attempting to resolve
the glibc version string.
```
Links
- PyPI: https://pypi.org/project/packaging
- Changelog: https://pyup.io/changelogs/packaging/
- Repo: https://github.com/pypa/packaging
Changelog
### 2.3.0
```
- Recognize tuple concatenation in ``__all__`` export definitions
- Better support use of annotation-only assignments when using
``from __future__ import annotations``
- Recognize special-case typing for ``Annotated``
- Fix undefined name ``__qualname__`` in class scope
- Recognize special-cased typing for ``TypeVar``
- Errors for undefined exports in ``__all__`` are shown in a deterministic order
- Fix false positives in certain typing constructs (``TypeVar``,
``NamedTuple``, ``TypedDict``, ``cast``)
```
Links
- PyPI: https://pypi.org/project/pyflakes
- Changelog: https://pyup.io/changelogs/pyflakes/
- Repo: https://github.com/PyCQA/pyflakes
Changelog
### 2.8.0
```
-------------
(released February 14, 2021)
- Added lexers:
* AMDGPU (1626)
* CDDL (1379, 1239)
* Futhark (1691)
* Graphviz/DOT (1657, 731)
- Updated lexers:
* AutoIt: Support single quoted strings (1667, 1663)
* C/C++ & related: Fix mishandling '*/' (1695)
* Cocoa: Add builtin types (1703)
* Console (1672)
* Eiffel: Fix performance issues (1658)
* Fortran: Improve combined keyword detection (1677, 1188)
* J: Fix operator ``?`` lexing (1700, 1149)
* JavaScript/TypeScript: Fix escapes in backtick strings (1679, 1686)
* Kotlin: Improve string interpolation, modifier keyword handling, and various small issues (1699)
* LESS: Support single-line comments (1046)
* Matlab:
- Add support for class properties (1466)
- Update builtin functions (1705)
- Various cleanups (1673)
* Python: Improve handling of raw f-strings (1681, 1683)
* Ruby: Better method name handling (1531)
* Stata: Updated keywords (1470)
- Added styles:
* Material (1662)
* Zenburn (1659)
- The `pygmentize` script now uses `argparse`, all options should work
as before
- Add `pygmentize -C` option to guess a lexer from content
- With this release, Pygments moves to a new internal testing system (1649.)
See ``Contributing.md`` for details. The main advantage of this new change
is a much better test coverage of all existing example lexers. It also makes
it much easier to add new test snippets.
- Make guessing prefer Python 3 lexer
- Do not guess MIME or SQL without reason
- Changed setuptools to use a declarative config through ``setup.cfg``.
Building Pygments now requires setuptools 39.2+.
- Add markdown to MarkdownLexer aliases (1687)
- Change line number handling
* In ``<table>`` based output, the ``td.linenos`` element will have either a
``normal`` or ``special`` class attached. Previously, only ``special`` line
numbers got a class. This prevents styles from getting applied twice -
once via ``<pre>``, once via ``<span class="special">``. This also means
that ``td.linenos pre`` is no longer styled, instead, use
``td.linenos .normal`` and ``td.linenos .special``.
* In the "inline" style, the DOM element order was changed. The line number
is added first, then the line is wrapped is wrapped by the highlighter.
This fixes lines not being fully highlighted.
* The visual output for inline and non-inline line numbers & highlighting,
as well as class-based and inline styling is now consistent.
* Line number styles are set to ``background-color: transparent`` and
``color: inherit`` by default. This works much better with dark styles
which don't have colors set for line numbers.
- Remove "raw" alias from RawTokenLexer, so that it cannot be
selected by alias.
- Fix RawTokenLexer to work in Python 3 and handle exceptions.
- Add prompt colors to the Solarized theme (1529)
- Image formatter supports background colors now (1374)
- Add support for anchors in conjunction with inline line numbers (1591)
- Modernize the codebase using ``pyupgrade`` (1622)
- Add support for line numbers to the ``terminal256`` formatter (1674, 1653)
- Improve ``analyze_text`` logic for ``ECL`` (1610)
- Improve ``analyze_text`` logic for ``CBM Basic V2`` (1607)
- Improve LaTeX formatter (1708, 1709)
```
### 2.7.4
```
-------------
(released January 12, 2021)
- Updated lexers:
- Apache configurations: Improve handling of malformed tags (1656)
- CSS: Add support for variables (1633, 1666)
- Crystal (1650, 1670)
- Coq (1648)
- Fortran: Add missing keywords (1635, 1665)
- Ini (1624)
- JavaScript and variants (1647 -- missing regex flags, 1651)
- Markdown (1623, 1617)
- Shell
- Lex trailing whitespace as part of the prompt (1645)
- Add missing ``in`` keyword (1652)
- SQL - Fix keywords (1668)
- Typescript: Fix incorrect punctuation handling (1510, 1511)
- Fix infinite loop in SML lexer (1625)
- Fix backtracking string regexes in JavaScript/TypeScript, Modula2
and many other lexers (1637)
- Limit recursion with nesting Ruby heredocs (1638)
- Fix a few inefficient regexes for guessing lexers
- Fix the raw token lexer handling of Unicode (1616)
- Revert a private API change in the HTML formatter (1655) --
please note that private APIs remain subject to change!
- Fix several exponential/cubic-complexity regexes found by
Ben Caller/Doyensec (1675)
- Fix incorrect MATLAB example (1582)
Thanks to Google's OSS-Fuzz project for finding many of these bugs.
```
### 2.7.3
```
-------------
(released December 6, 2020)
- Updated lexers:
* Ada (1581)
* HTML (1615, 1614)
* Java (1594, 1586)
* JavaScript (1605, 1589, 1588)
* JSON (1569 -- this is a complete rewrite)
* Lean (1601)
* LLVM (1612)
* Mason (1592)
* MySQL (1555, 1551)
* Rust (1608)
* Turtle (1590, 1553)
- Deprecated JsonBareObjectLexer, which is now identical to JsonLexer (1600)
- The ``ImgFormatter`` now calculates the exact character width, which fixes some issues with overlapping text (1213, 1611)
- Documentation fixes (1609, 1599, 1598)
- Fixed duplicated Juttle language alias (1604, 1606)
- Added support for Kotlin scripts (1587)
- Removed CSS rule which forced margin to 0
```
### 2.7.2
```
-------------
(released October 24, 2020)
- Updated lexers:
* Latex (1517, 1516)
* LLVM (1565)
* SPARQL (1559)
- Fix Python console/traceback lexer problems with custom exceptions without messages (1548)
- Allow loading ttc fonts on Mac/image formatter (1223)
- Improve ``analyze_text`` across a variety of lexers (1549)
- Remove CSS rule which forced the vertical padding to 0 for line numbers (1583, 1579)
- Fix ``TNTLexer`` crashing on unexpected EOL (1568, 1570)
- ``regexlint`` can be now run locally as part of ``tox`` tests (1557)
- Fix typos (1550, 1562)
- Add Python 3.9 as a supported version (1554)
```
### 2.7.1
```
-------------
(released September 16, 2020)
- Fixed a regression in the JSON lexer (1544)
```
### 2.7.0
```
-------------
(released September 12, 2020)
- Added lexers:
* Arrow (1481, 1499)
* BARE (1488)
* Devicetree (1434)
* F* (1409)
* GDScript (1457)
* Pointless (1494)
* PromQL (1506)
* PsySH (1438)
* Singularity (1285)
* TiddlyWiki5 (1390)
* TNT (1414)
* YANG (1408, 1428)
- Updated lexers:
* APL (1503)
* C++ (1350, which also fixes: 1222, 996, 906, 828, 1162, 1166,
1396)
* Chapel (1423)
* CMake (1491)
* CSound (1509)
* Cython (1507)
* Dart (1449)
* Fennel (1535)
* Fortran (1442)
* GAS (1530)
* HTTP (1432, 1520, 1521)
* Inform 6 (1461)
* Javascript (1533)
* JSON (1065, 1528)
* Lean (1415)
* Matlab (1399)
* Markdown (1492, 1495)
* MySQL (975, 1063, 1453, 1527)
* NASM (1465)
* Nim (1426)
* PostgreSQL (1513)
* PowerShell (1398, 1497)
* Protobuf (1505)
* Robot (1480)
* SQL (1402)
* SystemVerilog (1436, 1452, 1454, 1460, 1462, 1463, 1464, 1471, 1496, 1504)
* TeraTerm (1337)
* XML (1502)
- Added a new filter for math symbols (1406)
- The Kconfig lexer will match Kconfig derivative names now (1458)
- Improved HTML formatter output (1500)
- ``.markdown`` is now recognized as an extension for Markdown files (1476)
- Fixed line number colors for Solarized (1477, 1356)
- Improvements to exception handling (1478)
- Improvements to tests (1532, 1533, 1539)
- Various code cleanups (1536, 1537, 1538)
```
Links
- PyPI: https://pypi.org/project/pygments
- Changelog: https://pyup.io/changelogs/pygments/
- Homepage: https://pygments.org/
Changelog
### 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't check directories starting with '.' when using register_plugins
Closes 4119
```
### 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's DataFrame or numpy'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
```
### 2.6.1
```
===========================
* Astroid version has been set as < 2.5
Close 4093
```
Links
- PyPI: https://pypi.org/project/pylint
- Changelog: https://pyup.io/changelogs/pylint/
- Repo: https://github.com/PyCQA/pylint
Changelog
### 2.11.1
```
-------------------
* Fixed support for newer setuptools (v42+).
Contributed by Michał Górny in `451 <https://github.com/pytest-dev/pytest-cov/pull/451>`_.
```
### 2.11.0
```
-------------------
* Bumped minimum coverage requirement to 5.2.1. This prevents reporting issues.
Contributed by Mateus Berardo de Souza Terra in `433 <https://github.com/pytest-dev/pytest-cov/pull/433>`_.
* Improved sample projects (from the `examples <https://github.com/pytest-dev/pytest-cov/tree/master/examples>`_
directory) to support running `tox -e pyXY`. Now the example configures a suffixed coverage data file,
and that makes the cleanup environment unnecessary.
Contributed by Ganden Schaffner in `435 <https://github.com/pytest-dev/pytest-cov/pull/435>`_.
* Removed the empty `console_scripts` entrypoint that confused some Gentoo build script.
I didn't ask why it was so broken cause I didn't want to ruin my day.
Contributed by Michał Górny in `434 <https://github.com/pytest-dev/pytest-cov/pull/434>`_.
* Fixed the missing `coverage context <https://coverage.readthedocs.io/en/stable/contexts.html>`_
when using subprocesses.
Contributed by Bernát Gábor in `443 <https://github.com/pytest-dev/pytest-cov/pull/443>`_.
* Updated the config section in the docs.
Contributed by Pamela McA'Nulty in `429 <https://github.com/pytest-dev/pytest-cov/pull/429>`_.
* Migrated CI to travis-ci.com (from .org).
```
Links
- PyPI: https://pypi.org/project/pytest-cov
- Changelog: https://pyup.io/changelogs/pytest-cov/
- Repo: https://github.com/pytest-dev/pytest-cov
Changelog
### 6.2.2
```
=========================
Bug Fixes
---------
- `8152 <https://github.com/pytest-dev/pytest/issues/8152>`_: Fixed "(<Skipped instance>)" being shown as a skip reason in the verbose test summary line when the reason is empty.
- `8249 <https://github.com/pytest-dev/pytest/issues/8249>`_: Fix the ``faulthandler`` plugin for occasions when running with ``twisted.logger`` and using ``pytest --capture=no``.
```
### 6.2.1
```
=========================
Bug Fixes
---------
- `7678 <https://github.com/pytest-dev/pytest/issues/7678>`_: Fixed bug where ``ImportPathMismatchError`` would be raised for files compiled in
the host and loaded later from an UNC mounted path (Windows).
- `8132 <https://github.com/pytest-dev/pytest/issues/8132>`_: Fixed regression in ``approx``: in 6.2.0 ``approx`` no longer raises
``TypeError`` when dealing with non-numeric types, falling back to normal comparison.
Before 6.2.0, array types like tf.DeviceArray fell through to the scalar case,
and happened to compare correctly to a scalar if they had only one element.
After 6.2.0, these types began failing, because they inherited neither from
standard Python number hierarchy nor from ``numpy.ndarray``.
``approx`` now converts arguments to ``numpy.ndarray`` if they expose the array
protocol and are not scalars. This treats array-like objects like numpy arrays,
regardless of size.
```
### 6.2.0
```
=========================
Breaking Changes
----------------
- `7808 <https://github.com/pytest-dev/pytest/issues/7808>`_: pytest now supports python3.6+ only.
Deprecations
------------
- `7469 <https://github.com/pytest-dev/pytest/issues/7469>`_: Directly constructing/calling the following classes/functions is now deprecated:
- ``_pytest.cacheprovider.Cache``
- ``_pytest.cacheprovider.Cache.for_config()``
- ``_pytest.cacheprovider.Cache.clear_cache()``
- ``_pytest.cacheprovider.Cache.cache_dir_from_config()``
- ``_pytest.capture.CaptureFixture``
- ``_pytest.fixtures.FixtureRequest``
- ``_pytest.fixtures.SubRequest``
- ``_pytest.logging.LogCaptureFixture``
- ``_pytest.pytester.Pytester``
- ``_pytest.pytester.Testdir``
- ``_pytest.recwarn.WarningsRecorder``
- ``_pytest.recwarn.WarningsChecker``
- ``_pytest.tmpdir.TempPathFactory``
- ``_pytest.tmpdir.TempdirFactory``
These have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 7.0.0.
- `7530 <https://github.com/pytest-dev/pytest/issues/7530>`_: The ``--strict`` command-line option has been deprecated, use ``--strict-markers`` instead.
We have plans to maybe in the future to reintroduce ``--strict`` and make it an encompassing flag for all strictness
related options (``--strict-markers`` and ``--strict-config`` at the moment, more might be introduced in the future).
- `7988 <https://github.com/pytest-dev/pytest/issues/7988>`_: The ``pytest.yield_fixture`` decorator/function is now deprecated. Use :func:`pytest.fixture` instead.
``yield_fixture`` has been an alias for ``fixture`` for a very long time, so can be search/replaced safely.
Features
--------
- `5299 <https://github.com/pytest-dev/pytest/issues/5299>`_: pytest now warns about unraisable exceptions and unhandled thread exceptions that occur in tests on Python>=3.8.
See :ref:`unraisable` for more information.
- `7425 <https://github.com/pytest-dev/pytest/issues/7425>`_: New :fixture:`pytester` fixture, which is identical to :fixture:`testdir` but its methods return :class:`pathlib.Path` when appropriate instead of ``py.path.local``.
This is part of the movement to use :class:`pathlib.Path` objects internally, in order to remove the dependency to ``py`` in the future.
Internally, the old :class:`Testdir <_pytest.pytester.Testdir>` is now a thin wrapper around :class:`Pytester <_pytest.pytester.Pytester>`, preserving the old interface.
- `7695 <https://github.com/pytest-dev/pytest/issues/7695>`_: A new hook was added, `pytest_markeval_namespace` which should return a dictionary.
This dictionary will be used to augment the "global" variables available to evaluate skipif/xfail/xpass markers.
Pseudo example
``conftest.py``:
.. code-block:: python
def pytest_markeval_namespace():
return {"color": "red"}
``test_func.py``:
.. code-block:: python
pytest.mark.skipif("color == 'blue'", reason="Color is not red")
def test_func():
assert False
- `8006 <https://github.com/pytest-dev/pytest/issues/8006>`_: It is now possible to construct a :class:`~pytest.MonkeyPatch` object directly as ``pytest.MonkeyPatch()``,
in cases when the :fixture:`monkeypatch` fixture cannot be used. Previously some users imported it
from the private `_pytest.monkeypatch.MonkeyPatch` namespace.
Additionally, :meth:`MonkeyPatch.context <pytest.MonkeyPatch.context>` is now a classmethod,
and can be used as ``with MonkeyPatch.context() as mp: ...``. This is the recommended way to use
``MonkeyPatch`` directly, since unlike the ``monkeypatch`` fixture, an instance created directly
is not ``undo()``-ed automatically.
Improvements
------------
- `1265 <https://github.com/pytest-dev/pytest/issues/1265>`_: Added an ``__str__`` implementation t
Update arrow from 0.16.0 to 1.0.3.
Changelog
### 1.0.3 ``` ------------------ - [FIX] Updated internals to avoid issues when running ``mypy --strict``. - [FIX] Corrections to Swedish locale. - [INTERNAL] Lowered required coverage limit until ``humanize`` month tests are fixed. ``` ### 1.0.2 ``` ------------------ - [FIXED] Fixed an ``OverflowError`` that could occur when running Arrow on a 32-bit OS. ``` ### 1.0.1 ``` ------------------ - [FIXED] A ``py.typed`` file is now bundled with the Arrow package to conform to PEP 561. ``` ### 1.0.0 ``` ------------------ After 8 years we're pleased to announce Arrow v1.0. Thanks to the entire Python community for helping make Arrow the amazing package it is today! - [CHANGE] Arrow has **dropped support** for Python 2.7 and 3.5. - [CHANGE] There are multiple **breaking changes** with this release, please see the `migration guide <https://github.com/arrow-py/arrow/issues/832>`_ for a complete overview. - [CHANGE] Arrow is now following `semantic versioning <https://semver.org/>`_. - [CHANGE] Made ``humanize`` granularity="auto" limits more accurate to reduce strange results. - [NEW] Added support for Python 3.9. - [NEW] Added a new keyword argument "exact" to ``span``, ``span_range`` and ``interval`` methods. This makes timespans begin at the start time given and not extend beyond the end time given, for example: .. code-block:: python >>> start = Arrow(2021, 2, 5, 12, 30) >>> end = Arrow(2021, 2, 5, 17, 15) >>> for r in arrow.Arrow.span_range('hour', start, end, exact=True): ... print(r) ... (<Arrow [2021-02-05T12:30:00+00:00]>, <Arrow [2021-02-05T13:29:59.999999+00:00]>) (<Arrow [2021-02-05T13:30:00+00:00]>, <Arrow [2021-02-05T14:29:59.999999+00:00]>) (<Arrow [2021-02-05T14:30:00+00:00]>, <Arrow [2021-02-05T15:29:59.999999+00:00]>) (<Arrow [2021-02-05T15:30:00+00:00]>, <Arrow [2021-02-05T16:29:59.999999+00:00]>) (<Arrow [2021-02-05T16:30:00+00:00]>, <Arrow [2021-02-05T17:14:59.999999+00:00]>) - [NEW] Arrow now natively supports PEP 484-style type annotations. - [FIX] Fixed handling of maximum permitted timestamp on Windows systems. - [FIX] Corrections to French, German, Japanese and Norwegian locales. - [INTERNAL] Raise more appropriate errors when string parsing fails to match. ``` ### 0.17.0 ``` ------------------- - [WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. This is the last major release to support Python 2.7 and Python 3.5. - [NEW] Arrow now properly handles imaginary datetimes during DST shifts. For example: .. code-block:: python >>> just_before = arrow.get(2013, 3, 31, 1, 55, tzinfo="Europe/Paris") >>> just_before.shift(minutes=+10) <Arrow [2013-03-31T03:05:00+02:00]> .. code-block:: python >>> before = arrow.get("2018-03-10 23:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific") >>> after = arrow.get("2018-03-11 04:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific") >>> result=[(t, t.to("utc")) for t in arrow.Arrow.range("hour", before, after)] >>> for r in result: ... print(r) ... (<Arrow [2018-03-10T23:00:00-08:00]>, <Arrow [2018-03-11T07:00:00+00:00]>) (<Arrow [2018-03-11T00:00:00-08:00]>, <Arrow [2018-03-11T08:00:00+00:00]>) (<Arrow [2018-03-11T01:00:00-08:00]>, <Arrow [2018-03-11T09:00:00+00:00]>) (<Arrow [2018-03-11T03:00:00-07:00]>, <Arrow [2018-03-11T10:00:00+00:00]>) (<Arrow [2018-03-11T04:00:00-07:00]>, <Arrow [2018-03-11T11:00:00+00:00]>) - [NEW] Added ``humanize`` week granularity translation for Tagalog. - [CHANGE] Calls to the ``timestamp`` property now emit a ``DeprecationWarning``. In a future release, ``timestamp`` will be changed to a method to align with Python's datetime module. If you would like to continue using the property, please change your code to use the ``int_timestamp`` or ``float_timestamp`` properties instead. - [CHANGE] Expanded and improved Catalan locale. - [FIX] Fixed a bug that caused ``Arrow.range()`` to incorrectly cut off ranges in certain scenarios when using month, quarter, or year endings. - [FIX] Fixed a bug that caused day of week token parsing to be case sensitive. - [INTERNAL] A number of functions were reordered in arrow.py for better organization and grouping of related methods. This change will have no impact on usage. - [INTERNAL] A minimum tox version is now enforced for compatibility reasons. Contributors must use tox >3.18.0 going forward. ```Links
- PyPI: https://pypi.org/project/arrow - Changelog: https://pyup.io/changelogs/arrow/ - Docs: https://arrow.readthedocs.ioUpdate astroid from 2.4.2 to 2.5.1.
Changelog
### 2.5.1 ``` ============================ Release Date: 2021-02-28 * The ``context.path`` is reverted to a set because otherwise it leads to false positives for non `numpy` functions. Closes 895 899 * Don't transform dataclass ClassVars * Improve typing.TypedDict inference * Fix the `Duplicates found in MROs` false positive. Closes 905 Closes PyCQA/pylint2717 Closes PyCQA/pylint3247 Closes PyCQA/pylint4093 Closes PyCQA/pylint4131 Closes PyCQA/pylint4145 ``` ### 2.5 ``` ============================ Release Date: 2021-02-15 * Adds `attr_fset` in the `PropertyModel` class. Fixes PyCQA/pylint3480 * Remove support for Python 3.5. * Remove the runtime dependency on ``six``. The ``six`` brain remains in astroid. Fixes PyCQA/astroid863 * Enrich the ``brain_collection`` module so that ``__class_getitem__`` method is added to `deque` for ``python`` version above 3.9. * The ``context.path`` is now a ``dict`` and the ``context.push`` method returns ``True`` if the node has been visited a certain amount of times. Close 669 * Adds a brain for type object so that it is possible to write `type[int]` in annotation. Fixes PyCQA/pylint4001 * Add ``__class_getitem__`` method to ``subprocess.Popen`` brain under Python 3.9 so that it is seen as subscriptable by pylint. Fixes PyCQA/pylint4034 * Adds `degrees`, `radians`, which are `numpy ufunc` functions, in the `numpy` brain. Adds `random` function in the `numpy.random` brain. Fixes PyCQA/pylint3856 * Fix deprecated importlib methods Closes 703 * Fix a crash in inference caused by `Uninferable` container elements Close 866 * Add `python 3.9` support. * The flat attribute of ``numpy.ndarray`` is now inferred as an ``numpy.ndarray`` itself. It should be a ``numpy.flatiter`` instance, but this class is not yet available in the numpy brain. Fixes PyCQA/pylint3640 * Fix a bug for dunder methods inference of function objects Fixes 819 * Fixes a bug in the signature of the ``ndarray.__or__`` method, in the ``brain_numpy_ndarray.py`` module. Fixes 815 * Fixes a to-list cast bug in ``starred_assigned_stmts`` method, in the ``protocols.py` module. * Added a brain for ``hypothesis.strategies.composite`` * The transpose of a ``numpy.ndarray`` is also a ``numpy.ndarray`` Fixes PyCQA/pylint3387 * Added a brain for ``sqlalchemy.orm.session`` * Separate string and bytes classes patching Fixes PyCQA/pylint3599 * Prevent recursion error for self referential length calls Close 777 * Added missing methods to the brain for ``mechanize``, to fix pylint false positives Close 793 * Added more supported parameters to ``subprocess.check_output`` * Fix recursion errors with pandas Fixes PyCQA/pylint2843 Fixes PyCQA/pylint2811 * Added exception inference for `UnicodeDecodeError` Close PyCQA/pylint3639 * `FunctionDef.is_generator` properly handles `yield` nodes in `If` tests Close PyCQA/pylint3583 * Fixed exception-chaining error messages. * Fix failure to infer base class type with multiple inheritance and qualified names Fixes 843 * Fix interpretation of ``six.with_metaclass`` class definitions. Fixes 713 * Reduce memory usage of astroid's module cache. * Remove dependency on `imp`. Close 594 Close 681 * Do not crash when encountering starred assignments in enums. Close 835 * Fix a crash in functools.partial inference when the arguments cannot be determined Close PyCQA/pylint3776 * Fix a crash caused by a lookup of a monkey-patched method Close PyCQA/pylint3686 * ``is_generator`` correctly considers `Yield` nodes in `AugAssign` nodes This fixes a false positive with the `assignment-from-no-return` pylint check. Close PyCQA/pylint3904 * Corrected the parent of function type comment nodes. These nodes used to be parented to their original ast.FunctionDef parent but are now correctly parented to their astroid.FunctionDef parent. Close PyCQA/astroid851 ```Links
- PyPI: https://pypi.org/project/astroid - Changelog: https://pyup.io/changelogs/astroid/ - Repo: https://github.com/PyCQA/astroidUpdate attrs from 20.1.0 to 20.3.0.
Changelog
### 20.3.0 ``` ------------------- Backward-incompatible Changes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**. This release does **not** change change anything about them and they are already used widely in production though. If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963file-attrs_ng_plugin-py>`_ into your project. Feel free to provide feedback to them in the linked issue 668. We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled. `668 <https://github.com/python-attrs/attrs/issues/668>`_ Changes ^^^^^^^ - ``attr.s()`` now has a *field_transformer* hook that is called for all ``Attribute``\ s and returns a (modified or updated) list of ``Attribute`` instances. ``attr.asdict()`` has a *value_serializer* hook that can change the way values are converted. Both hooks are meant to help with data (de-)serialization workflows. `653 <https://github.com/python-attrs/attrs/issues/653>`_ - ``kw_only=True`` now works on Python 2. `700 <https://github.com/python-attrs/attrs/issues/700>`_ - ``raise from`` now works on frozen classes on PyPy. `703 <https://github.com/python-attrs/attrs/issues/703>`_, `712 <https://github.com/python-attrs/attrs/issues/712>`_ - ``attr.asdict()`` and ``attr.astuple()`` now treat ``frozenset``\ s like ``set``\ s with regards to the *retain_collection_types* argument. `704 <https://github.com/python-attrs/attrs/issues/704>`_ - The type stubs for ``attr.s()`` and ``attr.make_class()`` are not missing the *collect_by_mro* argument anymore. `711 <https://github.com/python-attrs/attrs/issues/711>`_ ---- ``` ### 20.2.0 ``` ------------------- Backward-incompatible Changes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**. This release fixes a bunch of bugs and ergonomics but they remain mostly unchanged. If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963file-attrs_ng_plugin-py>`_ into your project. Feel free to provide feedback to them in the linked issue 668. We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled. `668 <https://github.com/python-attrs/attrs/issues/668>`_ Changes ^^^^^^^ - ``attr.define()`` et al now correct detect ``__eq__`` and ``__ne__``. `671 <https://github.com/python-attrs/attrs/issues/671>`_ - ``attr.define()`` et al's hybrid behavior now also works correctly when arguments are passed. `675 <https://github.com/python-attrs/attrs/issues/675>`_ - It's possible to define custom ``__setattr__`` methods on slotted classes again. `681 <https://github.com/python-attrs/attrs/issues/681>`_ - In 20.1.0 we introduced the ``inherited`` attribute on the ``attr.Attribute`` class to differentiate attributes that have been inherited and those that have been defined directly on the class. It has shown to be problematic to involve that attribute when comparing instances of ``attr.Attribute`` though, because when sub-classing, attributes from base classes are suddenly not equal to themselves in a super class. Therefore the ``inherited`` attribute will now be ignored when hashing and comparing instances of ``attr.Attribute``. `684 <https://github.com/python-attrs/attrs/issues/684>`_ - ``zope.interface`` is now a "soft dependency" when running the test suite; if ``zope.interface`` is not installed when running the test suite, the interface-related tests will be automatically skipped. `685 <https://github.com/python-attrs/attrs/issues/685>`_ - The ergonomics of creating frozen classes using ``define(frozen=True)`` and sub-classing frozen classes has been improved: you don't have to set ``on_setattr=None`` anymore. `687 <https://github.com/python-attrs/attrs/issues/687>`_ ---- ```Links
- PyPI: https://pypi.org/project/attrs - Changelog: https://pyup.io/changelogs/attrs/ - Homepage: https://www.attrs.org/Update babel from 2.8.0 to 2.9.0.
Changelog
### 2.9.0 ``` ------------- Upcoming version support changes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * This version, Babel 2.9, is the last version of Babel to support Python 2.7, Python 3.4, and Python 3.5. Improvements ~~~~~~~~~~~~ * CLDR: Use CLDR 37 – Aarni Koskela (734) * Dates: Handle ZoneInfo objects in get_timezone_location, get_timezone_name - Alessio Bogon (741) * Numbers: Add group_separator feature in number formatting - Abdullah Javed Nesar (726) Bugfixes ~~~~~~~~ * Dates: Correct default Format().timedelta format to 'long' to mute deprecation warnings – Aarni Koskela * Import: Simplify iteration code in "import_cldr.py" – Felix Schwarz * Import: Stop using deprecated ElementTree methods "getchildren()" and "getiterator()" – Felix Schwarz * Messages: Fix unicode printing error on Python 2 without TTY. – Niklas Hambüchen * Messages: Introduce invariant that _invalid_pofile() takes unicode line. – Niklas Hambüchen * Tests: fix tests when using Python 3.9 – Felix Schwarz * Tests: Remove deprecated 'sudo: false' from Travis configuration – Jon Dufresne * Tests: Support Py.test 6.x – Aarni Koskela * Utilities: LazyProxy: Handle AttributeError in specified func – Nikiforov Konstantin (724) * Utilities: Replace usage of parser.suite with ast.parse – Miro Hrončok Documentation ~~~~~~~~~~~~~ * Update parse_number comments – Brad Martin (708) * Add __iter__ to Catalog documentation – CyanNani123 ``` ### 2.8.1 ``` ------------- This is solely a patch release to make running tests on Py.test 6+ possible. Bugfixes ~~~~~~~~ * Support Py.test 6 - Aarni Koskela (747, 750, 752) ```Links
- PyPI: https://pypi.org/project/babel - Changelog: https://pyup.io/changelogs/babel/ - Homepage: http://babel.pocoo.org/ - Docs: https://pythonhosted.org/Babel/Update certifi from 2020.6.20 to 2020.12.5.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/certifi - Docs: https://certifiio.readthedocs.io/en/latest/Update chardet from 3.0.4 to 4.0.0.
Changelog
### 4.0.0 ``` Benchmarking chardet 4.0.0 on CPython 3.7.5 (default, Sep 8 2020, 12:19:42) [Clang 11.0.3 (clang-1103.0.32.62)] -------------------------------------------------------------------------------- ....................................................................................................................................................................................................................................................................................................................................................................... Calls per second for each encoding: ```Links
- PyPI: https://pypi.org/project/chardet - Changelog: https://pyup.io/changelogs/chardet/ - Repo: https://github.com/chardet/chardetUpdate coverage from 5.2.1 to 5.5.
Changelog
### 5.5 ``` -------------------------- - ``coverage combine`` has a new option, ``--keep`` to keep the original data files after combining them. The default is still to delete the files after they have been combined. This was requested in `issue 1108`_ and implemented in `pull request 1110`_. Thanks, Éric Larivière. - When reporting missing branches in ``coverage report``, branches aren't reported that jump to missing lines. This adds to the long-standing behavior of not reporting branches from missing lines. Now branches are only reported if both the source and destination lines are executed. Closes both `issue 1065`_ and `issue 955`_. - Minor improvements to the HTML report: - The state of the line visibility selector buttons is saved in local storage so you don't have to fiddle with them so often, fixing `issue 1123`_. - It has a little more room for line numbers so that 4-digit numbers work well, fixing `issue 1124`_. - Improved the error message when combining line and branch data, so that users will be more likely to understand what's happening, closing `issue 803`_. .. _issue 803: https://github.com/nedbat/coveragepy/issues/803 .. _issue 955: https://github.com/nedbat/coveragepy/issues/955 .. _issue 1065: https://github.com/nedbat/coveragepy/issues/1065 .. _issue 1108: https://github.com/nedbat/coveragepy/issues/1108 .. _pull request 1110: https://github.com/nedbat/coveragepy/pull/1110 .. _issue 1123: https://github.com/nedbat/coveragepy/issues/1123 .. _issue 1124: https://github.com/nedbat/coveragepy/issues/1124 .. _changes_54: ``` ### 5.4 ``` -------------------------- - The text report produced by ``coverage report`` now always outputs a TOTAL line, even if only one Python file is reported. This makes regex parsing of the output easier. Thanks, Judson Neer. This had been requested a number of times (`issue 1086`_, `issue 922`_, `issue 732`_). - The ``skip_covered`` and ``skip_empty`` settings in the configuration file can now be specified in the ``[html]`` section, so that text reports and HTML reports can use separate settings. The HTML report will still use the ``[report]`` settings if there isn't a value in the ``[html]`` section. Closes `issue 1090`_. - Combining files on Windows across drives now works properly, fixing `issue 577`_. Thanks, `Valentin Lab <pr1080_>`_. - Fix an obscure warning from deep in the _decimal module, as reported in `issue 1084`_. - Update to support Python 3.10 alphas in progress, including `PEP 626: Precise line numbers for debugging and other tools <pep626_>`_. .. _issue 577: https://github.com/nedbat/coveragepy/issues/577 .. _issue 732: https://github.com/nedbat/coveragepy/issues/732 .. _issue 922: https://github.com/nedbat/coveragepy/issues/922 .. _issue 1084: https://github.com/nedbat/coveragepy/issues/1084 .. _issue 1086: https://github.com/nedbat/coveragepy/issues/1086 .. _issue 1090: https://github.com/nedbat/coveragepy/issues/1090 .. _pr1080: https://github.com/nedbat/coveragepy/pull/1080 .. _pep626: https://www.python.org/dev/peps/pep-0626/ .. _changes_531: ``` ### 5.3.1 ``` ---------------------------- - When using ``--source`` on a large source tree, v5.x was slower than previous versions. This performance regression is now fixed, closing `issue 1037`_. - Mysterious SQLite errors can happen on PyPy, as reported in `issue 1010`_. An immediate retry seems to fix the problem, although it is an unsatisfying solution. - The HTML report now saves the sort order in a more widely supported way, fixing `issue 986`_. Thanks, Sebastián Ramírez (`pull request 1066`_). - The HTML report pages now have a :ref:`Sleepy Snake <sleepy>` favicon. - Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37). - Continuous integration has moved from Travis and AppVeyor to GitHub Actions. .. _issue 986: https://github.com/nedbat/coveragepy/issues/986 .. _issue 1037: https://github.com/nedbat/coveragepy/issues/1037 .. _issue 1010: https://github.com/nedbat/coveragepy/issues/1010 .. _pull request 1066: https://github.com/nedbat/coveragepy/pull/1066 .. _changes_53: ``` ### 5.3 ``` -------------------------- - The ``source`` setting has always been interpreted as either a file path or a module, depending on which existed. If both interpretations were valid, it was assumed to be a file path. The new ``source_pkgs`` setting can be used to name a package to disambiguate this case. Thanks, Thomas Grainger. Fixes `issue 268`_. - If a plugin was disabled due to an exception, we used to still try to record its information, causing an exception, as reported in `issue 1011`_. This is now fixed. .. _issue 268: https://github.com/nedbat/coveragepy/issues/268 .. _issue 1011: https://github.com/nedbat/coveragepy/issues/1011 .. _changes_521: ```Links
- PyPI: https://pypi.org/project/coverage - Changelog: https://pyup.io/changelogs/coverage/ - Repo: https://github.com/nedbat/coveragepyUpdate flake8-bugbear from 20.1.4 to 21.3.2.
Changelog
### 20.11.1 ``` - Support exception aliases properly in B014 (129) - Add B015: Pointless comparison (130) - Remove check for noqa comments (134) - Ignore exception classes which are not types (135) - Introduce B016 to check for raising a literal. (141) - Exclude types.MappingProxyType() from B008. (144) ``` ### 20.3.2 ``` - Fix crash on tuple expansion in try/except block (161) ``` ### 20.3.1 ``` - Fix grammar in B015 (150) - Make sure float infinity/NaN does not trigger B008 (155) - Handle positional-only args in class methods (158) ```Links
- PyPI: https://pypi.org/project/flake8-bugbear - Changelog: https://pyup.io/changelogs/flake8-bugbear/ - Repo: https://github.com/PyCQA/flake8-bugbearUpdate flake8 from 3.8.3 to 3.9.0.
Changelog
### 3.9.0 ``` ------------------- You can view the `3.9.0 milestone`_ on GitLab for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Pyflakes has been updated to >= 2.3.0, < 2.4.0 (See also `GitLab!466`_) - pycodestyle has been updated to >= 2.7.0, < 2.8.0 (See also `GitLab!467`_) Deprecations ~~~~~~~~~~~~ - Drop support for python 3.4 (See also `GitLab!457`_) Features ~~~~~~~~ - Add ``--no-show-source`` option to disable ``--show-source`` (See also `GitLab!441`_) Bugs Fixed ~~~~~~~~~~ - Fix handling of ``crlf`` line endings when linting stdin (See also `GitLab!461`_) .. all links .. _3.9.0 milestone: https://gitlab.com/pycqa/flake8/-/milestones/38 .. merge request links .. _GitLab!441: https://gitlab.com/pycqa/flake8/-/merge_requests/441 .. _GitLab!457: https://gitlab.com/pycqa/flake8/-/merge_requests/457 .. _GitLab!461: https://gitlab.com/pycqa/flake8/-/merge_requests/461 .. _GitLab!466: https://gitlab.com/pycqa/flake8/-/merge_requests/466 .. _GitLab!467: https://gitlab.com/pycqa/flake8/-/merge_requests/467 ``` ### 3.8.4 ``` ------------------- You can view the `3.8.4 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix multiprocessing errors on platforms without ``sem_open`` syscall. (See also `GitLab!448`_) - Fix skipping of physical checks on the last line of a file which does not end in a newline (See also `GitLab!451`_) .. all links .. _3.8.4 milestone: https://gitlab.com/pycqa/flake8/-/milestones/37 .. merge request links .. _GitLab!448: https://gitlab.com/pycqa/flake8/merge_requests/448 .. _GitLab!451: https://gitlab.com/pycqa/flake8/merge_requests/451 ```Links
- PyPI: https://pypi.org/project/flake8 - Changelog: https://pyup.io/changelogs/flake8/ - Repo: https://gitlab.com/pycqa/flake8Update idna from 2.10 to 3.1.
Changelog
### 3.1 ``` ++++++++++++++++ - Ensure license is included in package (Thanks, Julien Schueller) - No longer mark wheel has universal (Thanks, Matthieu Darbois) - Test on PowerPC using Travis CI ``` ### 3.0 ``` ++++++++++++++++ - Python 2 is no longer supported (the 2.x branch supports Python 2, use "idna<3" in your requirements file if you need Python 2 support) - Support for V2 UTS 46 test vectors. ```Links
- PyPI: https://pypi.org/project/idna - Changelog: https://pyup.io/changelogs/idna/ - Repo: https://github.com/kjd/idnaUpdate isort[requirements,pyproject] from 5.4.2 to 5.8.0.
Changelog
### 5.8.0 ``` - Fixed 1631: as import comments can in some cases be duplicated. - Fixed 1667: extra newline added with float-to-top, after skip, in some cases. - Fixed 1594: incorrect placement of noqa comments with multiple from imports. - Fixed 1566: in some cases different length limits for dos based line endings. - Implemented 1648: Export MyPY type hints. - Implemented 1641: Identified import statements now return runnable code. - Implemented 1661: Added "wemake" profile. - Implemented 1669: Parallel (`-j`) now defaults to number of CPU cores if no value is provided. - Implemented 1668: Added a safeguard against accidental usage against /. - Implemented 1638 / 1644: Provide a flag `--overwrite-in-place` to ensure same file handle is used after sorting. - Implemented 1684: Added support for extending skips with `--extend-skip` and `--extend-skip-glob`. - Implemented 1688: Auto identification and skipping of some invalid import statements. - Implemented 1645: Ability to reverse the import sorting order. - Implemented 1504: Added ability to push star imports to the top to avoid overriding explicitly defined imports. - Documented 1685: Skip doesn't support plain directory names, but skip_glob does. ``` ### 5.7.0 ``` - Fixed 1612: In rare circumstances an extra comma is added after import and before comment. - Fixed 1593: isort encounters bug in Python 3.6.0. - Implemented 1596: Provide ways for extension formatting and file paths to be specified when using streaming input from CLI. - Implemented 1583: Ability to output and diff within a single API call to `isort.file`. - Implemented 1562, 1592 & 1593: Better more useful fatal error messages. - Implemented 1575: Support for automatically fixing mixed indentation of import sections. - Implemented 1582: Added a CLI option for skipping symlinks. - Implemented 1603: Support for disabling float_to_top from the command line. - Implemented 1604: Allow toggling section comments on and off for indented import sections. ``` ### 5.6.4 ``` - Fixed 1556: Empty line added between imports that should be skipped. ``` ### 5.6.3 ``` - Improved packaging of test files alongside source distribution (see: https://github.com/PyCQA/isort/pull/1555). ``` ### 5.6.2 ``` - Fixed 1548: On rare occasions an unecessary empty line can be added when an import is marked as skipped. - Fixed 1542: Bug in VERTICAL_PREFIX_FROM_MODULE_IMPORT wrap mode. - Fixed 1552: Pylama test dependent on source layout. Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan): - Zope added to integration test suite - Additional testing of CLI (simulate unseekable streams) ``` ### 5.6.1 ``` - Fixed 1546: Unstable (non-idempotent) behavior with certain src trees. ``` ### 5.6.0 ``` - Implemented 1433: Provide helpful feedback in case a custom config file is specified without a configuration. - Implemented 1494: Default to sorting imports within `.pxd` files. - Implemented 1502: Improved float-to-top behavior when there is an existing import section present at top-of-file. - Implemented 1511: Support for easily seeing all files isort will be ran against using `isort . --show-files`. - Implemented 1487: Improved handling of encoding errors. - Improved handling of unsupported configuration option errors (see 1475). - Fixed 1463: Better interactive documentation for future option. - Fixed 1461: Quiet config option not respected by file API in some circumstances. - Fixed 1482: pylama integration is not working correctly out-of-the-box. - Fixed 1492: --check does not work with stdin source. - Fixed 1499: isort gets confused by single line, multi-line style comments when using float-to-top. - Fixed 1525: Some warnings can't be disabled with --quiet. - Fixed 1523: in rare cases isort can ignore direct from import if as import is also on same line. Potentially breaking changes: - Implemented 1540: Officially support Python 3.9 stdlib imports by default. - Fixed 1443: Incorrect third vs first party categorization - namespace packages. - Fixed 1486: "Google" profile is not quite Google style. - Fixed "PyCharm" profile to always add 2 lines to be consistent with what PyCharm "Optimize Imports" does. Goal Zero: (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan): - Implemented 1472: Full testing of stdin CLI Options - Added additional branch coverage. - More projects added to integration test suite. ``` ### 5.5.5 ``` - Fixed 1539: in extremely rare cases isort 5.5.4 introduces syntax error by removing closing paren. ``` ### 5.5.4 ``` - Fixed 1507: in rare cases isort changes the content of multiline strings after a yield statement. - Fixed 1505: Support case where known_SECTION points to a section not listed in sections. ``` ### 5.5.3 ``` - Fixed 1488: in rare cases isort can mangle `yield from` or `raise from` statements. ``` ### 5.5.2 ``` - Fixed 1469: --diff option is ignored when input is from stdin. ``` ### 5.5.1 ``` - Fixed 1454: Ensure indented import sections with import heading and a preceding comment don't cause import sorting loops. - Fixed 1453: isort error when float to top on almost empty file. - Fixed 1456 and 1415: noqa comment moved to where flake8 cant see it. - Fixed 1460: .svn missing from default ignore list. ``` ### 5.5.0 ``` - Fixed 1398: isort: off comment doesn't work, if it's the top comment in the file. - Fixed 1395: reverse_relative setting doesn't have any effect when combined with force_sort_within_sections. - Fixed 1399: --skip can error in the case of projects that contain recursive symlinks. - Fixed 1389: ensure_newline_before_comments doesn't work if comment is at top of section and sections don't have lines between them. - Fixed 1396: comments in imports with ";" can keep isort from recognizing import line. - Fixed 1380: As imports removed when `combine_star` is set. - Fixed 1382: --float-to-top has no effect if no import is already at the top. - Fixed 1420: isort never settles on module docstring + add import. - Fixed 1421: Error raised when repo contains circular symlinks. - Fixed 1427: noqa comment is moved from star import to constant import. - Fixed 1444 & 1445: Incorrect placement of import additions. - Fixed 1447: isort5 throws error when stdin used on Windows with deprecated args. - Implemented 1397: Added support for specifying config file when using git hook (thanks diseraluca!). - Implemented 1405: Added support for coloring diff output. - Implemented 1434: New multi-line grid mode without parentheses. Goal Zero (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan): - Implemented 1392: Extensive profile testing. - Implemented 1393: Proprety based testing applied to code snippets. - Implemented 1391: Create automated integration test that includes full code base of largest OpenSource isort users. Potentially breaking changes: - Fixed 1429: --check doesn't print to stderr as the documentation says. This means if you were looking for `ERROR:` messages for files that contain incorrect imports within stdout you will now need to look in stderr. ```Links
- PyPI: https://pypi.org/project/isort - Changelog: https://pyup.io/changelogs/isort/ - Repo: https://pycqa.github.io/isort/Update jinja2 from 2.11.2 to 2.11.3.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/jinja2 - Homepage: https://palletsprojects.com/p/jinja/Update lazy-object-proxy from 1.5.1 to 1.5.2.
Changelog
### 1.5.2 ``` ------------------ * Added Python 3.9 wheels. * Removed Python 2.7 Windows wheels (not supported on newest image with Python 3.9). ```Links
- PyPI: https://pypi.org/project/lazy-object-proxy - Changelog: https://pyup.io/changelogs/lazy-object-proxy/ - Repo: https://github.com/ionelmc/python-lazy-object-proxyUpdate more-itertools from 8.5.0 to 8.7.0.
Changelog
### 8.7.0 ``` ----- * New functions * :func:`convolve` (from the Python itertools docs) * :func:`product_index`, :func:`combination_index`, and :func:`permutation_index` (thanks to N8Brooks) * :func:`value_chain` (thanks to jenstroeger) * Changes to existing functions * :func:`distinct_combinations` now uses a non-recursive algorithm (thanks to knutdrand) * :func:`pad_none` is now the preferred name for :func:`padnone`, though the latter remains available. * :func:`pairwise` will now use the Python standard library implementation on Python 3.10+ * :func:`sort_together` now accepts a ``key`` argument (thanks to brianmaissy) * :func:`seekable` now has a ``peek`` method, and can indicate whether the iterator it's wrapping is exhausted (thanks to gsakkis) * :func:`time_limited` can now indicate whether its iterator has expired (thanks to roysmith) * The implementation of :func:`unique_everseen` was improved (thanks to plammens) * Other changes: * Various documentation updates (thanks to cthoyt, Evantm, and cyphase) ``` ### 8.6.0 ``` ----- * New itertools * :func:`all_unique` (thanks to brianmaissy) * :func:`nth_product` and :func:`nth_permutation` (thanks to N8Brooks) * Changes to existing itertools * :func:`chunked` and :func:`sliced` now accept a ``strict`` parameter (thanks to shlomif and jtwool) * Other changes * Python 3.5 has reached its end of life and is no longer supported. * Python 3.9 is officially supported. * Various documentation fixes (thanks to timgates42) ```Links
- PyPI: https://pypi.org/project/more-itertools - Changelog: https://pyup.io/changelogs/more-itertools/ - Repo: https://github.com/more-itertools/more-itertools - Docs: https://pythonhosted.org/more-itertools/Update mypy from 0.782 to 0.812.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/mypy - Homepage: http://www.mypy-lang.org/Update packaging from 20.4 to 20.9.
Changelog
### 20.9 ``` ~~~~~~~~~~~~~~~~~ * Run `isort <https://pypi.org/project/isort/>`_ over the code base (:issue:`377`) * Add support for the ``macosx_10_*_universal2`` platform tags (:issue:`379`) * Introduce ``packaging.utils.parse_wheel_filename()`` and ``parse_sdist_filename()`` (:issue:`387` and :issue:`389`) ``` ### 20.8 ``` ~~~~~~~~~~~~~~~~~ * Revert back to setuptools for compatibility purposes for some Linux distros (:issue:`363`) * Do not insert an underscore in wheel tags when the interpreter version number is more than 2 digits (:issue:`372`) ``` ### 20.7 ``` ~~~~~~~~~~~~~~~~~ No unreleased changes. ``` ### 20.6 ``` ~~~~~~~~~~~~~~~~~ .. note:: This release was subsequently yanked, and these changes were included in 20.7. * Fix flit configuration, to include LICENSE files (:issue:`357`) * Make `intel` a recognized CPU architecture for the `universal` macOS platform tag (:issue:`361`) * Add some missing type hints to `packaging.requirements` (issue:`350`) ``` ### 20.5 ``` ~~~~~~~~~~~~~~~~~ * Officially support Python 3.9 (:issue:`343`) * Deprecate the ``LegacyVersion`` and ``LegacySpecifier`` classes (:issue:`321`) * Handle ``OSError`` on non-dynamic executables when attempting to resolve the glibc version string. ```Links
- PyPI: https://pypi.org/project/packaging - Changelog: https://pyup.io/changelogs/packaging/ - Repo: https://github.com/pypa/packagingUpdate pathspec from 0.8.0 to 0.8.1.
Changelog
### 0.8.1 ``` ------------------ - `Issue 43`_: Add support for addition operator. .. _`Issue 43`: https://github.com/cpburnz/python-path-specification/pull/43 ```Links
- PyPI: https://pypi.org/project/pathspec - Changelog: https://pyup.io/changelogs/pathspec/ - Repo: https://github.com/cpburnz/python-path-specificationUpdate pbr from 5.4.5 to 5.5.1.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/pbr - Homepage: https://docs.openstack.org/pbr/latest/Update pip-api from 0.0.14 to 0.0.20.
Changelog
### 0.0.20 ``` ---------------------------------------------- - Ensure environment vars are passed to subprocess call (68) ``` ### 0.0.19 ``` ---------------------------------------------- - Drop support for Python 2.7 - Add experimental PEP 650 support - Fix issue with handling LegacyVersions (66) - Test against pip 20.3.4, 21.0, 21.0.1 ``` ### 0.0.18 ``` ---------------------------------------------- - Test against pip 20.3, 20.3.1, 20.3.3 - Support Python 3.9 ``` ### 0.0.17 ``` ---------------------------------------------- - Test against pip 20.3b1 ``` ### 0.0.16 ``` ---------------------------------------------- - Test against pip 20.2.4 ``` ### 0.0.15 ``` ---------------------------------------------- - Test against pip 20.1, 20.2, 20.2.1, 20.2.2, 20.2.3 ```Links
- PyPI: https://pypi.org/project/pip-api - Changelog: https://pyup.io/changelogs/pip-api/ - Repo: http://github.com/di/pip-apiUpdate py from 1.9.0 to 1.10.0.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/py - Docs: https://py.readthedocs.io/Update pycodestyle from 2.6.0 to 2.7.0.
Changelog
### 2.7.0 ``` ------------------ Changes: * Fix physical checks (such as W191) at end of file. PR 961. * Add ``--indent-size`` option (defaulting to ``4``). PR 970. * W605: fix escaped crlf false positive on windows. PR 976. ```Links
- PyPI: https://pypi.org/project/pycodestyle - Changelog: https://pyup.io/changelogs/pycodestyle/ - Homepage: https://pycodestyle.pycqa.org/Update pydocstyle from 5.1.1 to 6.0.0.
Changelog
Links
- PyPI: https://pypi.org/project/pydocstyle - Changelog: https://pyup.io/changelogs/pydocstyle/ - Repo: https://github.com/PyCQA/pydocstyle/Update pyflakes from 2.2.0 to 2.3.0.
Changelog
### 2.3.0 ``` - Recognize tuple concatenation in ``__all__`` export definitions - Better support use of annotation-only assignments when using ``from __future__ import annotations`` - Recognize special-case typing for ``Annotated`` - Fix undefined name ``__qualname__`` in class scope - Recognize special-cased typing for ``TypeVar`` - Errors for undefined exports in ``__all__`` are shown in a deterministic order - Fix false positives in certain typing constructs (``TypeVar``, ``NamedTuple``, ``TypedDict``, ``cast``) ```Links
- PyPI: https://pypi.org/project/pyflakes - Changelog: https://pyup.io/changelogs/pyflakes/ - Repo: https://github.com/PyCQA/pyflakesUpdate pygments from 2.6.1 to 2.8.1.
Changelog
### 2.8.0 ``` ------------- (released February 14, 2021) - Added lexers: * AMDGPU (1626) * CDDL (1379, 1239) * Futhark (1691) * Graphviz/DOT (1657, 731) - Updated lexers: * AutoIt: Support single quoted strings (1667, 1663) * C/C++ & related: Fix mishandling '*/' (1695) * Cocoa: Add builtin types (1703) * Console (1672) * Eiffel: Fix performance issues (1658) * Fortran: Improve combined keyword detection (1677, 1188) * J: Fix operator ``?`` lexing (1700, 1149) * JavaScript/TypeScript: Fix escapes in backtick strings (1679, 1686) * Kotlin: Improve string interpolation, modifier keyword handling, and various small issues (1699) * LESS: Support single-line comments (1046) * Matlab: - Add support for class properties (1466) - Update builtin functions (1705) - Various cleanups (1673) * Python: Improve handling of raw f-strings (1681, 1683) * Ruby: Better method name handling (1531) * Stata: Updated keywords (1470) - Added styles: * Material (1662) * Zenburn (1659) - The `pygmentize` script now uses `argparse`, all options should work as before - Add `pygmentize -C` option to guess a lexer from content - With this release, Pygments moves to a new internal testing system (1649.) See ``Contributing.md`` for details. The main advantage of this new change is a much better test coverage of all existing example lexers. It also makes it much easier to add new test snippets. - Make guessing prefer Python 3 lexer - Do not guess MIME or SQL without reason - Changed setuptools to use a declarative config through ``setup.cfg``. Building Pygments now requires setuptools 39.2+. - Add markdown to MarkdownLexer aliases (1687) - Change line number handling * In ``<table>`` based output, the ``td.linenos`` element will have either a ``normal`` or ``special`` class attached. Previously, only ``special`` line numbers got a class. This prevents styles from getting applied twice - once via ``<pre>``, once via ``<span class="special">``. This also means that ``td.linenos pre`` is no longer styled, instead, use ``td.linenos .normal`` and ``td.linenos .special``. * In the "inline" style, the DOM element order was changed. The line number is added first, then the line is wrapped is wrapped by the highlighter. This fixes lines not being fully highlighted. * The visual output for inline and non-inline line numbers & highlighting, as well as class-based and inline styling is now consistent. * Line number styles are set to ``background-color: transparent`` and ``color: inherit`` by default. This works much better with dark styles which don't have colors set for line numbers. - Remove "raw" alias from RawTokenLexer, so that it cannot be selected by alias. - Fix RawTokenLexer to work in Python 3 and handle exceptions. - Add prompt colors to the Solarized theme (1529) - Image formatter supports background colors now (1374) - Add support for anchors in conjunction with inline line numbers (1591) - Modernize the codebase using ``pyupgrade`` (1622) - Add support for line numbers to the ``terminal256`` formatter (1674, 1653) - Improve ``analyze_text`` logic for ``ECL`` (1610) - Improve ``analyze_text`` logic for ``CBM Basic V2`` (1607) - Improve LaTeX formatter (1708, 1709) ``` ### 2.7.4 ``` ------------- (released January 12, 2021) - Updated lexers: - Apache configurations: Improve handling of malformed tags (1656) - CSS: Add support for variables (1633, 1666) - Crystal (1650, 1670) - Coq (1648) - Fortran: Add missing keywords (1635, 1665) - Ini (1624) - JavaScript and variants (1647 -- missing regex flags, 1651) - Markdown (1623, 1617) - Shell - Lex trailing whitespace as part of the prompt (1645) - Add missing ``in`` keyword (1652) - SQL - Fix keywords (1668) - Typescript: Fix incorrect punctuation handling (1510, 1511) - Fix infinite loop in SML lexer (1625) - Fix backtracking string regexes in JavaScript/TypeScript, Modula2 and many other lexers (1637) - Limit recursion with nesting Ruby heredocs (1638) - Fix a few inefficient regexes for guessing lexers - Fix the raw token lexer handling of Unicode (1616) - Revert a private API change in the HTML formatter (1655) -- please note that private APIs remain subject to change! - Fix several exponential/cubic-complexity regexes found by Ben Caller/Doyensec (1675) - Fix incorrect MATLAB example (1582) Thanks to Google's OSS-Fuzz project for finding many of these bugs. ``` ### 2.7.3 ``` ------------- (released December 6, 2020) - Updated lexers: * Ada (1581) * HTML (1615, 1614) * Java (1594, 1586) * JavaScript (1605, 1589, 1588) * JSON (1569 -- this is a complete rewrite) * Lean (1601) * LLVM (1612) * Mason (1592) * MySQL (1555, 1551) * Rust (1608) * Turtle (1590, 1553) - Deprecated JsonBareObjectLexer, which is now identical to JsonLexer (1600) - The ``ImgFormatter`` now calculates the exact character width, which fixes some issues with overlapping text (1213, 1611) - Documentation fixes (1609, 1599, 1598) - Fixed duplicated Juttle language alias (1604, 1606) - Added support for Kotlin scripts (1587) - Removed CSS rule which forced margin to 0 ``` ### 2.7.2 ``` ------------- (released October 24, 2020) - Updated lexers: * Latex (1517, 1516) * LLVM (1565) * SPARQL (1559) - Fix Python console/traceback lexer problems with custom exceptions without messages (1548) - Allow loading ttc fonts on Mac/image formatter (1223) - Improve ``analyze_text`` across a variety of lexers (1549) - Remove CSS rule which forced the vertical padding to 0 for line numbers (1583, 1579) - Fix ``TNTLexer`` crashing on unexpected EOL (1568, 1570) - ``regexlint`` can be now run locally as part of ``tox`` tests (1557) - Fix typos (1550, 1562) - Add Python 3.9 as a supported version (1554) ``` ### 2.7.1 ``` ------------- (released September 16, 2020) - Fixed a regression in the JSON lexer (1544) ``` ### 2.7.0 ``` ------------- (released September 12, 2020) - Added lexers: * Arrow (1481, 1499) * BARE (1488) * Devicetree (1434) * F* (1409) * GDScript (1457) * Pointless (1494) * PromQL (1506) * PsySH (1438) * Singularity (1285) * TiddlyWiki5 (1390) * TNT (1414) * YANG (1408, 1428) - Updated lexers: * APL (1503) * C++ (1350, which also fixes: 1222, 996, 906, 828, 1162, 1166, 1396) * Chapel (1423) * CMake (1491) * CSound (1509) * Cython (1507) * Dart (1449) * Fennel (1535) * Fortran (1442) * GAS (1530) * HTTP (1432, 1520, 1521) * Inform 6 (1461) * Javascript (1533) * JSON (1065, 1528) * Lean (1415) * Matlab (1399) * Markdown (1492, 1495) * MySQL (975, 1063, 1453, 1527) * NASM (1465) * Nim (1426) * PostgreSQL (1513) * PowerShell (1398, 1497) * Protobuf (1505) * Robot (1480) * SQL (1402) * SystemVerilog (1436, 1452, 1454, 1460, 1462, 1463, 1464, 1471, 1496, 1504) * TeraTerm (1337) * XML (1502) - Added a new filter for math symbols (1406) - The Kconfig lexer will match Kconfig derivative names now (1458) - Improved HTML formatter output (1500) - ``.markdown`` is now recognized as an extension for Markdown files (1476) - Fixed line number colors for Solarized (1477, 1356) - Improvements to exception handling (1478) - Improvements to tests (1532, 1533, 1539) - Various code cleanups (1536, 1537, 1538) ```Links
- PyPI: https://pypi.org/project/pygments - Changelog: https://pyup.io/changelogs/pygments/ - Homepage: https://pygments.org/Update pylint from 2.6.0 to 2.7.2.
Changelog
### 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't check directories starting with '.' when using register_plugins Closes 4119 ``` ### 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's DataFrame or numpy'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 ``` ### 2.6.1 ``` =========================== * Astroid version has been set as < 2.5 Close 4093 ```Links
- PyPI: https://pypi.org/project/pylint - Changelog: https://pyup.io/changelogs/pylint/ - Repo: https://github.com/PyCQA/pylintUpdate pytest-cov from 2.10.1 to 2.11.1.
Changelog
### 2.11.1 ``` ------------------- * Fixed support for newer setuptools (v42+). Contributed by Michał Górny in `451 <https://github.com/pytest-dev/pytest-cov/pull/451>`_. ``` ### 2.11.0 ``` ------------------- * Bumped minimum coverage requirement to 5.2.1. This prevents reporting issues. Contributed by Mateus Berardo de Souza Terra in `433 <https://github.com/pytest-dev/pytest-cov/pull/433>`_. * Improved sample projects (from the `examples <https://github.com/pytest-dev/pytest-cov/tree/master/examples>`_ directory) to support running `tox -e pyXY`. Now the example configures a suffixed coverage data file, and that makes the cleanup environment unnecessary. Contributed by Ganden Schaffner in `435 <https://github.com/pytest-dev/pytest-cov/pull/435>`_. * Removed the empty `console_scripts` entrypoint that confused some Gentoo build script. I didn't ask why it was so broken cause I didn't want to ruin my day. Contributed by Michał Górny in `434 <https://github.com/pytest-dev/pytest-cov/pull/434>`_. * Fixed the missing `coverage context <https://coverage.readthedocs.io/en/stable/contexts.html>`_ when using subprocesses. Contributed by Bernát Gábor in `443 <https://github.com/pytest-dev/pytest-cov/pull/443>`_. * Updated the config section in the docs. Contributed by Pamela McA'Nulty in `429 <https://github.com/pytest-dev/pytest-cov/pull/429>`_. * Migrated CI to travis-ci.com (from .org). ```Links
- PyPI: https://pypi.org/project/pytest-cov - Changelog: https://pyup.io/changelogs/pytest-cov/ - Repo: https://github.com/pytest-dev/pytest-covUpdate pytest from 6.0.1 to 6.2.2.
Changelog
### 6.2.2 ``` ========================= Bug Fixes --------- - `8152 <https://github.com/pytest-dev/pytest/issues/8152>`_: Fixed "(<Skipped instance>)" being shown as a skip reason in the verbose test summary line when the reason is empty. - `8249 <https://github.com/pytest-dev/pytest/issues/8249>`_: Fix the ``faulthandler`` plugin for occasions when running with ``twisted.logger`` and using ``pytest --capture=no``. ``` ### 6.2.1 ``` ========================= Bug Fixes --------- - `7678 <https://github.com/pytest-dev/pytest/issues/7678>`_: Fixed bug where ``ImportPathMismatchError`` would be raised for files compiled in the host and loaded later from an UNC mounted path (Windows). - `8132 <https://github.com/pytest-dev/pytest/issues/8132>`_: Fixed regression in ``approx``: in 6.2.0 ``approx`` no longer raises ``TypeError`` when dealing with non-numeric types, falling back to normal comparison. Before 6.2.0, array types like tf.DeviceArray fell through to the scalar case, and happened to compare correctly to a scalar if they had only one element. After 6.2.0, these types began failing, because they inherited neither from standard Python number hierarchy nor from ``numpy.ndarray``. ``approx`` now converts arguments to ``numpy.ndarray`` if they expose the array protocol and are not scalars. This treats array-like objects like numpy arrays, regardless of size. ``` ### 6.2.0 ``` ========================= Breaking Changes ---------------- - `7808 <https://github.com/pytest-dev/pytest/issues/7808>`_: pytest now supports python3.6+ only. Deprecations ------------ - `7469 <https://github.com/pytest-dev/pytest/issues/7469>`_: Directly constructing/calling the following classes/functions is now deprecated: - ``_pytest.cacheprovider.Cache`` - ``_pytest.cacheprovider.Cache.for_config()`` - ``_pytest.cacheprovider.Cache.clear_cache()`` - ``_pytest.cacheprovider.Cache.cache_dir_from_config()`` - ``_pytest.capture.CaptureFixture`` - ``_pytest.fixtures.FixtureRequest`` - ``_pytest.fixtures.SubRequest`` - ``_pytest.logging.LogCaptureFixture`` - ``_pytest.pytester.Pytester`` - ``_pytest.pytester.Testdir`` - ``_pytest.recwarn.WarningsRecorder`` - ``_pytest.recwarn.WarningsChecker`` - ``_pytest.tmpdir.TempPathFactory`` - ``_pytest.tmpdir.TempdirFactory`` These have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 7.0.0. - `7530 <https://github.com/pytest-dev/pytest/issues/7530>`_: The ``--strict`` command-line option has been deprecated, use ``--strict-markers`` instead. We have plans to maybe in the future to reintroduce ``--strict`` and make it an encompassing flag for all strictness related options (``--strict-markers`` and ``--strict-config`` at the moment, more might be introduced in the future). - `7988 <https://github.com/pytest-dev/pytest/issues/7988>`_: The ``pytest.yield_fixture`` decorator/function is now deprecated. Use :func:`pytest.fixture` instead. ``yield_fixture`` has been an alias for ``fixture`` for a very long time, so can be search/replaced safely. Features -------- - `5299 <https://github.com/pytest-dev/pytest/issues/5299>`_: pytest now warns about unraisable exceptions and unhandled thread exceptions that occur in tests on Python>=3.8. See :ref:`unraisable` for more information. - `7425 <https://github.com/pytest-dev/pytest/issues/7425>`_: New :fixture:`pytester` fixture, which is identical to :fixture:`testdir` but its methods return :class:`pathlib.Path` when appropriate instead of ``py.path.local``. This is part of the movement to use :class:`pathlib.Path` objects internally, in order to remove the dependency to ``py`` in the future. Internally, the old :class:`Testdir <_pytest.pytester.Testdir>` is now a thin wrapper around :class:`Pytester <_pytest.pytester.Pytester>`, preserving the old interface. - `7695 <https://github.com/pytest-dev/pytest/issues/7695>`_: A new hook was added, `pytest_markeval_namespace` which should return a dictionary. This dictionary will be used to augment the "global" variables available to evaluate skipif/xfail/xpass markers. Pseudo example ``conftest.py``: .. code-block:: python def pytest_markeval_namespace(): return {"color": "red"} ``test_func.py``: .. code-block:: python pytest.mark.skipif("color == 'blue'", reason="Color is not red") def test_func(): assert False - `8006 <https://github.com/pytest-dev/pytest/issues/8006>`_: It is now possible to construct a :class:`~pytest.MonkeyPatch` object directly as ``pytest.MonkeyPatch()``, in cases when the :fixture:`monkeypatch` fixture cannot be used. Previously some users imported it from the private `_pytest.monkeypatch.MonkeyPatch` namespace. Additionally, :meth:`MonkeyPatch.context <pytest.MonkeyPatch.context>` is now a classmethod, and can be used as ``with MonkeyPatch.context() as mp: ...``. This is the recommended way to use ``MonkeyPatch`` directly, since unlike the ``monkeypatch`` fixture, an instance created directly is not ``undo()``-ed automatically. Improvements ------------ - `1265 <https://github.com/pytest-dev/pytest/issues/1265>`_: Added an ``__str__`` implementation t