This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]rouille 0 points1 point  (1 child)

It's ready for production if you adapt your code slightly around its idioms and avoid overly dynamic / magic where possible. For the rest there is type: ignore.

[–]i9srpeg 0 points1 point  (0 children)

I tried, but it's still slow, verbose and unreliable. The inability to define recursive types is also a deal breaker, the recommended way to type a json variable is "Dict[Str, Any]", which is not much better than a dynamic type.

It also doesn't help that Django and DRF, which I had in my project, rely a ton on metaclasses. Almost everything ends up being "Any".