• attrs 20.2.0

    From Hynek Schlawack@21:1/5 to All on Tue Sep 8 14:58:33 2020
    Hi everyone,

    I’m happy to (somewhat belatedly) announce the release of attrs 20.2.0.

    attrs is the direct ancestor of dataclasses in the standard library and remains the most powerful option for creating regular classes without getting bogged down with writing identical boilerplate again and again: https://www.attrs.org/

    Heartfelt thanks to my generous sponsors <https://github.com/sponsors/hynek>, companies subscribing on Tidelift <https://tidelift.com/subscription/pkg/pypi-attrs>, and people who bought me a coffee on <https://ko-fi.com/the_hynek>! Support like that
    makes me merge PRs and release software on a Saturday afternoon! <3

    ---

    This release fixes a bunch of bugs in the new APIs and a few regressions that were introduced in the HUGE 20.1.0 release (if you’ve missed it, check out the announcement here: <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963>):

    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 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

    Changes

    - attr.define() et al now correct detect __eq__ and __ne__. #671

    - attr.define() et al's hybrid behavior now also works correctly when
    arguments are passed. #675

    - It's possible to define custom __setattr__ methods on slotte