import streamlit as st import pexpect import time # Initialize a list of messages # Initialization if 'messages' not in st.session_state: st.session_state['messages'] = [] if 'child' not in st.session_state: st.session_state['child'] = pexpect.spawn("python danse_macabre.py", encoding='utf-8', timeout=None) child = st.session_state['child'] # creating a single-element container placeholder = st.empty() while True: time.sleep(1) with placeholder.container(): # Display the list of messages for msg in st.session_state['messages']: st.write(msg) st.session_state['messages'].append("Tick.") line = None try : line = child.read_nonblocking(size=1000, timeout=0) except: pass if line is not None: st.session_state['messages'].append(line) if ">>>>>" in st.session_state['messages'][-1]: user_input = st.text_input("Enter your message here:") if user_input : st.session_state['messages'].append(user_input) child.sendline(user_input) # # last_line = child.readline() # # st.session_state['messages'].append(last_line) # # # Display the list of messages # for msg in st.session_state['messages']: # st.write(msg) # # if ">>>>>" in last_line: # # Create a text input field for users to enter their messages # user_input = st.text_input("Enter your message here:") # # # Add user's message to the list when the submit button is clicked # if user_input: # st.session_state['messages'].append(user_input) # child.sendline(user_input) """ import pexpect import time # Start the other program child = pexpect.spawn("python DO_NOT_COMMIT.py", encoding='utf-8', timeout=None) while True: time.sleep(1) line = None try : line = child.read_nonblocking(size=1000, timeout=0) except: pass if line is not None: print(repr(line)) #if ">>>>>" in line: child.sendline(input(">>>>>")) """