One of the issues I'm facing when trying to type the examples is that JSONType was used in many places to represent responses from the API. Because this is an imperfect type hint, it requires adding casts all over the place.
With this change I'm removing JSONType and replacing it with Any. This matches the commonly used ObjectApiResponse[Any] from the low-level client, and lets mypy digest attribute accesses without generating warnings, in things like self.meta.inner_hits.answer.hits. Just by making this change a few type ignores can be removed, and no new typing errors appeared.
I think in the future I will revisit this and create proper types for the response structure, but for now I think Any is the best choice.
One of the issues I'm facing when trying to type the examples is that JSONType was used in many places to represent responses from the API. Because this is an imperfect type hint, it requires adding casts all over the place.
With this change I'm removing
JSONType
and replacing it withAny
. This matches the commonly usedObjectApiResponse[Any]
from the low-level client, and lets mypy digest attribute accesses without generating warnings, in things likeself.meta.inner_hits.answer.hits
. Just by making this change a few type ignores can be removed, and no new typing errors appeared.I think in the future I will revisit this and create proper types for the response structure, but for now I think
Any
is the best choice.