Including a live terminal in the web app

Hello everyone,
My goal was to have the Streamlit web app run a Python file after pressing a button and to display its live terminal in the web app itself while the execution is happening. I am not certain if this is possible. I would appreciate any information that can point me in the right direction.

Hi @n_forcer

By a live terminal, which type of information are you looking to display in the app?

You could use Streamlit to run a Python file after clicking on a button and the output of which could then be read and displayed in the app.

Hope this helps.

Best regards,
Chanin

Though it’s not optimized for a terminal, you might find this component helpful GitHub - okld/streamlit-ace: Ace editor component for Streamlit. since it adds syntax highlighting

1 Like

Hello @dataprofessor

I apologize for the confusion, you are right, I had been looking at outputs as some terminal commands.

Thank you for your response

1 Like

Hello @blackary
Thank you for the response and thank you for sharing the github repo. You have given an useful tool to explore around

1 Like

Hi @n_forcer

If you’re looking to run command lines from within a Streamlit app, you might want to check out this video that I created showing how to run R from the command line from within a Streamlit app. You can repurpose this to run other commands (via subprocess library using Popen).

Hope this helps!

Best regards,
Chanin

1 Like

There is also pyscript to run python from the browser, if there is no need to run it from the server using subprocess.

pyscript

import streamlit as st
from streamlit_ace import st_ace

"# Running `pyscript`"

"## Input"

code = st_ace(
    value="""print("Hello!")""",
    language='python', 
    theme='tomorrow_night',
    tab_size= 4,
    font_size=16, height=200
)

"*****"
"## Output"

html = f"""
<html>
  <head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>
  <body>
    <py-script>{code}</py-script>
  </body>
</html>
"""

st.components.v1.html(html, height=200, scrolling=True)

4 Likes

Hello everyone,
a quick question can i print the outputs, inside a console looking ui inside the streamlit web app

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.