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.'