: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 20 #90
Changelog
### 1.1.0
```
------------------
- [NEW] Implemented the ``dehumanize`` method for ``Arrow`` objects. This takes human readable input and uses it to perform relative time shifts, for example:
.. code-block:: python
>>> arw
<Arrow [2021-04-26T21:06:14.256803+00:00]>
>>> arw.dehumanize("8 hours ago")
<Arrow [2021-04-26T13:06:14.256803+00:00]>
>>> arw.dehumanize("in 4 days")
<Arrow [2021-04-30T21:06:14.256803+00:00]>
>>> arw.dehumanize("in an hour 34 minutes 10 seconds")
<Arrow [2021-04-26T22:40:24.256803+00:00]>
>>> arw.dehumanize("hace 2 años", locale="es")
<Arrow [2019-04-26T21:06:14.256803+00:00]>
- [NEW] Made the start of the week adjustable when using ``span("week")``, for example:
.. code-block:: python
>>> arw
<Arrow [2021-04-26T21:06:14.256803+00:00]>
>>> arw.isoweekday()
1 Monday
>>> arw.span("week")
(<Arrow [2021-04-26T00:00:00+00:00]>, <Arrow [2021-05-02T23:59:59.999999+00:00]>)
>>> arw.span("week", week_start=4)
(<Arrow [2021-04-22T00:00:00+00:00]>, <Arrow [2021-04-28T23:59:59.999999+00:00]>)
- [NEW] Added Croatian, Latin, Latvian, Lithuanian and Malay locales.
- [FIX] Internally standardize locales and improve locale validation. Locales should now use the ISO notation of a dash (``"en-gb"``) rather than an underscore (``"en_gb"``) however this change is backward compatible.
- [FIX] Correct type checking for internal locale mapping by using ``_init_subclass``. This now allows subclassing of locales, for example:
.. code-block:: python
>>> from arrow.locales import EnglishLocale
>>> class Klingon(EnglishLocale):
... names = ["tlh"]
...
>>> from arrow import locales
>>> locales.get_locale("tlh")
<__main__.Klingon object at 0x7f7cd1effd30>
- [FIX] Correct type checking for ``arrow.get(2021, 3, 9)`` construction.
- [FIX] Audited all docstrings for style, typos and outdated info.
```
### 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.6
```
============================
Release Date: 2021-04-25
* Fix retro-compatibility issues with old version of pylint
Closes PyCQA/pylint4402
```
### 2.5.5
```
============================
Release Date: 2021-04-24
* Fixes the discord link in the project urls of the package.
Closes PyCQA/pylint4393
```
### 2.5.4
```
============================
Release Date: 2021-04-24
* The packaging is now done via setuptools exclusively. ``doc``, ``tests``, and ``Changelog`` are
not packaged anymore - reducing the size of the package greatly.
* Debian packaging is now (officially) done in https://salsa.debian.org/python-team/packages/astroid.
* ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``astroid.__version__``),
other meta-information are still accessible with ``import importlib;metadata.metadata('astroid')``.
* Added inference tip for ``typing.Tuple`` alias
* Fix crash when evaluating ``typing.NamedTuple``
Closes PyCQA/pylint4383
* COPYING was removed in favor of COPYING.LESSER and the latter was renamed to LICENSE to make more apparent
that the code is licensed under LGPLv2 or later.
* Moved from appveyor and travis to Github Actions for continuous integration.
```
### 2.5.3
```
============================
Release Date: 2021-04-10
* Takes into account the fact that subscript inferring for a ClassDef may involve __class_getitem__ method
* Reworks the ``collections`` and ``typing`` brain so that pylint`s acceptance tests are fine.
Closes PyCQA/pylint4206
* Use ``inference_tip`` for ``typing.TypedDict`` brain.
* Fix mro for classes that inherit from typing.Generic
* Add inference tip for typing.Generic and typing.Annotated with ``__class_getitem__``
Closes PyCQA/pylint2822
```
### 2.5.2
```
============================
Release Date: 2021-03-28
* Detects `import numpy` as a valid `numpy` import.
Closes PyCQA/pylint3974
* Iterate over ``Keywords`` when using ``ClassDef.get_children``
Closes PyCQA/pylint3202
```
### 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
### 21.2.0
```
-------------------
Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- We had to revert the recursive feature for ``attr.evolve()`` because it broke some use-cases -- sorry!
`806 <https://github.com/python-attrs/attrs/issues/806>`_
- Python 3.4 is now blocked using packaging metadata because ``attrs`` can't be imported on it anymore.
To ensure that 3.4 users can keep installing ``attrs`` easily, we will `yank <https://pypi.org/help/#yanked>`_ 21.1.0 from PyPI.
This has **no** consequences if you pin ``attrs`` to 21.1.0.
`807 <https://github.com/python-attrs/attrs/issues/807>`_
----
```
### 21.1.0
```
-------------------
Deprecations
^^^^^^^^^^^^
- The long-awaited, much-talked-about, little-delivered ``import attrs`` is finally upon us!
Since the NG APIs have now been proclaimed stable, the **next** release of ``attrs`` will allow you to actually ``import attrs``.
We're taking this opportunity to replace some defaults in our APIs that made sense in 2015, but don't in 2021.
So please, if you have any pet peeves about defaults in ``attrs``'s APIs, *now* is the time to air your grievances in 487!
We're not gonna get such a chance for a second time, without breaking our backward-compatibility guarantees, or long deprecation cycles.
Therefore, speak now or forever hold you peace!
`487 <https://github.com/python-attrs/attrs/issues/487>`_
- The *cmp* argument to ``attr.s()`` and `attr.ib()` has been **undeprecated**
It will continue to be supported as syntactic sugar to set *eq* and *order* in one go.
I'm terribly sorry for the hassle around this argument!
The reason we're bringing it back is it's usefulness regarding customization of equality/ordering.
The ``cmp`` attribute and argument on ``attr.Attribute`` remains deprecated and will be removed later this year.
`773 <https://github.com/python-attrs/attrs/issues/773>`_
Changes
^^^^^^^
- It's now possible to customize the behavior of ``eq`` and ``order`` by passing in a callable.
`435 <https://github.com/python-attrs/attrs/issues/435>`_,
`627 <https://github.com/python-attrs/attrs/issues/627>`_
- The instant favorite `next-generation APIs <https://www.attrs.org/en/stable/api.html#next-gen>`_ are not provisional anymore!
They are also officially supported by Mypy as of their `0.800 release <https://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html>`_.
We hope the next release will already contain an (additional) importable package called ``attrs``.
`668 <https://github.com/python-attrs/attrs/issues/668>`_,
`786 <https://github.com/python-attrs/attrs/issues/786>`_
- If an attribute defines a converter, the type of its parameter is used as type annotation for its corresponding ``__init__`` parameter.
If an ``attr.converters.pipe`` is used, the first one's is used.
`710 <https://github.com/python-attrs/attrs/issues/710>`_
- Fixed the creation of an extra slot for an ``attr.ib`` when the parent class already has a slot with the same name.
`718 <https://github.com/python-attrs/attrs/issues/718>`_
- ``__attrs__init__()`` will now be injected if ``init=False``, or if ``auto_detect=True`` and a user-defined ``__init__()`` exists.
This enables users to do "pre-init" work in their ``__init__()`` (such as ``super().__init__()``).
``__init__()`` can then delegate constructor argument processing to ``self.__attrs_init__(*args, **kwargs)``.
`731 <https://github.com/python-attrs/attrs/issues/731>`_
- ``bool(attr.NOTHING)`` is now ``False``.
`732 <https://github.com/python-attrs/attrs/issues/732>`_
- It's now possible to use ``super()`` inside of properties of slotted classes.
`747 <https://github.com/python-attrs/attrs/issues/747>`_
- Allow for a ``__attrs_pre_init__()`` method that -- if defined -- will get called at the beginning of the ``attrs``-generated ``__init__()`` method.
`750 <https://github.com/python-attrs/attrs/issues/750>`_
- Added forgotten ``attr.Attribute.evolve()`` to type stubs.
`752 <https://github.com/python-attrs/attrs/issues/752>`_
- ``attrs.evolve()`` now works recursively with nested ``attrs`` classes.
`759 <https://github.com/python-attrs/attrs/issues/759>`_
- Python 3.10 is now officially supported.
`763 <https://github.com/python-attrs/attrs/issues/763>`_
- ``attr.resolve_types()`` now takes an optional *attrib* argument to work inside a ``field_transformer``.
`774 <https://github.com/python-attrs/attrs/issues/774>`_
- ``ClassVar``\ s are now also detected if they come from `typing-extensions <https://pypi.org/project/typing-extensions/>`_.
`782 <https://github.com/python-attrs/attrs/issues/782>`_
- To make it easier to customize attribute comparison (435), we have added the ``attr.cmp_with()`` helper.
See the `new docs on comparison <https://www.attrs.org/en/stable/comparison.html>`_ for more details.
`787 <https://github.com/python-attrs/attrs/issues/787>`_
- Added **provisional** support for static typing in ``pyright`` via the `dataclass_transforms specification <https://github.com/microsoft/pyright/blob/master/specs/dataclass_transforms.md>`_.
Both the ``pyright`` specification and ``attrs`` implementation may change in future versions of both projects.
Your constructive feedback is welcome in both `attrs795 <https://github.com/python-attrs/attrs/issues/795>`_ and `pyright#1782 <https://github.com/microsoft/pyright/discussions/1782>`_.
`796 <https://github.com/python-attrs/attrs/issues/796>`_
----
```
### 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/1e3844d0c99e479e716169034b5fa963#file-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/1e3844d0c99e479e716169034b5fa963#file-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
### 2.9.1
```
-------------
Bugfixes
~~~~~~~~
* The internal locale-data loading functions now validate the name of the locale file to be loaded and only
allow files within Babel's data directory. Thank you to Chris Lyne of Tenable, Inc. for discovering the issue!
```
### 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/
Changelog
### 21.5b1
```
_Black_
- Refactor `src/black/__init__.py` into many files (2206)
Documentation
- Replaced all remaining references to the
[`master`](https://github.com/psf/black/tree/main) branch with the
[`main`](https://github.com/psf/black/tree/main) branch. Some additional changes in
the source code were also made. (2210)
- Sigificantly reorganized the documentation to make much more sense. Check them out by
heading over to [the stable docs on RTD](https://black.readthedocs.io/en/stable/).
(2174)
```
### 21.5b0
```
_Black_
- Set `--pyi` mode if `--stdin-filename` ends in `.pyi` (2169)
- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are
being called but with no arguments (2182)
_Black-Primer_
- Add `--no-diff` to black-primer to suppress formatting changes (2187)
```
### 21.4b2
```
_Black_
- Fix crash if the user configuration directory is inaccessible. (2158)
- Clarify
[circumstances](https://github.com/psf/black/blob/master/docs/the_black_code_style.md#pragmatism)
in which _Black_ may change the AST (2159)
- Allow `.gitignore` rules to be overridden by specifying `exclude` in `pyproject.toml`
or on the command line. (2170)
_Packaging_
- Install `primer.json` (used by `black-primer` by default) with black. (2154)
```
### 21.4b1
```
_Black_
- Fix crash on docstrings ending with "\\ ". (2142)
- Fix crash when atypical whitespace is cleaned out of dostrings (2120)
- Reflect the `--skip-magic-trailing-comma` and `--experimental-string-processing` flags
in the name of the cache file. Without this fix, changes in these flags would not take
effect if the cache had already been populated. (2131)
- Don't remove necessary parentheses from assignment expression containing assert /
return statements. (2143)
_Packaging_
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
```
### 21.4b0
```
_Black_
- Fixed a rare but annoying formatting instability created by the combination of
optional trailing commas inserted by `Black` and optional parentheses looking at
pre-existing "magic" trailing commas. This fixes issue 1629 and all of its many many
duplicates. (2126)
- `Black` now processes one-line docstrings by stripping leading and trailing spaces,
and adding a padding space when needed to break up """". (1740)
- `Black` now cleans up leading non-breaking spaces in comments (2092)
- `Black` now respects `--skip-string-normalization` when normalizing multiline
docstring quotes (1637)
- `Black` no longer removes all empty lines between non-function code and decorators
when formatting typing stubs. Now `Black` enforces a single empty line. (1646)
- `Black` no longer adds an incorrect space after a parenthesized assignment expression
in if/while statements (1655)
- Added `--skip-magic-trailing-comma` / `-C` to avoid using trailing commas as a reason
to split lines (1824)
- fixed a crash when PWD=/ on POSIX (1631)
- fixed "I/O operation on closed file" when using --diff (1664)
- Prevent coloured diff output being interleaved with multiple files (1673)
- Added support for PEP 614 relaxed decorator syntax on python 3.9 (1711)
- Added parsing support for unparenthesized tuples and yield expressions in annotated
assignments (1835)
- added `--extend-exclude` argument (PR 2005)
- speed up caching by avoiding pathlib (1950)
- `--diff` correctly indicates when a file doesn't end in a newline (1662)
- Added `--stdin-filename` argument to allow stdin to respect `--force-exclude` rules
(1780)
- Lines ending with `fmt: skip` will now be not formatted (1800)
- PR 2053: Black no longer relies on typed-ast for Python 3.8 and higher
- PR 2053: Python 2 support is now optional, install with
`python3 -m pip install black[python2]` to maintain support.
- Exclude `venv` directory by default (1683)
- Fixed "Black produced code that is not equivalent to the source" when formatting
Python 2 docstrings (2037)
_Packaging_
- Self-contained native _Black_ binaries are now provided for releases via GitHub
Releases (1743)
```
Links
- PyPI: https://pypi.org/project/black
- Changelog: https://pyup.io/changelogs/black/
- Repo: https://github.com/psf/black
Changelog
### 8.0.0
```
-------------
Released 2021-05-11
- Drop support for Python 2 and 3.5.
- Colorama is always installed on Windows in order to provide style
and color support. :pr:`1784`
- Adds a repr to Command, showing the command name for friendlier
debugging. :issue:`1267`, :pr:`1295`
- Add support for distinguishing the source of a command line
parameter. :issue:`1264`, :pr:`1329`
- Add an optional parameter to ``ProgressBar.update`` to set the
``current_item``. :issue:`1226`, :pr:`1332`
- ``version_option`` uses ``importlib.metadata`` (or the
``importlib_metadata`` backport) instead of ``pkg_resources``.
:issue:`1582`
- If validation fails for a prompt with ``hide_input=True``, the value
is not shown in the error message. :issue:`1460`
- An ``IntRange`` or ``FloatRange`` option shows the accepted range in
its help text. :issue:`1525`, :pr:`1303`
- ``IntRange`` and ``FloatRange`` bounds can be open (``<``) instead
of closed (``<=``) by setting ``min_open`` and ``max_open``. Error
messages have changed to reflect this. :issue:`1100`
- An option defined with duplicate flag names (``"--foo/--foo"``)
raises a ``ValueError``. :issue:`1465`
- ``echo()`` will not fail when using pytest's ``capsys`` fixture on
Windows. :issue:`1590`
- Resolving commands returns the canonical command name instead of the
matched name. This makes behavior such as help text and
``Context.invoked_subcommand`` consistent when using patterns like
``AliasedGroup``. :issue:`1422`
- The ``BOOL`` type accepts the values "on" and "off". :issue:`1629`
- A ``Group`` with ``invoke_without_command=True`` will always invoke
its result callback. :issue:`1178`
- ``nargs == -1`` and ``nargs > 1`` is parsed and validated for
values from environment variables and defaults. :issue:`729`
- Detect the program name when executing a module or package with
``python -m name``. :issue:`1603`
- Include required parent arguments in help synopsis of subcommands.
:issue:`1475`
- Help for boolean flags with ``show_default=True`` shows the flag
name instead of ``True`` or ``False``. :issue:`1538`
- Non-string objects passed to ``style()`` and ``secho()`` will be
converted to string. :pr:`1146`
- ``edit(require_save=True)`` will detect saves for editors that exit
very fast on filesystems with 1 second resolution. :pr:`1050`
- New class attributes make it easier to use custom core objects
throughout an entire application. :pr:`938`
- ``Command.context_class`` controls the context created when
running the command.
- ``Context.invoke`` creates new contexts of the same type, so a
custom type will persist to invoked subcommands.
- ``Context.formatter_class`` controls the formatter used to
generate help and usage.
- ``Group.command_class`` changes the default type for
subcommands with ``group.command()``.
- ``Group.group_class`` changes the default type for subgroups
with ``group.group()``. Setting it to ``type`` will create
subgroups of the same type as the group itself.
- Core objects use ``super()`` consistently for better support of
subclassing.
- Use ``Context.with_resource()`` to manage resources that would
normally be used in a ``with`` statement, allowing them to be used
across subcommands and callbacks, then cleaned up when the context
ends. :pr:`1191`
- The result object returned by the test runner's ``invoke()`` method
has a ``return_value`` attribute with the value returned by the
invoked command. :pr:`1312`
- Required arguments with the ``Choice`` type show the choices in
curly braces to indicate that one is required (``{a|b|c}``).
:issue:`1272`
- If only a name is passed to ``option()``, Click suggests renaming it
to ``--name``. :pr:`1355`
- A context's ``show_default`` parameter defaults to the value from
the parent context. :issue:`1565`
- ``click.style()`` can output 256 and RGB color codes. Most modern
terminals support these codes. :pr:`1429`
- When using ``CliRunner.invoke()``, the replaced ``stdin`` file has
``name`` and ``mode`` attributes. This lets ``File`` options with
the ``-`` value match non-testing behavior. :issue:`1064`
- When creating a ``Group``, allow passing a list of commands instead
of a dict. :issue:`1339`
- When a long option name isn't valid, use ``difflib`` to make better
suggestions for possible corrections. :issue:`1446`
- Core objects have a ``to_info_dict()`` method. This gathers
information about the object's structure that could be useful for a
tool generating user-facing documentation. To get the structure of
an entire CLI, use ``Context(cli).to_info_dict()``. :issue:`461`
- Redesign the shell completion system. :issue:`1484`, :pr:`1622`
- Support Bash >= 4.4, Zsh, and Fish, with the ability for
extensions to add support for other shells.
- Allow commands, groups, parameters, and types to override their
completions suggestions.
- Groups complete the names commands were registered with, which
can differ from the name they were created with.
- The ``autocompletion`` parameter for options and arguments is
renamed to ``shell_complete``. The function must take
``ctx, param, incomplete``, must do matching rather than return
all values, and must return a list of strings or a list of
``ShellComplete``. The old name and behavior is deprecated and
will be removed in 8.1.
- The env var values used to start completion have changed order.
The shell now comes first, such as ``{shell}_source`` rather
than ``source_{shell}``, and is always required.
- Completion correctly parses command line strings with incomplete
quoting or escape sequences. :issue:`1708`
- Extra context settings (``obj=...``, etc.) are passed on to the
completion system. :issue:`942`
- Include ``--help`` option in completion. :pr:`1504`
- ``ParameterSource`` is an ``enum.Enum`` subclass. :issue:`1530`
- Boolean and UUID types strip surrounding space before converting.
:issue:`1605`
- Adjusted error message from parameter type validation to be more
consistent. Quotes are used to distinguish the invalid value.
:issue:`1605`
- The default value for a parameter with ``nargs`` > 1 and
``multiple=True`` must be a list of tuples. :issue:`1649`
- When getting the value for a parameter, the default is tried in the
same section as other sources to ensure consistent processing.
:issue:`1649`
- All parameter types accept a value that is already the correct type.
:issue:`1649`
- For shell completion, an argument is considered incomplete if its
value did not come from the command line args. :issue:`1649`
- Added ``ParameterSource.PROMPT`` to track parameter values that were
prompted for. :issue:`1649`
- Options with ``nargs`` > 1 no longer raise an error if a default is
not given. Parameters with ``nargs`` > 1 default to ``None``, and
parameters with ``multiple=True`` or ``nargs=-1`` default to an
empty tuple. :issue:`472`
- Handle empty env vars as though the option were not passed. This
extends the change introduced in 7.1 to be consistent in more cases.
:issue:`1285`
- ``Parameter.get_default()`` checks ``Context.default_map`` to
handle overrides consistently in help text, ``invoke()``, and
prompts. :issue:`1548`
- Add ``prompt_required`` param to ``Option``. When set to ``False``,
the user will only be prompted for an input if no value was passed.
:issue:`736`
- Providing the value to an option can be made optional through
``is_flag=False``, and the value can instead be prompted for or
passed in as a default value.
:issue:`549, 736, 764, 921, 1015, 1618`
- Fix formatting when ``Command.options_metavar`` is empty. :pr:`1551`
- Revert adding space between option help text that wraps.
:issue:`1831`
- The default value passed to ``prompt`` will be cast to the correct
type like an input value would be. :pr:`1517`
- Automatically generated short help messages will stop at the first
ending of a phrase or double linebreak. :issue:`1082`
- Skip progress bar render steps for efficiency with very fast
iterators by setting ``update_min_steps``. :issue:`676`
- Respect ``case_sensitive=False`` when doing shell completion for
``Choice`` :issue:`1692`
- Use ``mkstemp()`` instead of ``mktemp()`` in pager implementation.
:issue:`1752`
- If ``Option.show_default`` is a string, it is displayed even if
``default`` is ``None``. :issue:`1732`
- ``click.get_terminal_size()`` is deprecated and will be removed in
8.1. Use :func:`shutil.get_terminal_size` instead. :issue:`1736`
- Control the location of the temporary directory created by
``CLIRunner.isolated_filesystem`` by passing ``temp_dir``. A custom
directory will not be removed automatically. :issue:`395`
- ``click.confirm()`` will prompt until input is given if called with
``default=None``. :issue:`1381`
- Option prompts validate the value with the option's callback in
addition to its type. :issue:`457`
- ``confirmation_prompt`` can be set to a custom string. :issue:`723`
- Allow styled output in Jupyter on Windows. :issue:`1271`
- ``style()`` supports the ``strikethrough``, ``italic``, and
``overline`` styles. :issue:`805, 1821`
- Multiline marker is removed from short help text. :issue:`1597`
- Restore progress bar behavior of echoing only the label if the file
is not a TTY. :issue:`1138`
- Progress bar output is shown even if execution time is less than 0.5
seconds. :issue:`1648`
- Progress bar ``item_show_func`` shows the current item, not the
previous item. :issue:`1353`
- The ``Path`` param type can be passed ``path_type=pathlib.Path`` to
return a path object instead of a string. :issue:`405`
- ``TypeError`` is raised when parameter with ``multiple=True`` or
``nargs > 1`` has non-iterable default. :issue:`1749`
- Add a ``pass_meta_key`` decorator for passing a key from
``Context.meta``. This is useful for extensions using ``meta`` to
store information. :issue:`1739`
- ``Path`` ``resolve_path`` resolves symlinks on Windows Python < 3.8.
:issue:`1813`
- Command deprecation notice appears at the start of the help text, as
well as in the short help. The notice is not in all caps.
:issue:`1791`
- When taking arguments from ``sys.argv`` on Windows, glob patterns,
user dir, and env vars are expanded. :issue:`1096`
- Marked messages shown by the CLI with ``gettext()`` to allow
applications to translate Click's built-in strings. :issue:`303`
- Writing invalid characters to ``stderr`` when using the test runner
does not raise a ``UnicodeEncodeError``. :issue:`848`
- Fix an issue where ``readline`` would clear the entire ``prompt()``
line instead of only the input when pressing backspace. :issue:`665`
- Add all kwargs passed to ``Context.invoke()`` to ``ctx.params``.
Fixes an inconsistency when nesting ``Context.forward()`` calls.
:issue:`1568`
- The ``MultiCommand.resultcallback`` decorator is renamed to
``result_callback``. The old name is deprecated. :issue:`1160`
- Fix issues with ``CliRunner`` output when using ``echo_stdin=True``.
:issue:`1101`
- Fix a bug of ``click.utils.make_default_short_help`` for which the
returned string could be as long as ``max_width + 3``. :issue:`1849`
- When defining a parameter, ``default`` is validated with
``multiple`` and ``nargs``. More validation is done for values being
processed as well. :issue:`1806`
- ``HelpFormatter.write_text`` uses the full line width when wrapping
text. :issue:`1871`
```
Links
- PyPI: https://pypi.org/project/click
- Changelog: https://pyup.io/changelogs/click/
- Homepage: https://palletsprojects.com/p/click/
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
### 0.17.1
```
===========================
```
### 0.17.1b.dev
```
* Bug fixes (for details see the Docutils `HISTORY`_).
```
### 0.17
```
=========================
* Numerous bug fixes and improvements
(for details see the Docutils `HISTORY`_).
* Installing with ``setup.py`` now requires setuptools_.
Alternatively, install with pip_.
* The generic command line front end tool docutils-cli.py_ allows
the free selection of reader, parser, and writer components.
* Support Arabic language.
* New, **experimental** wrapper to integrate the `recommonmark`__
Markdown parser for use with Docutils.
Currently only tested with recommonmark version 0.4.0.
__ https://pypi.org/project/recommonmark/
* HTML5 writer:
- New option embed_images_.
- Use semantic tags (for details see the Docutils `HISTORY`_).
- Change the `initial_header_level`_ setting's default to "2", as browsers
use the `same style for <h1> and <h2> when nested in a section`__.
- New optional style ``responsive.css``, adapts to different screen
sizes.
- Move non-essential styling from ``minimal.css`` to ``plain.css``
rsp. ``responsive.css``.
- Show code line numbers as pseudo-elements so they are skipped when
copying the code block from the page.
.. _initial_header_level: docs/user/config.htmlinitial-header-level
__ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article
.. _embed_images: docs/user/config.htmlembed-images
* LaTeX writer:
- New configuration setting `legacy_class_functions`_.
- The special value "auto" for the `graphicx_option`_ setting
is no longer supported (it never worked for xetex/luatex).
- `Styling commands`__ using the legacy ``\docutilsrole`` prefix are
now ignored. Use ``\DUrole``.
__ docs/user/latex.htmlclasses
- Most helper commands and element definitions are now defined in the
LaTeX package `docutils.sty`_ and only inserted in the document
preamble if the stylesheet__ setting does not lists "docutils".
__ docs/user/config.htmlstylesheet-latex-writers
- Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``.
.. _setuptools: https://pypi.org/project/setuptools/
.. _pip: https://pypi.org/project/pip/
.. _docutils-cli.py: docs/user/tools.htmldocutils-cli-py
.. _legacy_class_functions: docs/user/config.htmllegacy-class-functions
.. _graphicx_option: docs/user/config.htmlgraphicx-option
.. _docutils.sty: https://ctan.org/pkg/docutils
```
Links
- PyPI: https://pypi.org/project/docutils
- Changelog: https://pyup.io/changelogs/docutils/
- Homepage: http://docutils.sourceforge.net/
Changelog
### 21.4.3
```
Verify the element in item_context.args is of type ast.Name for b017
```
### 21.4.2
```
- Add another hasattr() check to b017 visit for .func
```
### 21.4.1
```
Happy April Fools! This is no joke, it's a real release.
- Add B017: check for gotta-catch-em-all assertRaises(Exception)
Catching them all is bad!
```
### 21.3.2
```
- Fix crash on tuple expansion in try/except block (161)
```
### 21.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)
```
### 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)
```
Links
- PyPI: https://pypi.org/project/flake8-bugbear
- Changelog: https://pyup.io/changelogs/flake8-bugbear/
- Repo: https://github.com/PyCQA/flake8-bugbear
Changelog
### 3.9.2
```
-------------------
You can view the `3.9.2 milestone`_ on GitHub for more details.
Bugs Fixed
~~~~~~~~~~
- Fix error message for ``E111`` in ``pycodestyle`` (See also :pull:`1328`,
:issue:`1327`).
Deprecations
~~~~~~~~~~~~
- ``indent_size_str`` is deprecated, use ``str(indent_size)`` instead (See
also :pull:`1328`, :issue:`1327`).
.. all links
.. _3.9.2 milestone:
https://github.com/PyCQA/flake8/milestone/40
```
### 3.9.1
```
-------------------
You can view the `3.9.1 milestone`_ on GitHub for more details.
Bugs Fixed
~~~~~~~~~~
- Fix codes being ignored by plugins utilizing ``extend_default_ignore`` (See
also :pull:`1317`)
.. all links
.. _3.9.1 milestone:
https://github.com/PyCQA/flake8/milestone/38
```
### 3.9.0
```
-------------------
You can view the `3.9.0 milestone`_ on GitHub for more details.
New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Pyflakes has been updated to >= 2.3.0, < 2.4.0 (See also :issue:`1006`)
- pycodestyle has been updated to >= 2.7.0, < 2.8.0 (See also :issue:`1007`)
Deprecations
~~~~~~~~~~~~
- Drop support for python 3.4 (See also :issue:`1283`)
Features
~~~~~~~~
- Add ``--no-show-source`` option to disable ``--show-source`` (See also
:issue:`995`)
Bugs Fixed
~~~~~~~~~~
- Fix handling of ``crlf`` line endings when linting stdin (See also
:issue:`1002`)
.. all links
.. _3.9.0 milestone:
https://github.com/pycqa/flake8/milestone/37
```
### 3.8.4
```
-------------------
You can view the `3.8.4 milestone`_ on GitHub for more details.
Bugs Fixed
~~~~~~~~~~
- Fix multiprocessing errors on platforms without ``sem_open`` syscall. (See
also :issue:`1282`)
- Fix skipping of physical checks on the last line of a file which does not
end in a newline (See also :issue:`997`)
.. all links
.. _3.8.4 milestone:
https://github.com/pycqa/flake8/milestone/36
```
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 go
Update arrow from 0.16.0 to 1.1.0.
Changelog
### 1.1.0 ``` ------------------ - [NEW] Implemented the ``dehumanize`` method for ``Arrow`` objects. This takes human readable input and uses it to perform relative time shifts, for example: .. code-block:: python >>> arw <Arrow [2021-04-26T21:06:14.256803+00:00]> >>> arw.dehumanize("8 hours ago") <Arrow [2021-04-26T13:06:14.256803+00:00]> >>> arw.dehumanize("in 4 days") <Arrow [2021-04-30T21:06:14.256803+00:00]> >>> arw.dehumanize("in an hour 34 minutes 10 seconds") <Arrow [2021-04-26T22:40:24.256803+00:00]> >>> arw.dehumanize("hace 2 años", locale="es") <Arrow [2019-04-26T21:06:14.256803+00:00]> - [NEW] Made the start of the week adjustable when using ``span("week")``, for example: .. code-block:: python >>> arw <Arrow [2021-04-26T21:06:14.256803+00:00]> >>> arw.isoweekday() 1 Monday >>> arw.span("week") (<Arrow [2021-04-26T00:00:00+00:00]>, <Arrow [2021-05-02T23:59:59.999999+00:00]>) >>> arw.span("week", week_start=4) (<Arrow [2021-04-22T00:00:00+00:00]>, <Arrow [2021-04-28T23:59:59.999999+00:00]>) - [NEW] Added Croatian, Latin, Latvian, Lithuanian and Malay locales. - [FIX] Internally standardize locales and improve locale validation. Locales should now use the ISO notation of a dash (``"en-gb"``) rather than an underscore (``"en_gb"``) however this change is backward compatible. - [FIX] Correct type checking for internal locale mapping by using ``_init_subclass``. This now allows subclassing of locales, for example: .. code-block:: python >>> from arrow.locales import EnglishLocale >>> class Klingon(EnglishLocale): ... names = ["tlh"] ... >>> from arrow import locales >>> locales.get_locale("tlh") <__main__.Klingon object at 0x7f7cd1effd30> - [FIX] Correct type checking for ``arrow.get(2021, 3, 9)`` construction. - [FIX] Audited all docstrings for style, typos and outdated info. ``` ### 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.6.
Changelog
### 2.5.6 ``` ============================ Release Date: 2021-04-25 * Fix retro-compatibility issues with old version of pylint Closes PyCQA/pylint4402 ``` ### 2.5.5 ``` ============================ Release Date: 2021-04-24 * Fixes the discord link in the project urls of the package. Closes PyCQA/pylint4393 ``` ### 2.5.4 ``` ============================ Release Date: 2021-04-24 * The packaging is now done via setuptools exclusively. ``doc``, ``tests``, and ``Changelog`` are not packaged anymore - reducing the size of the package greatly. * Debian packaging is now (officially) done in https://salsa.debian.org/python-team/packages/astroid. * ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``astroid.__version__``), other meta-information are still accessible with ``import importlib;metadata.metadata('astroid')``. * Added inference tip for ``typing.Tuple`` alias * Fix crash when evaluating ``typing.NamedTuple`` Closes PyCQA/pylint4383 * COPYING was removed in favor of COPYING.LESSER and the latter was renamed to LICENSE to make more apparent that the code is licensed under LGPLv2 or later. * Moved from appveyor and travis to Github Actions for continuous integration. ``` ### 2.5.3 ``` ============================ Release Date: 2021-04-10 * Takes into account the fact that subscript inferring for a ClassDef may involve __class_getitem__ method * Reworks the ``collections`` and ``typing`` brain so that pylint`s acceptance tests are fine. Closes PyCQA/pylint4206 * Use ``inference_tip`` for ``typing.TypedDict`` brain. * Fix mro for classes that inherit from typing.Generic * Add inference tip for typing.Generic and typing.Annotated with ``__class_getitem__`` Closes PyCQA/pylint2822 ``` ### 2.5.2 ``` ============================ Release Date: 2021-03-28 * Detects `import numpy` as a valid `numpy` import. Closes PyCQA/pylint3974 * Iterate over ``Keywords`` when using ``ClassDef.get_children`` Closes PyCQA/pylint3202 ``` ### 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 21.2.0.
Changelog
### 21.2.0 ``` ------------------- Backward-incompatible Changes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - We had to revert the recursive feature for ``attr.evolve()`` because it broke some use-cases -- sorry! `806 <https://github.com/python-attrs/attrs/issues/806>`_ - Python 3.4 is now blocked using packaging metadata because ``attrs`` can't be imported on it anymore. To ensure that 3.4 users can keep installing ``attrs`` easily, we will `yank <https://pypi.org/help/#yanked>`_ 21.1.0 from PyPI. This has **no** consequences if you pin ``attrs`` to 21.1.0. `807 <https://github.com/python-attrs/attrs/issues/807>`_ ---- ``` ### 21.1.0 ``` ------------------- Deprecations ^^^^^^^^^^^^ - The long-awaited, much-talked-about, little-delivered ``import attrs`` is finally upon us! Since the NG APIs have now been proclaimed stable, the **next** release of ``attrs`` will allow you to actually ``import attrs``. We're taking this opportunity to replace some defaults in our APIs that made sense in 2015, but don't in 2021. So please, if you have any pet peeves about defaults in ``attrs``'s APIs, *now* is the time to air your grievances in 487! We're not gonna get such a chance for a second time, without breaking our backward-compatibility guarantees, or long deprecation cycles. Therefore, speak now or forever hold you peace! `487 <https://github.com/python-attrs/attrs/issues/487>`_ - The *cmp* argument to ``attr.s()`` and `attr.ib()` has been **undeprecated** It will continue to be supported as syntactic sugar to set *eq* and *order* in one go. I'm terribly sorry for the hassle around this argument! The reason we're bringing it back is it's usefulness regarding customization of equality/ordering. The ``cmp`` attribute and argument on ``attr.Attribute`` remains deprecated and will be removed later this year. `773 <https://github.com/python-attrs/attrs/issues/773>`_ Changes ^^^^^^^ - It's now possible to customize the behavior of ``eq`` and ``order`` by passing in a callable. `435 <https://github.com/python-attrs/attrs/issues/435>`_, `627 <https://github.com/python-attrs/attrs/issues/627>`_ - The instant favorite `next-generation APIs <https://www.attrs.org/en/stable/api.html#next-gen>`_ are not provisional anymore! They are also officially supported by Mypy as of their `0.800 release <https://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html>`_. We hope the next release will already contain an (additional) importable package called ``attrs``. `668 <https://github.com/python-attrs/attrs/issues/668>`_, `786 <https://github.com/python-attrs/attrs/issues/786>`_ - If an attribute defines a converter, the type of its parameter is used as type annotation for its corresponding ``__init__`` parameter. If an ``attr.converters.pipe`` is used, the first one's is used. `710 <https://github.com/python-attrs/attrs/issues/710>`_ - Fixed the creation of an extra slot for an ``attr.ib`` when the parent class already has a slot with the same name. `718 <https://github.com/python-attrs/attrs/issues/718>`_ - ``__attrs__init__()`` will now be injected if ``init=False``, or if ``auto_detect=True`` and a user-defined ``__init__()`` exists. This enables users to do "pre-init" work in their ``__init__()`` (such as ``super().__init__()``). ``__init__()`` can then delegate constructor argument processing to ``self.__attrs_init__(*args, **kwargs)``. `731 <https://github.com/python-attrs/attrs/issues/731>`_ - ``bool(attr.NOTHING)`` is now ``False``. `732 <https://github.com/python-attrs/attrs/issues/732>`_ - It's now possible to use ``super()`` inside of properties of slotted classes. `747 <https://github.com/python-attrs/attrs/issues/747>`_ - Allow for a ``__attrs_pre_init__()`` method that -- if defined -- will get called at the beginning of the ``attrs``-generated ``__init__()`` method. `750 <https://github.com/python-attrs/attrs/issues/750>`_ - Added forgotten ``attr.Attribute.evolve()`` to type stubs. `752 <https://github.com/python-attrs/attrs/issues/752>`_ - ``attrs.evolve()`` now works recursively with nested ``attrs`` classes. `759 <https://github.com/python-attrs/attrs/issues/759>`_ - Python 3.10 is now officially supported. `763 <https://github.com/python-attrs/attrs/issues/763>`_ - ``attr.resolve_types()`` now takes an optional *attrib* argument to work inside a ``field_transformer``. `774 <https://github.com/python-attrs/attrs/issues/774>`_ - ``ClassVar``\ s are now also detected if they come from `typing-extensions <https://pypi.org/project/typing-extensions/>`_. `782 <https://github.com/python-attrs/attrs/issues/782>`_ - To make it easier to customize attribute comparison (435), we have added the ``attr.cmp_with()`` helper. See the `new docs on comparison <https://www.attrs.org/en/stable/comparison.html>`_ for more details. `787 <https://github.com/python-attrs/attrs/issues/787>`_ - Added **provisional** support for static typing in ``pyright`` via the `dataclass_transforms specification <https://github.com/microsoft/pyright/blob/master/specs/dataclass_transforms.md>`_. Both the ``pyright`` specification and ``attrs`` implementation may change in future versions of both projects. Your constructive feedback is welcome in both `attrs795 <https://github.com/python-attrs/attrs/issues/795>`_ and `pyright#1782 <https://github.com/microsoft/pyright/discussions/1782>`_. `796 <https://github.com/python-attrs/attrs/issues/796>`_ ---- ``` ### 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/1e3844d0c99e479e716169034b5fa963#file-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/1e3844d0c99e479e716169034b5fa963#file-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.1.
Changelog
### 2.9.1 ``` ------------- Bugfixes ~~~~~~~~ * The internal locale-data loading functions now validate the name of the locale file to be loaded and only allow files within Babel's data directory. Thank you to Chris Lyne of Tenable, Inc. for discovering the issue! ``` ### 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 black from 20.8b1 to 21.5b1.
Changelog
### 21.5b1 ``` _Black_ - Refactor `src/black/__init__.py` into many files (2206) Documentation - Replaced all remaining references to the [`master`](https://github.com/psf/black/tree/main) branch with the [`main`](https://github.com/psf/black/tree/main) branch. Some additional changes in the source code were also made. (2210) - Sigificantly reorganized the documentation to make much more sense. Check them out by heading over to [the stable docs on RTD](https://black.readthedocs.io/en/stable/). (2174) ``` ### 21.5b0 ``` _Black_ - Set `--pyi` mode if `--stdin-filename` ends in `.pyi` (2169) - Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (2182) _Black-Primer_ - Add `--no-diff` to black-primer to suppress formatting changes (2187) ``` ### 21.4b2 ``` _Black_ - Fix crash if the user configuration directory is inaccessible. (2158) - Clarify [circumstances](https://github.com/psf/black/blob/master/docs/the_black_code_style.md#pragmatism) in which _Black_ may change the AST (2159) - Allow `.gitignore` rules to be overridden by specifying `exclude` in `pyproject.toml` or on the command line. (2170) _Packaging_ - Install `primer.json` (used by `black-primer` by default) with black. (2154) ``` ### 21.4b1 ``` _Black_ - Fix crash on docstrings ending with "\\ ". (2142) - Fix crash when atypical whitespace is cleaned out of dostrings (2120) - Reflect the `--skip-magic-trailing-comma` and `--experimental-string-processing` flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (2131) - Don't remove necessary parentheses from assignment expression containing assert / return statements. (2143) _Packaging_ - Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling ``` ### 21.4b0 ``` _Black_ - Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by `Black` and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue 1629 and all of its many many duplicates. (2126) - `Black` now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (1740) - `Black` now cleans up leading non-breaking spaces in comments (2092) - `Black` now respects `--skip-string-normalization` when normalizing multiline docstring quotes (1637) - `Black` no longer removes all empty lines between non-function code and decorators when formatting typing stubs. Now `Black` enforces a single empty line. (1646) - `Black` no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (1655) - Added `--skip-magic-trailing-comma` / `-C` to avoid using trailing commas as a reason to split lines (1824) - fixed a crash when PWD=/ on POSIX (1631) - fixed "I/O operation on closed file" when using --diff (1664) - Prevent coloured diff output being interleaved with multiple files (1673) - Added support for PEP 614 relaxed decorator syntax on python 3.9 (1711) - Added parsing support for unparenthesized tuples and yield expressions in annotated assignments (1835) - added `--extend-exclude` argument (PR 2005) - speed up caching by avoiding pathlib (1950) - `--diff` correctly indicates when a file doesn't end in a newline (1662) - Added `--stdin-filename` argument to allow stdin to respect `--force-exclude` rules (1780) - Lines ending with `fmt: skip` will now be not formatted (1800) - PR 2053: Black no longer relies on typed-ast for Python 3.8 and higher - PR 2053: Python 2 support is now optional, install with `python3 -m pip install black[python2]` to maintain support. - Exclude `venv` directory by default (1683) - Fixed "Black produced code that is not equivalent to the source" when formatting Python 2 docstrings (2037) _Packaging_ - Self-contained native _Black_ binaries are now provided for releases via GitHub Releases (1743) ```Links
- PyPI: https://pypi.org/project/black - Changelog: https://pyup.io/changelogs/black/ - Repo: https://github.com/psf/blackUpdate 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 click from 7.1.2 to 8.0.0.
Changelog
### 8.0.0 ``` ------------- Released 2021-05-11 - Drop support for Python 2 and 3.5. - Colorama is always installed on Windows in order to provide style and color support. :pr:`1784` - Adds a repr to Command, showing the command name for friendlier debugging. :issue:`1267`, :pr:`1295` - Add support for distinguishing the source of a command line parameter. :issue:`1264`, :pr:`1329` - Add an optional parameter to ``ProgressBar.update`` to set the ``current_item``. :issue:`1226`, :pr:`1332` - ``version_option`` uses ``importlib.metadata`` (or the ``importlib_metadata`` backport) instead of ``pkg_resources``. :issue:`1582` - If validation fails for a prompt with ``hide_input=True``, the value is not shown in the error message. :issue:`1460` - An ``IntRange`` or ``FloatRange`` option shows the accepted range in its help text. :issue:`1525`, :pr:`1303` - ``IntRange`` and ``FloatRange`` bounds can be open (``<``) instead of closed (``<=``) by setting ``min_open`` and ``max_open``. Error messages have changed to reflect this. :issue:`1100` - An option defined with duplicate flag names (``"--foo/--foo"``) raises a ``ValueError``. :issue:`1465` - ``echo()`` will not fail when using pytest's ``capsys`` fixture on Windows. :issue:`1590` - Resolving commands returns the canonical command name instead of the matched name. This makes behavior such as help text and ``Context.invoked_subcommand`` consistent when using patterns like ``AliasedGroup``. :issue:`1422` - The ``BOOL`` type accepts the values "on" and "off". :issue:`1629` - A ``Group`` with ``invoke_without_command=True`` will always invoke its result callback. :issue:`1178` - ``nargs == -1`` and ``nargs > 1`` is parsed and validated for values from environment variables and defaults. :issue:`729` - Detect the program name when executing a module or package with ``python -m name``. :issue:`1603` - Include required parent arguments in help synopsis of subcommands. :issue:`1475` - Help for boolean flags with ``show_default=True`` shows the flag name instead of ``True`` or ``False``. :issue:`1538` - Non-string objects passed to ``style()`` and ``secho()`` will be converted to string. :pr:`1146` - ``edit(require_save=True)`` will detect saves for editors that exit very fast on filesystems with 1 second resolution. :pr:`1050` - New class attributes make it easier to use custom core objects throughout an entire application. :pr:`938` - ``Command.context_class`` controls the context created when running the command. - ``Context.invoke`` creates new contexts of the same type, so a custom type will persist to invoked subcommands. - ``Context.formatter_class`` controls the formatter used to generate help and usage. - ``Group.command_class`` changes the default type for subcommands with ``group.command()``. - ``Group.group_class`` changes the default type for subgroups with ``group.group()``. Setting it to ``type`` will create subgroups of the same type as the group itself. - Core objects use ``super()`` consistently for better support of subclassing. - Use ``Context.with_resource()`` to manage resources that would normally be used in a ``with`` statement, allowing them to be used across subcommands and callbacks, then cleaned up when the context ends. :pr:`1191` - The result object returned by the test runner's ``invoke()`` method has a ``return_value`` attribute with the value returned by the invoked command. :pr:`1312` - Required arguments with the ``Choice`` type show the choices in curly braces to indicate that one is required (``{a|b|c}``). :issue:`1272` - If only a name is passed to ``option()``, Click suggests renaming it to ``--name``. :pr:`1355` - A context's ``show_default`` parameter defaults to the value from the parent context. :issue:`1565` - ``click.style()`` can output 256 and RGB color codes. Most modern terminals support these codes. :pr:`1429` - When using ``CliRunner.invoke()``, the replaced ``stdin`` file has ``name`` and ``mode`` attributes. This lets ``File`` options with the ``-`` value match non-testing behavior. :issue:`1064` - When creating a ``Group``, allow passing a list of commands instead of a dict. :issue:`1339` - When a long option name isn't valid, use ``difflib`` to make better suggestions for possible corrections. :issue:`1446` - Core objects have a ``to_info_dict()`` method. This gathers information about the object's structure that could be useful for a tool generating user-facing documentation. To get the structure of an entire CLI, use ``Context(cli).to_info_dict()``. :issue:`461` - Redesign the shell completion system. :issue:`1484`, :pr:`1622` - Support Bash >= 4.4, Zsh, and Fish, with the ability for extensions to add support for other shells. - Allow commands, groups, parameters, and types to override their completions suggestions. - Groups complete the names commands were registered with, which can differ from the name they were created with. - The ``autocompletion`` parameter for options and arguments is renamed to ``shell_complete``. The function must take ``ctx, param, incomplete``, must do matching rather than return all values, and must return a list of strings or a list of ``ShellComplete``. The old name and behavior is deprecated and will be removed in 8.1. - The env var values used to start completion have changed order. The shell now comes first, such as ``{shell}_source`` rather than ``source_{shell}``, and is always required. - Completion correctly parses command line strings with incomplete quoting or escape sequences. :issue:`1708` - Extra context settings (``obj=...``, etc.) are passed on to the completion system. :issue:`942` - Include ``--help`` option in completion. :pr:`1504` - ``ParameterSource`` is an ``enum.Enum`` subclass. :issue:`1530` - Boolean and UUID types strip surrounding space before converting. :issue:`1605` - Adjusted error message from parameter type validation to be more consistent. Quotes are used to distinguish the invalid value. :issue:`1605` - The default value for a parameter with ``nargs`` > 1 and ``multiple=True`` must be a list of tuples. :issue:`1649` - When getting the value for a parameter, the default is tried in the same section as other sources to ensure consistent processing. :issue:`1649` - All parameter types accept a value that is already the correct type. :issue:`1649` - For shell completion, an argument is considered incomplete if its value did not come from the command line args. :issue:`1649` - Added ``ParameterSource.PROMPT`` to track parameter values that were prompted for. :issue:`1649` - Options with ``nargs`` > 1 no longer raise an error if a default is not given. Parameters with ``nargs`` > 1 default to ``None``, and parameters with ``multiple=True`` or ``nargs=-1`` default to an empty tuple. :issue:`472` - Handle empty env vars as though the option were not passed. This extends the change introduced in 7.1 to be consistent in more cases. :issue:`1285` - ``Parameter.get_default()`` checks ``Context.default_map`` to handle overrides consistently in help text, ``invoke()``, and prompts. :issue:`1548` - Add ``prompt_required`` param to ``Option``. When set to ``False``, the user will only be prompted for an input if no value was passed. :issue:`736` - Providing the value to an option can be made optional through ``is_flag=False``, and the value can instead be prompted for or passed in as a default value. :issue:`549, 736, 764, 921, 1015, 1618` - Fix formatting when ``Command.options_metavar`` is empty. :pr:`1551` - Revert adding space between option help text that wraps. :issue:`1831` - The default value passed to ``prompt`` will be cast to the correct type like an input value would be. :pr:`1517` - Automatically generated short help messages will stop at the first ending of a phrase or double linebreak. :issue:`1082` - Skip progress bar render steps for efficiency with very fast iterators by setting ``update_min_steps``. :issue:`676` - Respect ``case_sensitive=False`` when doing shell completion for ``Choice`` :issue:`1692` - Use ``mkstemp()`` instead of ``mktemp()`` in pager implementation. :issue:`1752` - If ``Option.show_default`` is a string, it is displayed even if ``default`` is ``None``. :issue:`1732` - ``click.get_terminal_size()`` is deprecated and will be removed in 8.1. Use :func:`shutil.get_terminal_size` instead. :issue:`1736` - Control the location of the temporary directory created by ``CLIRunner.isolated_filesystem`` by passing ``temp_dir``. A custom directory will not be removed automatically. :issue:`395` - ``click.confirm()`` will prompt until input is given if called with ``default=None``. :issue:`1381` - Option prompts validate the value with the option's callback in addition to its type. :issue:`457` - ``confirmation_prompt`` can be set to a custom string. :issue:`723` - Allow styled output in Jupyter on Windows. :issue:`1271` - ``style()`` supports the ``strikethrough``, ``italic``, and ``overline`` styles. :issue:`805, 1821` - Multiline marker is removed from short help text. :issue:`1597` - Restore progress bar behavior of echoing only the label if the file is not a TTY. :issue:`1138` - Progress bar output is shown even if execution time is less than 0.5 seconds. :issue:`1648` - Progress bar ``item_show_func`` shows the current item, not the previous item. :issue:`1353` - The ``Path`` param type can be passed ``path_type=pathlib.Path`` to return a path object instead of a string. :issue:`405` - ``TypeError`` is raised when parameter with ``multiple=True`` or ``nargs > 1`` has non-iterable default. :issue:`1749` - Add a ``pass_meta_key`` decorator for passing a key from ``Context.meta``. This is useful for extensions using ``meta`` to store information. :issue:`1739` - ``Path`` ``resolve_path`` resolves symlinks on Windows Python < 3.8. :issue:`1813` - Command deprecation notice appears at the start of the help text, as well as in the short help. The notice is not in all caps. :issue:`1791` - When taking arguments from ``sys.argv`` on Windows, glob patterns, user dir, and env vars are expanded. :issue:`1096` - Marked messages shown by the CLI with ``gettext()`` to allow applications to translate Click's built-in strings. :issue:`303` - Writing invalid characters to ``stderr`` when using the test runner does not raise a ``UnicodeEncodeError``. :issue:`848` - Fix an issue where ``readline`` would clear the entire ``prompt()`` line instead of only the input when pressing backspace. :issue:`665` - Add all kwargs passed to ``Context.invoke()`` to ``ctx.params``. Fixes an inconsistency when nesting ``Context.forward()`` calls. :issue:`1568` - The ``MultiCommand.resultcallback`` decorator is renamed to ``result_callback``. The old name is deprecated. :issue:`1160` - Fix issues with ``CliRunner`` output when using ``echo_stdin=True``. :issue:`1101` - Fix a bug of ``click.utils.make_default_short_help`` for which the returned string could be as long as ``max_width + 3``. :issue:`1849` - When defining a parameter, ``default`` is validated with ``multiple`` and ``nargs``. More validation is done for values being processed as well. :issue:`1806` - ``HelpFormatter.write_text`` uses the full line width when wrapping text. :issue:`1871` ```Links
- PyPI: https://pypi.org/project/click - Changelog: https://pyup.io/changelogs/click/ - Homepage: https://palletsprojects.com/p/click/Update cookiecutter from 1.7.2 to 1.7.3.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/cookiecutter - Changelog: https://pyup.io/changelogs/cookiecutter/ - Repo: https://github.com/cookiecutter/cookiecutterUpdate 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 docutils from 0.16 to 0.17.1.
Changelog
### 0.17.1 ``` =========================== ``` ### 0.17.1b.dev ``` * Bug fixes (for details see the Docutils `HISTORY`_). ``` ### 0.17 ``` ========================= * Numerous bug fixes and improvements (for details see the Docutils `HISTORY`_). * Installing with ``setup.py`` now requires setuptools_. Alternatively, install with pip_. * The generic command line front end tool docutils-cli.py_ allows the free selection of reader, parser, and writer components. * Support Arabic language. * New, **experimental** wrapper to integrate the `recommonmark`__ Markdown parser for use with Docutils. Currently only tested with recommonmark version 0.4.0. __ https://pypi.org/project/recommonmark/ * HTML5 writer: - New option embed_images_. - Use semantic tags (for details see the Docutils `HISTORY`_). - Change the `initial_header_level`_ setting's default to "2", as browsers use the `same style for <h1> and <h2> when nested in a section`__. - New optional style ``responsive.css``, adapts to different screen sizes. - Move non-essential styling from ``minimal.css`` to ``plain.css`` rsp. ``responsive.css``. - Show code line numbers as pseudo-elements so they are skipped when copying the code block from the page. .. _initial_header_level: docs/user/config.htmlinitial-header-level __ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article .. _embed_images: docs/user/config.htmlembed-images * LaTeX writer: - New configuration setting `legacy_class_functions`_. - The special value "auto" for the `graphicx_option`_ setting is no longer supported (it never worked for xetex/luatex). - `Styling commands`__ using the legacy ``\docutilsrole`` prefix are now ignored. Use ``\DUrole``. __ docs/user/latex.htmlclasses - Most helper commands and element definitions are now defined in the LaTeX package `docutils.sty`_ and only inserted in the document preamble if the stylesheet__ setting does not lists "docutils". __ docs/user/config.htmlstylesheet-latex-writers - Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``. .. _setuptools: https://pypi.org/project/setuptools/ .. _pip: https://pypi.org/project/pip/ .. _docutils-cli.py: docs/user/tools.htmldocutils-cli-py .. _legacy_class_functions: docs/user/config.htmllegacy-class-functions .. _graphicx_option: docs/user/config.htmlgraphicx-option .. _docutils.sty: https://ctan.org/pkg/docutils ```Links
- PyPI: https://pypi.org/project/docutils - Changelog: https://pyup.io/changelogs/docutils/ - Homepage: http://docutils.sourceforge.net/Update flake8-bugbear from 20.1.4 to 21.4.3.
Changelog
### 21.4.3 ``` Verify the element in item_context.args is of type ast.Name for b017 ``` ### 21.4.2 ``` - Add another hasattr() check to b017 visit for .func ``` ### 21.4.1 ``` Happy April Fools! This is no joke, it's a real release. - Add B017: check for gotta-catch-em-all assertRaises(Exception) Catching them all is bad! ``` ### 21.3.2 ``` - Fix crash on tuple expansion in try/except block (161) ``` ### 21.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) ``` ### 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) ```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.2.
Changelog
### 3.9.2 ``` ------------------- You can view the `3.9.2 milestone`_ on GitHub for more details. Bugs Fixed ~~~~~~~~~~ - Fix error message for ``E111`` in ``pycodestyle`` (See also :pull:`1328`, :issue:`1327`). Deprecations ~~~~~~~~~~~~ - ``indent_size_str`` is deprecated, use ``str(indent_size)`` instead (See also :pull:`1328`, :issue:`1327`). .. all links .. _3.9.2 milestone: https://github.com/PyCQA/flake8/milestone/40 ``` ### 3.9.1 ``` ------------------- You can view the `3.9.1 milestone`_ on GitHub for more details. Bugs Fixed ~~~~~~~~~~ - Fix codes being ignored by plugins utilizing ``extend_default_ignore`` (See also :pull:`1317`) .. all links .. _3.9.1 milestone: https://github.com/PyCQA/flake8/milestone/38 ``` ### 3.9.0 ``` ------------------- You can view the `3.9.0 milestone`_ on GitHub for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Pyflakes has been updated to >= 2.3.0, < 2.4.0 (See also :issue:`1006`) - pycodestyle has been updated to >= 2.7.0, < 2.8.0 (See also :issue:`1007`) Deprecations ~~~~~~~~~~~~ - Drop support for python 3.4 (See also :issue:`1283`) Features ~~~~~~~~ - Add ``--no-show-source`` option to disable ``--show-source`` (See also :issue:`995`) Bugs Fixed ~~~~~~~~~~ - Fix handling of ``crlf`` line endings when linting stdin (See also :issue:`1002`) .. all links .. _3.9.0 milestone: https://github.com/pycqa/flake8/milestone/37 ``` ### 3.8.4 ``` ------------------- You can view the `3.8.4 milestone`_ on GitHub for more details. Bugs Fixed ~~~~~~~~~~ - Fix multiprocessing errors on platforms without ``sem_open`` syscall. (See also :issue:`1282`) - Fix skipping of physical checks on the last line of a file which does not end in a newline (See also :issue:`997`) .. all links .. _3.8.4 milestone: https://github.com/pycqa/flake8/milestone/36 ```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 go