Session

Paul Everitt

Paul Everitt

(he/him)
PyCharm Developer Advocate

JetBrains

Joyful Pyodide with...tests?

Pyodide and PyScript have helped bring Python to the browser. But what’s development like? Is it console.log, print statements, and constant switching to Chrome?

This talk shows a joyful mode of development using NodeJS testing frameworks. Fast, with good tooling, so you can stay in the flow.

Pyodide is exciting but it can mean a pretty disjointed developer experience. You write some Python code, go to a browser, hit refresh, and hope for the best. The console is always open, so you can sprinkle console.log statements hither and yon, hoping to reveal your mistake. It’s also a slower development cycle, waiting for Pyodide to spin up. Finally, it can be disorientation: which language is currently calling which?

Modern JS tooling has improved. With NodeJS, Vite, Vitest, and IDE integration, a different mode of development emerges. One focused on developing through the lens of a test, where you can easily jump into a debugger.

In this talk we walk through the “why” of this approach, then show getting it started and using it in action. Along the way you’ll see some modern web development patterns such as ESM import/export and web workers.