TypeChat
TypeChat copied to clipboard
[python] Upgrade the imports in examples
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.
Ah but then there's a Pydantic error in 3.11:
Please use typing_extensions.TypedDict
instead of typing.TypedDict
on Python < 3.12
Dang! I'll just ignore my linter then / add a noqa. That might be worth mentioning in documentation about using TypeChat with TypedDict.
I assume its the only way to document when using TypedDict
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).
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.