0:00
/
0:00
Transcript

Python for organizations with Josh Cannon from Anthropic

Ankit speaks with Josh Cannon from Anthropic about the evolution and current state of Python, including its use in monorepos, the role of Pants, and challenges faced at scale.

About Josh Cannon

Josh calls himself many things: a software engineer, a build engineer, a developer productivity engineer, a spousal engineer, an offspring engineer, and on more than one occasion, “Dunder Seuss.” He works hard on things that are hardly working so that others don't have to work hard to get hard work done. That, combined with a sense for the "good" kind of clever has seen him help transform developers’ workflows from ordinary to extraordinary at notable tech companies big and small.

Josh on LinkedIn

References:

  • Astral - https://astral.sh/

    • ruff - https://github.com/astral-sh/ruff

      • And their typechecker, currently being built underneath `ruff` - https://github.com/astral-sh/ruff/issues/3893#issuecomment-2622505211

    • uv - https://github.com/astral-sh/uv

  • "Faster CPython team" - https://devblogs.microsoft.com/python/python-311-faster-cpython-team/

  • Some reference on "Freethreaded" Python (AKA "noGIL") - https://py-free-threading.github.io/

  • Pantsbuild - https://www.pantsbuild.org/stable/docs/introduction/welcome-to-pants

  • Libraries:

    • attrs - https://www.attrs.org/en/stable/init.html

    • pydantic - https://docs.pydantic.dev/latest/

      • And also pydantic-the-company: https://pydantic.dev/

    • fastAPI - https://fastapi.tiangolo.com/

    • Pallets org - https://github.com/pallets

      • flask - https://github.com/pallets/flask

      • jinja - https://github.com/pallets/jinja

      • click - https://github.com/pallets/click

    • typer - https://typer.tiangolo.com/

    • rich - https://github.com/Textualize/rich

    • textual - https://github.com/Textualize/textual

Chapters
00:00 Introduction to Python and Josh's Journey
02:54 The Case for Pants in Python Development
05:10 Anthropic's Use of Python
06:52 Scaling Python: Challenges and Solutions
09:50 The Role of Open Source in Python
11:59 Developer Experience in Python
14:00 Measuring Success in Python Development
16:33 Typing in Python: Benefits and Challenges
19:01 Performance and Multithreading in Python
21:04 The GIL and Python's Performance Challenges
23:13 Exploring Free-Threaded Python
24:30 Custom Build Systems in Python Development
24:49 Essential Tools for Python Developers
28:46 Standardization in Python Tooling
30:27 The Future of Python with AI and LLMs

Summary
Ankit speaks with Josh Cannon from Anthropic about the evolution and current state of Python, including its use in monorepos, the role of Pants, and challenges faced at scale. They discuss the vibrant open-source community surrounding Python, the future of Python in AI and the significance of developer tooling in the ecosystem.

Keywords
Python, Anthropic, Pants, Developer Experience, Open Source, AI, Developer Tooling.


Takeaways

  • Josh celebrated his 10th anniversary of learning Python.

  • Pants is particularly beneficial for Python monorepos.

  • Anthropic uses Python extensively for AI and ML applications.

  • Python's tooling and performance are improving significantly.

  • The open-source community for Python is vibrant and active.

  • Developer experience in Python is heavily influenced by tooling.

  • Python's GIL limits its multithreading capabilities.

  • AI is enhancing the usability of Python for developers.

  • Standardization in Python tooling is still a work in progress.

  • Venture capital is influencing the development of Python tools.