Hey all:
There is discussion RIGHT NOW in the SC, and on python-dev about future
"policy" around annotations, in response to the PEP 563 and 649 -- not
clear where it's going to end up, but it is clear that the whole "are
annotations only for typing" question will be made more clear.
Anyway, I had the idea that one could create a subclass of
typing.Annotated, and call it "Documented", and then have it do something a
little special, while still looking like an Annotated to the Typing system,
e.g. get_type_hints(). However:
In [2]: class Documented(typing.Annotated):
...: pass
...:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-fb09faa96292> in <module>
----> 1 class Documented(typing.Annotated):
2 pass
3
~/miniconda3/envs/py310/lib/python3.10/typing.py in __init_subclass__(cls,
*args, **kwargs)
1676
1677 def __init_subclass__(cls, *args, **kwargs):
-> 1678 raise TypeError(
1679 "Cannot subclass {}.Annotated".format(cls.__module__)
1680 )
TypeError: Cannot subclass __main__.Annotated
So those type objects in typing are weird.
I'm giving up :-(
-CHB
On Tue, Dec 14, 2021 at 8:36 AM Ricky Teachey <[email protected]> wrote:
> On Tue, Dec 14, 2021 at 10:23 AM Joao S. O. Bueno <[email protected]>
> wrote:
>
>> Just a short one, for everyone agreeing type.Annotated does the job,
>> but thinks we need new syntax, because it is verbose:
>>
>> You can already do:
>>
>> from typing import Annotated as A
>>
>> And:
>>
>> attr: A[type, "docstring goes here"]
>>
>> I see no need for any new syntax.
>>
>> (and maybe adding typing.Docstring for the cases when one
>> just wants the docs, but no type annotation)
>>
>
> You're not wrong exactly. But there has been a desire to reduce the need
> for typing module imports in general, and I think eliminating the need to
> import Annotation for this specific use case might have merit, if is
> becomes blessed as The Way, and if we think it is a good idea to say to
> people "hey! providing docstrings for members is a really good practice,
> and so we're making is super duper easy and standardizing it!" (just as we
> encouraged people to provide docstrings in the past for modules and classes
> by making that syntax dead simple to use).
>
> ---
> Ricky.
>
> "I've never met a Kentucky man who wasn't either thinking about going home
> or actually going home." - Happy Chandler
>
> _______________________________________________
> Python-ideas mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/[email protected]/message/H5NIEA24YOZOY6TUFIRAYV4IK5FNYQQJ/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
--
Christopher Barker, PhD (Chris)
Python Language Consulting
- Teaching
- Scientific Software Development
- Desktop GUI and Web Development
- wxPython, numpy, scipy, Cython
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/SF3ZV2H6FV566IQJOUAGAWV6KAPEJT6R/
Code of Conduct: http://python.org/psf/codeofconduct/