# Inline Python Editors
## Bottom.ch with direct component
This is the preferred version as of 2025.
print(42)
print(42)
You can install files from an URL (with CORS headers if from a different domain!):
with open('gemeinden.csv', 'r') as infile:
for line in infile:
tokens = line.split(',')
town = tokens[0]
if town == 'Romanshorn':
print(f'Romanshorn hat {tokens[2]} Einwohner')
with open('gemeinden.csv', 'r') as infile:
for line in infile:
tokens = line.split(',')
town = tokens[0]
if town == 'Romanshorn':
print(f'Romanshorn hat {tokens[2]} Einwohner')
## Bottom.ch with iframe
With iframe on bottom.ch/ksr/py/embed.html, which is based on pyodide and codemirror.
## JupyterLite
Also based on pyodide, but with jupyter support all around.