Unrecognised dataset error - Streamlit App

I have deployed the application for plotting sine wave continuosly. I have used altair chart for plotting the data. While accessing the application from more than one devices/users the application throws an unrecognised dataset error.
The app link https://santhosh-graceson-appdevelopment-st1-kuox86.streamlit.app/
Please find the code attached below

import streamlit as st
import pandas as pd
from datetime import datetime, timedelta
import altair as alt
import time as t
import math
st.title(“Testing”)
df_Tidal_Volume = pd.DataFrame(columns=[“time”,“Tidal_Volume”])
chart_Tidal_Volume = st.empty()
start_time = datetime.now()
while True:
try:
data = [5math.sin(math.radians(0)),5math.sin(math.radians(9)),5math.sin(math.radians(13.5)),5math.sin(math.radians(18)),5math.sin(math.radians(22.5)),5math.sin(math.radians(27)),5math.sin(math.radians(31.5)),5math.sin(math.radians(36)),5math.sin(math.radians(40.5)),5math.sin(math.radians(45))]
data1 = [5math.sin(math.radians(49.5)),5math.sin(math.radians(54)),5math.sin(math.radians(58.5)),5math.sin(math.radians(63)),5math.sin(math.radians(67.5)),5math.sin(math.radians(72)),5math.sin(math.radians(76.5)),5math.sin(math.radians(81)),5math.sin(math.radians(85.5)),5math.sin(math.radians(90))]
data2=[5math.sin(math.radians(94.5)),5math.sin(math.radians(99)),5math.sin(math.radians(103.5)),5math.sin(math.radians(108)),5math.sin(math.radians(112.5)),5math.sin(math.radians(117)),5math.sin(math.radians(121.5)),5math.sin(math.radians(126)),5math.sin(math.radians(130.5)),5math.sin(math.radians(135))]
data3=[5math.sin(math.radians(139.5)),5math.sin(math.radians(144)),5math.sin(math.radians(148.5)),5math.sin(math.radians(153)),5math.sin(math.radians(157.5)),5math.sin(math.radians(162)),5math.sin(math.radians(166.5)),5math.sin(math.radians(171)),5math.sin(math.radians(175.5)),5math.sin(math.radians(180))]
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[0]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(dfCode_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[1]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
b=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[2]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
c=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[3]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[4]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[5]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not plotted”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[6]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[7]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[8]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data[9]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[0]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[1]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[2]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[3]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[4]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[5]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[6]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))
print(“Plot Success”)
else:
print(“Data not received”)
t.sleep(0.03)
time = datetime.now()
df_Tidal_Volume = df_Tidal_Volume.append({“time”: time, “Tidal_Volume”: data1[7]}, ignore_index=True)
latest_time = time - start_time
if latest_time >= timedelta(milliseconds=50):
a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x=‘time’,y=alt.Y(‘Tidal_Volume’, scale=alt.Scale(domain=[0,6]))))

        print("Plot Success")
    else:
        print("Data not received")
    t.sleep(0.03)
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data1[8]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    t.sleep(0.03)
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data1[9]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[0]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[1]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[2]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[3]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[4]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[5]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[6]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[7]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[8]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data2[9]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[0]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[1]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[2]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[3]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[4]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[5]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[6]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[7]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[8]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    time = datetime.now()
    df_Tidal_Volume = df_Tidal_Volume.append({"time": time, "Tidal_Volume": data3[9]}, ignore_index=True)
    latest_time = time - start_time
    if latest_time >= timedelta(milliseconds=50):
        a=chart_Tidal_Volume.altair_chart(alt.Chart(df_Tidal_Volume.tail(200)).mark_line().encode(x='time',y=alt.Y('Tidal_Volume', scale=alt.Scale(domain=[0,6]))))
        print("Plot Success")
    else:
        print("Data not received")
    t.sleep(1)
    start_time = time
except:
    st.write("No data to plot")
    break

Question re-posted with better format here:"Unrecognised Dataset" error occurs in altair chart for multiuser