605 W. Maude Ave, Sunnyvale, CA
Dropbox has several million lines of production code written in Python 2.7. As a first step towards migrating to Python 3, as well as to generally make our code more navigable, we are annotating our code with type annotations using the PEP 484 standard and type-checking the annotated code with mypy. In this talk we will discuss lessons learned and show how you too can start type-checking your legacy Python 2.7 code, one file at a time. We will also describe some of the many improvements we’ve made to mypy in the process, as well as some other tools that come in handy.
Mypy is an open-source type-checker for Python. It was originally created by one of the speakers, Jukka Lehtosalo, in support of his PhD thesis, before he joined Dropbox. Mypy supports the PEP 484 standard for gradual typing in Python. It supports Python 3.2 and higher, as well as Python 2.7 (using function signatures in type comments, per a recent update to PEP 484).
GUIDO VAN ROSSUM
Guido van Rossum is the author of the Python programming language. He continues to serve as the "Benevolent Dictator For Life" (BDFL), meaning that he continues to oversee the Python development process, making decisions where necessary. He is currently employed by Dropbox.
(Based in UK and may not be able to attend)
Jukka Lehtosalo created mypy, an optional static type checker for Python, while working on his PhD at the University of Cambridge. He currently works at Dropbox and continues to lead the development of mypy.
Greg Price is an engineer at Dropbox. Previously he worked at Quora and helped Ksplice make rebooting obsolete.
David Fisher works full time on mypy (the PEP 484 static type checker) at Dropbox. He enjoys learning esoteric languages in his spare time.
Python programmer by day, Python talk attendee by night.
python -c "print [f for f in [[x, x**2 + 3.*x + 6] for x in [float(d) for d in range(1, 103, 3)]]]"
Analytics, text mining, data science (Python,R)
EE who sometimes uses Python at work
Software engineer / hardware maker
Network and Python Facebook Production Engineer