top | item 43331925

Show HN: Online Python Compiler with Libraries

18 points| andycloke | 1 year ago |cliprun.com | reply

Hey HN, I just launched this online Python compiler which lets you use popular Python libraries like requests, Matplotlib, Plotly, Pandas, NumPy etc. online.

It uses Pyodide to execute Python in the browser using WebAssembly.

18 comments

order
[+] sekizsonsuz|1 year ago|reply
I don't understand. There is no compiling at all. It's interpereter and it's basically based on https://pyodide.org/
[+] andycloke|1 year ago|reply
Maker here.

You're right, it's an interpreter and that would be the 100% accurate term.

For online coding environments, the two are often used interchangeably. More people search for 'compiler', so I'm using that widely on my site.

[+] metadat|1 year ago|reply

  import requests 
  
  r = requests.get('https://theonion.com')
  
  print(r.text)
Hmm, I wonder if you could use subprocess to fetch and run any binary. What kind of sandbox is this running in, and what are the limits?

Running arbitrary untrusted code seems like a potential security issue.

Edit: @porridgeraisin Got it, thanks! Does this mean outbound http requests only work with domains that support arbitrary requests via `Access-Control-Allow-Origin: *` ?

[+] andycloke|1 year ago|reply
Maker here! Runs in an isolated Web Worker using Web Assembly, via Pyodide. Everything runs locally in your browser - no file system or other access. Scheduled run (paid plan) run on AWS lambda.

So, yes, sadly, network requests only work with domains with Access-Control-Allow-Origin: *. I'm looking at adding a backend CORS proxy to fix this.

We also have a Chrome extension with no CORS limitation. The extension lets you right-click Python code snippets on basically any site (Claude, ChatGPT, Deepseek etc.) to run it instantly.

https://chromewebstore.google.com/detail/python-code-runner/...

[+] porridgeraisin|1 year ago|reply
It runs on pyodide, i.e, a wasm interpreter that runs entirely in your browser.
[+] Rush2112|1 year ago|reply
Hi, great project! Can you add the library pylan? https://pypi.org/project/pylan-lib/
[+] andycloke|1 year ago|reply
Yes! To use pylan:

- Click on the Clip name (the default one is 'Use Python Libraries') - Click 'Manage packages' - Enter 'pylan-lib' and Click 'Add' - Click 'Run'

The package will be installed, and the code will run!

The list of libraries is only a small subset of the compatible libraries - I should make that way clearer.

[+] gardnr|1 year ago|reply
Great project! Nice work!

It reminds me a bit of marimo: https://docs.marimo.io/guides/publishing/

[+] andycloke|1 year ago|reply
Maker here. Thank you!

I looked briefly at Marimo when building - awesome project. I wasn't sure about building on Pydodide as it's obviously not full Python compatibility. But seeing someone else building a popular project on it helped me make that decision!

[+] arbitrandomuser|1 year ago|reply
What am I paying for if it's running on my system ? Not asking to deride , but could you elaborate what value this adds over simple installing python on my system ?
[+] mscolnick|1 year ago|reply
Looks awesome! big fans of pyodide, congrats on the launch