Typing Summit  ·  PyCon US 2026  ·  Long Beach, CA

Thoughts on
Python Typing

Framing

This is a discussion,
not a conclusion

Not many hard facts here. I want to start a conversation.

I'm speaking from gut and instinct — honed by 35+ years of thinking about Python, but still fallible.

Discussion Quality

Three things I keep wondering about

Original Philosophy

mypy's founding principle:
useful, not perfect.

Jukka's original vision was to balance false positives and false negatives — occasionally accepting unsound behaviour if the sound option would make typical user code too complicated or noisy.

Is that still our guiding star? Or have we drifted toward type-theoretical purity?

Turtle and Hare

Why don't we have an
Intersection type yet?

It would appear to be straightforward — certainly compared to the complexity of type manipulation, which already has a draft PEP (823) in review.

What does it say about our priorities that Intersection is still in limbo?

Rethinking Constraints

Are we still bound by PEP 484's
"no core language changes" rule?

We've already moved past it: variable annotations, generics, type statement, even the new lazy __annotations__ work. The rule is gone in practice.

Could more ergonomic annotation-specific syntax (soft-keyword-based) unlock a nice-looking version of type manipulation?

Could it enable superior behavior in other areas? (More concise annotations; make cast a soft keyword?)

Tooling

Why do type checkers
still diverge so much?

Why is it so hard to make code conform to multiple checkers? Why are users forced to pick one and live with its quirks?

More consistency across mypy, pyright, ty, pyrefly, and others would make life easier for everyone.

What does the
2025 Typing Survey say?

819 non-empty responses to
"What is the hardest part about using the Python type system?"

2025 Typing Survey · Top Pain Points

Where users actually struggle

Complexity & learning curve
19.0%
Advanced features & generics
17.0%
Tooling & checker inconsistency
15.1%
Untyped third-party libraries
15.0%
Dynamic patterns hard to type
14.8%
Other / one-off issues
39.4%
"The dominant pain is not one single issue. People most often struggle with complexity, advanced type features (especially generics), checker friction, and missing type info in dependencies."
2025 Typing Survey — plain-English takeaway
User Perspectives

One community,
two expectations

Some users treat typing as a better linter; others treat it as a correctness gate.

The gap is about workflow expectations, not expertise or ideology.

The idea of gradual typing often feels deprecated: partial coverage is treated as unfinished, especially in IDE-heavy teams.

Practical Consequences

Where the pressure lands

Missing type information in dependencies pushes effort onto maintainers and downstream users.

Users often over-constrain for convenience: list[str] instead of Sequence[str] (which requires an import and is longer).
Result: local convenience, global rigidity.

Let's talk about it.

Can we focus more on user pain than power features?

The data says that's where people are hurting.

1 / 13