Streamlit event loop

Viewed 39

This is my first time using Streamlit. I am trying to put my python scripts into an interactive GUI.

import streamlit as st 
import pandas as pd 
import plotly.express as px 
import datetime
from terra_sdk.client.lcd import LCDClient

date = datetime.datetime.now()
today = date.strftime("%B_%d_%Y")
st.set_page_config(page_title="Terra Luna Balance Updater",
                   page_icon=":bar_chart",
                   layout="wide"
)


uploaded_file = st.file_uploader('Upload your text/csv file here')

if uploaded_file:
    st.header('Terra Luna Statistics')
    df = pd.read_csv(uploaded_file)
    st.table(df)

I tested this using a normal python script and it runs perfectly.

def main():
    terra = LCDClient(url="https://lcd.terra.dev", chain_id="columbus-5")
    Wallet_Address=(df.loc[:,'Address'])
    Balance_storage = []

    for address in Wallet_Address:
        balance_array = terra.bank.balance(address)
        balance = balance_array[1]['total']
        Balance_storage.append(balance)

        df[today] = Balance_storage
        
        df.to_csv(uploaded_file, index=False)
        
if st.button('Click me'): 
    main()

After clicking the button I am getting an error:

There is no current event loop in thread 'ScriptRunner.scriptThread'. In get_event_loop raise RuntimeError('There is no current event loop in thread %r.'

1 Answers
Related