Mailing List Archive

Almost accepting PEP 681 – Data Class Transforms
Hello,
As an initial implementation that will be improved in the future, the
specification in PEP 681 is fine. Feel free to add the decorator to
Python 3.11 at your convenience.

However, the PEP includes several worrying recommendations like:

- we recommend that the maintainers of attrs move away from the legacy
semantics and adopt auto_attribs behaviors by default.
- We chose not to support this feature and recommend that attrs users
avoid converters.
- Attrs users should use the dataclass-standard eq and order parameter
names instead.

These are probably meant as recommendations from typing-sig, but an
accepted PEP represents consensus of the entire Python community. A
typing PEP is not an appropriate place to make recommendations like
this, especially without reaching out to the maintainer of attrs.
As far as I know,the attrs and pydantic libraries are using the
reference implementation, but their authors weren't consulted on the PEP
itself.

Could you either change the wording (e.g. say that the unsupported
features need bespoke type-checker functionality for proper type
checking), or work with attrs to make the same recommendations in its
documentation?


Happy typing,
— Petr, on behalf of the Steering Council
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-leave@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/JWMSWJ6JZJNNG3JKPBYDMQUUHZFD2FZL/
Code of Conduct: http://python.org/psf/codeofconduct/
Re: [Typing-sig] Almost accepting PEP 681 – Data Class Transforms [ In reply to ]
El sáb, 23 abr 2022 a las 4:26, Petr Viktorin (<encukou@gmail.com>)
escribió:

> Hello,
> As an initial implementation that will be improved in the future, the
> specification in PEP 681 is fine. Feel free to add the decorator to
> Python 3.11 at your convenience.
>

Thanks Petr, that's great to hear!

I opened a PR at https://github.com/python/cpython/pull/91861 so we can get
the new decorator in before the feature freeze.


>
> However, the PEP includes several worrying recommendations like:
>
> - we recommend that the maintainers of attrs move away from the legacy
> semantics and adopt auto_attribs behaviors by default.
> - We chose not to support this feature and recommend that attrs users
> avoid converters.
> - Attrs users should use the dataclass-standard eq and order parameter
> names instead.
>
> These are probably meant as recommendations from typing-sig, but an
> accepted PEP represents consensus of the entire Python community. A
> typing PEP is not an appropriate place to make recommendations like
> this, especially without reaching out to the maintainer of attrs.
> As far as I know,the attrs and pydantic libraries are using the
> reference implementation, but their authors weren't consulted on the PEP
> itself.
>
> Could you either change the wording (e.g. say that the unsupported
> features need bespoke type-checker functionality for proper type
> checking), or work with attrs to make the same recommendations in its
> documentation?
>

Agree that these recommendations sound overly normative. I think we should
remove the recommendations and simply spell out the features that won't
work with dataclass_transform(). It's up to users' own judgment what they
do with that information. Erik, could you propose a change to the PEP text?


>
>
> Happy typing,
> — Petr, on behalf of the Steering Council
> _______________________________________________
> Typing-sig mailing list -- typing-sig@python.org
> To unsubscribe send an email to typing-sig-leave@python.org
> https://mail.python.org/mailman3/lists/typing-sig.python.org/
> Member address: jelle.zijlstra@gmail.com
>