2 ms·
Here are some references: - Giles Thomas - Lessons Learned from Serving 1/4 million in-browser Python Consoles with Tornado - EuroPython2013 - Link: http
by Jugurtha 5y ago
Here are some references:
- Giles Thomas - Lessons Learned from Serving 1/4 million in-browser Python Consoles with Tornado - EuroPython2013
- Link: https://www.youtube.com/watch?v=U_qp8u_BH_E
- Description: Giles is from PythonAnywhere, the author of [Interactive shells on Python.org](https://blog.pythonanywhere.com/83/) blog post.
- PythonAnywhere uses:
- SockJS:
- Repo: https://github.com/sockjs
- pty (Python built-in module) for handling pseudo-terminals (with pty.fork):
- Docs: https://docs.python.org/3.7/library/pty.html
- epoll (Tornado's IOLoop.add_handler for async):
- Docs: https://www.tornadoweb.org/en/stable/
- Xterm.js: Terminal on the browser at https://xtermjs.org/
- Jessica McKellar: Building and Breaking a Python Sandbox - Pycon 2014:
- Link: https://www.youtube.com/watch?v=sL_syMmRkoU
- pysandbox (author recommends running Python in a sandbox, not the opposite)
- Interactive Shells on Python.org:
- Link: https://blog.pythonanywhere.com/83/
- CodeSandbox: Online web application editor (Angular, React, Vue, Vanilla JS)
- Website: https://codesandbox.io/
- Repo: https://github.com/codesandbox/codesandbox-client
- Kaggle:
- Description: Kaggle's infrastructure and systems allow for arbitrary code execution and scoring. It would be good to check it out and see what they get right.
- Kaggle Learntools:
- Purpose: Check exercises and notebooks submitted by users
- Link: https://github.com/Kaggle/learntools
- Kaggle Docker:
- Purpose: Kaggle Python docker image
- Link: https://github.com/Kaggle/docker-python/
- Kaggle Infrastructure (Lessons Learned from Tens of Thousands of Kaggle Notebooks):
- Link: https://www.youtube.com/watch?v=ENPBTl0uNOE
- Miscellaneous Links:
- Jinja has a sandboxed environment:
- Link: https://github.com/pallets/jinja/blob/master/jinja2/sandbox.py