attrs v20.3.0 Release Notes
Release Date: 2020-11-05 // over 3 years ago-
Backward-incompatible Changes
attr.define()
,attr.frozen()
,attr.mutable()
, andattr.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 allAttribute
\ s and returns a (modified or updated) list ofAttribute
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()
andattr.astuple()
now treatfrozenset
\ s likeset
\ s with regards to the retain_collection_types argument.#704 <https://github.com/python-attrs/attrs/issues/704>
_- The type stubs for
attr.s()
andattr.make_class()
are not missing the collect_by_mro argument anymore.#711 <https://github.com/python-attrs/attrs/issues/711>
_