Python Conference APAC 2024

Agriya Khetarpal

Agriya Khetarpal is a software engineer at Quansight Labs, where he works on the packaging and distribution of fundamental open-source software in the PyData stack, and on approaches to WASM-powered interactive documentation that are primarily built to serve the purpose of accessibility and education for the Python programming language.

He is interested in Python packaging, scientific computing, numerical software, compilers and toolchains, and many more topics.

Agriya recently graduated from the University of Delhi with a bachelor's degree, majoring in computer science and mathematics.


Links to social media profile / website / github

github.com/agriyakhetarpal/


Session

10-26
15:00
30min
Python in the browser: my journey towards enhancing the Scientific Python ecosystem's interoperability with Pyodide
Agriya Khetarpal

The Python programming language in recent years has gained advancements not only in terms of speed but also with its coverage of platforms and architectures that it supports, such as the upcoming iOS (PEP 730) and Android (PEP 738) ABIs, which will be a boon for its popularity and help expand it to a large variety of users. Similarly, the advent of WebAssembly (through the Emscripten toolchain) in the last decade has served a purpose rarely met by any other implementation of low-level code: being able to provide a way to run programs written in multiple languages at near-native speed by reworking higher-level instructions and their intermediate representations to near-assembly ones, that can run inside conventional browsers such as Google Chrome (and other Chromium-based browsers), Safari, and Firefox; across devices.

Here, the web browser has 1. access to the CPU of the host machine and therefore does not hit any major speed or connectivity constraints, and 2. the inherent security models for web browsers and sophisticated sandboxing means that security constraints are seldom a problem.

This talk shall describe Python in WebAssembly through its most popular implementation (Pyodide), and about how I am working with the Scientific Python and PyData ecosystems for scientific computing, artificial intelligence, data science, and more to improve interoperability with Pyodide – and lastly, it will discuss through an interactive yet informational exchange coupled with pragmatic considerations for this Python distribution in specific in terms of interactive documentation and packaging insights, and provide a precursor on how the Scientific Python ecosystem is expected to change in the coming years with further advancements in this area.

CLASS #2