The Real Python Podcast· Folge 301

Running Python Locally in a Sandbox

Freitag, 3. Juli 2026 · 46 min

MP3

Shownotes

<p>How do you avoid the risk of running a Python application locally that could be malicious, break your code, or leak private data? How can you create a sandboxed local environment using WASM and MicroPython? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.</p>
<p>We cover a recent article by previous guest Simon Willison titled “Running Python code in a sandbox with MicroPython and WASM.” Simon has been experimenting for years on how to run Python code in a sandbox to reduce the risk of trying out new software, untrusted libraries, and wild ideas. He’s developed a solution using WASM and MicroPython and is sharing it as an alpha package on PyPI.</p>
<p>We also share other articles and projects from the Python community, including new releases, community announcements, a roundup of recent Real Python tutorials and video courses, a plugin case study using Pluggy, a look at whether you’re expected to run five type-checkers now, wrapping programs using the subprocess module, a project for star charts and maps, and a tool for trend detection in Python.</p>
<p>This episode is sponsored by <a href="datadriven.io/?utm_source=realpython&utm_m…;
<div class="alert alert-primary" role="alert">
<p><strong>Spotlight:</strong> <a href="realpython.com/workshops/codex/">Codex for Python Developers: Hands-On Agentic Coding Course</a></p>
<p>Most Python developers use AI as fancy autocomplete. This 2-day live course teaches you to build entire projects with Codex, an AI agent that works inside your codebase.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:48 – PSF Board Election Dates for 2026</li>
<li>00:03:28 – Python 3.15.0 beta 3 is here!</li>
<li>00:03:58 – PEP 835: Shorthand Syntax for Annotated Type Metadata</li>
<li>00:05:13 – Announcing the Search for a DSF Executive Director</li>
<li>00:05:53 – Django 6.1 beta 1 released</li>
<li>00:06:24 – PyData London 26 Videos Released</li>
<li>00:06:50 – Implementing Interfaces in Python: ABCs and Protocols</li>
<li>00:07:36 – Building Python Skills for the Job Market</li>
<li>00:08:21 – Context Engineering for Python Codebases</li>
<li>00:09:14 – Python for Data Analysis: A Practical Guide</li>
<li>00:09:47 – Using LlamaIndex for RAG in Python</li>
<li>00:10:07 – Django Tasks: Exploring the Built-in Tasks Framework</li>
<li>00:10:59 – Plugins Case Study: Pluggy</li>
<li>00:15:10 – Sponsor: <a href="datadriven.io/?utm_source=realpython&utm_m…;
<li>00:15:57 – Pyodide 314.0 Release</li>
<li>00:18:54 – Python in a Sandbox With MicroPython and WASM</li>
<li>00:22:35 – The subprocess Module: Wrapping Programs With Python</li>
<li>00:30:08 – Spotlight: Codex for Python Developers</li>
<li>00:31:51 – Are You Expected to Run 5 Type-Checkers Now?</li>
<li>00:39:41 – starplot: ✨ Star charts and maps in Python</li>
<li>00:42:01 – marimo-tutorials: Collection of Marimo Tutorials</li>
<li>00:42:48 – pytrendy: Trend Detection in Python</li>
<li>00:44:35 – Thanks and goodbye</li>
</ul>
<p>News:</p>
<ul>
<li><a href="pyfound.blogspot.com/2026/06/psf-board-electio… Board Election Dates for 2026</a></li>
<li><a href="blog.python.org/2026/06/python-3150-beta-3/&qu… 3.15.0 beta 3 is here! - Python Insider</a></li>
<li><a href="peps.python.org/pep-0835/">PEP 835: Shorthand Syntax for Annotated Type Metadata (Added)</a></li>
<li><a href="djangoproject.com/weblog/2026/jun/17/announcin… the Search for a DSF Executive Director</a></li>
<li><a href="djangoproject.com/weblog/2026/jun/24/django-61… 6.1 beta 1 released - Django Weblog</a></li>
<li><a href="youtube.com/playlist?list=PLGVZCDnMOq0rFQykYJg… London 26 Videos Released</a></li>
</ul>
<p>Real Python News:</p>
<ul>
<li><a href="realpython.com/python-interface/">Impl… Interfaces in Python: ABCs and Protocols</a></li>
<li><a href="realpython.com/courses/building-python-skills-… Python Skills for the Job Market</a></li>
<li><a href="realpython.com/python-context-engineering-ai/&… Engineering for Python Codebases</a></li>
<li><a href="realpython.com/python-for-data-analysis/"… for Data Analysis: A Practical Guide</a></li>
<li><a href="realpython.com/courses/using-llamaindex-for-ra… LlamaIndex for RAG in Python</a></li>
<li><a href="realpython.com/django-tasks/">Django Tasks: Exploring the Built-in Tasks Framework</a></li>
</ul>
<p>Topics:</p>
<ul>
<li><a href="eli.thegreenplace.net/2026/plugins-case-study-… Case Study: Pluggy</a> – <a href="github.com/pytest-dev/pluggy">Pluggy&l…; is an open source plugin system used by frameworks such as pytest and tox. This article introduces you to how it works and what you can do with it.</li>
<li><a href="blog.pyodide.org/posts/314-release/">P… 314.0 Release</a> – This post announces the Pyodide 314.0 release and describes its features, including a focus on standardization and packaging. You can now build Pyodide wheels and post them to PyPI.</li>
<li><a href="simonwillison.net/2026/Jun/6/micropython-in-a-… in a Sandbox With MicroPython and WASM</a> – Simon’s been in search of the perfect code sandbox. This article is about his latest attempt and covers why he wants a sandbox and what tech he’s used to achieve it.</li>
<li><a href="realpython.com/python-subprocess/">The subprocess Module: Wrapping Programs With Python</a> – Python’s <code>subprocess</code> module allows you to run shell commands and manage external processes directly from your Python code. By using <code>subprocess</code>, you can execute shell commands like <code>ls</code> or <code>dir</code>, launch applications, and handle both input and output streams.</li>
<li><a href="pyrefly.org/blog/too-many-type-checkers/"… You Expected to Run 5 Type-Checkers Now?</a> – Library maintainers may feel overwhelmed by the plurality of type checkers that exist. We offer some guidance on how to focus their efforts where they matter most.</li>
</ul>
<p>Projects:</p>
<ul>
<li><a href="github.com/steveberardi/starplot">star…: ✨ Star charts and maps in Python</a></li>
<li><a href="github.com/Haleshot/marimo-tutorials">…: Collection of Marimo Tutorials</a></li>
<li><a href="github.com/RussellSB/pytrendy">pytrendy: Trend Detection in Python</a></li>
</ul>
<p>Additional Links:</p>
<ul>
<li><a href="realpython.com/podcasts/rpp/226/">Epis… #226: PySheets: Spreadsheets in the Browser Using PyScript</a></li>
<li><a href="datasette.io/">Datasette: An open source multi-tool for exploring and publishing data</a></li>
<li><a href="realpython.com/courses/astrophysics-pandas-mat… Astrophysics in Python With pandas and Matplotlib</a></li>
<li><a href="realpython.com/courses/astropy-astronomy/"… Astropy for Astronomy With Python</a></li>
<li><a href="realpython.com/courses/investigating-quasar-da… Quasar Data With Polars and Interactive marimo Notebooks</a></li>
<li><a href="jupyterlite.readthedocs.io/en/stable/">… — JupyterLite 0.8.0 documentation</a></li>
<li><a href="datadriven.io/?utm_source=realpython&utm_m… - Data Engineer Interview Practice Problems</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul> …

0:00 / 0:00