Typing at scale: statically type-checking a large codebase

Talk Tooling, Packaging, Developer Productivity Intermediate 30 min

Abstract

Once upon a type in Pythonland, we would say: If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck."

Then the type-checking team started scoring multiple goals. Is type-checking useful in Python? What about existing codebases? Recommendations and pitfalls.

In this talk, we'll take a look at:

  • why should you typecheck your code? what are the benefits and drawbacks?
  • how can you do that without stopping development, but without chasing an ever-changing target?
  • what are the pitfalls from type checking - can it provide a false sense of security?
  • How to interact with third party libraries?
  • Is static type-checking enough, or do we need to runtime check as well?
  • Is the type checker always right?

This is a case study about how it was done (and is still being done) on a real, large production codebase at Aiven. This is not a theoretical talk - I'll try explaining what are the major pitfalls, what problems were solved and what problems were introduced by type checking.

And I'll finally answer The Big Question: would you do that again?

When & Where

North Hall 2025-07-16T14:30:00+02:00

LET'S CONNECT

Want to collaborate or contribute? We're open to partnership opportunities and would love to hear your ideas.

Newsletter

Get the latest updates, speaker announcements, and special deals. No spam, unsubscribe anytime.