An editable text box for executing Python code live
Project description
ExecBox - Execute Python code from inside your Streamlit apps!
Execbox is basically a text editor plus exec()
.
Installation
First install Streamlit (of course!) then pip-install this library:
pip install streamlit
pip install st-execbox
Example usage
import streamlit as st
from st_execbox import execbox
# Draw a text editor and a "Run" button. When you press "Run", the code in the editor executes!
execbox()
# Makes the code run automatically on each keystroke.
execbox(autorun=False)
# Draw an execbox with some initial text.
execbox("""
a = 10
b = 20
st.write(a + b)
""")
Parameters
The execbox()
function accepts any of the following arguments:
-
body (str. default: '')
The initial code to show in the execbox.
-
button_label (str. default: 'Run')
The label to use for the "Run" button.
-
autorun (bool. default: False)
Whether the code should execute with each keystroke.
-
height (int or None. default: None)
The height of the execbox, in pixels. If
None
, calculates the height smartly to fill the content and a couple more lines. -
line_numbers (bool. default: False)
Whether to show line numbers.
-
key (str or None. default: None)
An optional string to use as the unique key for the widget. If this is omitted, a key will be generated for the widget based on its content. Multiple widgets of the same type may not share the same key.
To-do
Just one to-do:
- Write tests! Contributions accepted :wink:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file st-execbox-1.0.0.tar.gz
.
File metadata
- Download URL: st-execbox-1.0.0.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3510038e82019391d5f0f3ae752f43e2f4768a7c2f56087b82bba94a9fa48e79 |
|
MD5 | 0f15b61ed9d9885b6e59cbf0977d27a7 |
|
BLAKE2b-256 | ca3402c1540badd23c2d453ee280e1f478949ff1873b9ea5acdab5dff184ab93 |