FAQ
Is my code uploaded?
No. Python runs in your browser via Pyodide, so the code never leaves your device and it works offline. That differs from most online runners, which send your code to a backend.
Why does the first run take so long?
It downloads and initialises the Python runtime, roughly 10-30 seconds depending on your connection. Afterwards it stays cached and runs take a second.
Can I import numpy or pandas?
It depends on which packages Pyodide precompiles. The standard library works; some scientific packages are available, others cannot be installed.
About this tool
Python runs in your browser through Pyodide (CPython compiled to WebAssembly) and nothing is uploaded. The first run downloads a runtime of some ten megabytes, which is then cached — after that it works offline. That differs from most "online runners", which send your code to a server.
Execution uses runPythonAsync, so top-level await works without wrapping anything in an event loop. Standard output and standard error are merged and shown in order, not split into two streams like a local terminal.
There is no standard input: input() cannot read anything here because Pyodide has no stdin bound, and it raises immediately. To demo an interactive program, put the input in constants or function arguments; for real stdin use the C++ / Java / Go / Shell tools, which have an input box.
Third-party packages are limited to what Pyodide precompiles: the standard library is complete, common libraries such as numpy and pandas usually work, while obscure packages and anything needing a compiled C extension do not. A ModuleNotFoundError almost always means this, not a mistake in your code.