Open
Description
Pyupgrade recommends:
import asyncio
from typing import Annotated, Literal, TypedDict
import dotenv
from typing_extensions import Doc
As everything but Doc has been in typing since 3.8 or 3.9:
https://docs.python.org/3/library/typing.html#typing.Literal
Apparently Doc is non-standard, interesting discussion on the PEP here:
https://discuss.python.org/t/pep-727-documentation-metadata-in-typing/32566/172
It seems unlikely to get accepted, but I assume its the only way to document when using TypedDict? That's what I saw in the examples.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
pamelafox commentedon Mar 17, 2024
Ah but then there's a Pydantic error in 3.11:
Please use
typing_extensions.TypedDict
instead oftyping.TypedDict
on Python < 3.12Dang! I'll just ignore my linter then / add a noqa. That might be worth mentioning in documentation about using TypeChat with TypedDict.
DanielRosenwasser commentedon Mar 18, 2024
So if you use
Annotated[SomeType, Doc(...)]
we recognize that. Some folks working on Python recommended we future-proof on that.But we also just recognize
Annotated[SomeType, "Some comment string."]
because that's so common anyway (and it just feels better to use).pamelafox commentedon Mar 18, 2024
Ah okay, I saw that mentioned in the Discourse thread but wasnt sure if that was also a standard. I recommend documenting both of those.