Are We Typed Yet? The Evolution of Gradual Typing and Mypy
10-18, 11:30–12:00 (Europe/Lisbon), Auditorium

Type Hints were introduced in 2014 by PEP484, marking its 10th anniversary in 2024. Mypy reached 1.0 in 2023. How much has changed since then? How has the Python code we write today evolved? With strictly typed code and runtime checks becoming more common, is statically typed code still the exception rather than the norm? How much longer will it stay this way?


In this talk, we'll explore the evolution of static typing in Python, focusing on Mypy, its development, and its impact on the adoption of gradual typing. We'll delve into the journey of static typing, static analysis, and language servers, examining how they have influenced the way we write Python code today.

The discussion will cover:

  • Mypy's Goals and Non-Goals:
    We'll look at Mypy's core objectives and clarify what it doesn't aim to achieve.
  • Progress and Challenges:
    We'll analyze Mypy's progress over time, exploring success stories and addressing the challenges encountered in widespread adoption.
  • Typing Oddities:
    We'll explore some of the complexities and interesting quirks associated with static typing and where it may fall short.
  • The Power of Typing:
    We'll showcase real-world examples of successful static typing implementations.
  • Gradual Typing in Python:
    We'll discuss the concept of gradual typing and its potential for Python, drawing comparisons to other languages like TypeScript, Ruby, and Elixir.
  • The Broader Landscape:
    We'll explore the influence of Mypy on the overall Python ecosystem, including its impact on development practices and tooling.
  • Beyond Type Checking:
    This new ecosystem is bringing up new ideas and ways to code. Powerful language servers can have a profound impact on the final design of our applications, for better or worse.

By the end of this talk, I hope you will gain a deeper understanding of Mypy's role in Python's typing landscape, its impact on gradual typing adoption, and the potential future of static typing in the Python world.


Audience Level

Intermediate

What are the main topics of your talk?

Typing, tooling