The Python Podcast.__init__

Finding The Core Of Python For A Bright Future With Brett Cannon

06.23.2021 - By Tobias MaceyPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

Summary

Brett Cannon has been a long-time contributor to the Python language and community in many ways. In this episode he shares some of his work and thoughts on modernizing the ecosystem around the language. This includes standards for packaging, discovering the true core of the language, and how to make it possible to target mobile and web platforms.

Announcements

Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science.

When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to pythonpodcast.com/linode and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!

Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you’re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at pythonpodcast.com/hightouch.

Your host as usual is Tobias Macey and today I’m interviewing Brett Cannon about improvements in the packaging ecosystem, the promise of WebAssembly, and his recent explorations of CPython’s interpreter

Interview

Introductions

How did you get introduced to Python?

As a core contributor to CPython, a member of the steering Council, and the team lead for VSCode’s Python extension, what are your current areas of focus for the language?

One of the PEPs that you were involved with recently introduced the pyproject.toml file for simplifying the work of building Python packages. Can you share some of the background behind that work and the goals that you had for it?

Since its introduction a lot of people have co-opted that file for other project configuration. What was your reaction to that, and if you had foreseen that usage what might you have changed or added in the PEP to account for it?

What are the long term impacts on the packaging ecosystem that you anticipate with the standardization efforts that are happening?

Another area where there is a lot of attention right now is being able to target additional deployment environments such as the browser, with web assembly, and mobile devices, with projects like BriefCase and Kivy. You had a recent post where you posed some questions about the true nature of Python and the possibility of removing pieces of it to simplify building for these other runtimes. What is your personal sense of the minimal set of features that we need for something to still be Python?

How have projects such as MicroPython and PyOdide influenced your thinking on the matter?

You have also recently been writing a series of articles about the implementation details of different syntactic elements of Python. What was your inspiration for that?

What are some of the interesting or surprising details that you encountered while unwrapping the way that the interpreter handles those syntactic elements?

How have those explorations helped you in your efforts to identify the core of Python?

Recent releases of Python have brought in some substantial changes to the interpreter and new language features (e.g. PEG parser, pattern matching). What are some of the other large initiatives that you are keeping track of?

What are your personal goals for the near to medium term future of Python?

What are the most interesting, unexpected, or challenging lessons that you have learned while working on the Python language and related tooling?

If you were to redesign Python today, what are some of the things that you would do differently?

Keep In Touch

brettcannon on GitHub

@brettsky on Twitter

Blog

Picks

Tobias

Cold Brew Iced Tea

Loki on Disney+

Brett

Rich

Textual

The physics facts included in all of the Python 3.10 release announcements, e.g. you will never see a green star

Links

Brett’s Blog

Python VSCode Extension

Python Steering Council

Python Package Authority

UC Berkeley

Vancouver, BC

Squamish, Musquiam, Tsleil-waututh First Nations

Pascal

Python

C

O’Reilly

PyCon US 2021 Steering Council Keynote

Python Developer-In-Residence

PSF Visionary Sponsorship

Setuptools

Pip

Python Wheels

PyPI

PEP 518

PEP 517

PEP 621

pyproject.toml

Flit

Enscons

PyPA Build

PyOxidizer

Pex

Shiv

cx_Freeze

cibuildwheel

Thomas Kluyver

Poetry

Vaults of Parnassus

MicroPython

Podcast Episode

CircuitPython

Podcast Episode

Desugaring Python Blog Series

JupyterHub

PyOdide

JupyterLite

ANSI C99

PyPy

Jython

IPython

ncurses

Kivy

Briefcase

Toga

PEP 401

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

More episodes from The Python Podcast.__init__