Hello Streamlit Community!
I just released this geospatial weather application that can provide a weather report at each station .
When looking at the application on streamlit launched locally, there is only one error that shows initially if an object is not clicked. This is the error:
TypeError: ‘NoneType’ object is not subscriptable
This error goes away after selecting an object, but I believe the issue stems from the Limit Data Return on streamlit-folium,
streamlit-folium documentation: Limit Data Return · Streamlit
Any feedback would be much appreciated.
Requirements file
Links
Hi @theeliad, welcome to the forum!

Here’s the entire traceback when running the app locally:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 565, in _run_script
exec(code, module.__dict__)
File "/Users/adsdsa/Downloads/streamlit-misc/Geospatial_Weather_App/main.py", line 115, in <module>
app()
File "/Users/adsdsa/Downloads/streamlit-misc/Geospatial_Weather_App/main.py", line 110, in app
detailed_forecast_df = get_forecast_periods_df(output)
File "/Users/adsdsa/Downloads/streamlit-misc/Geospatial_Weather_App/get_forecast.py", line 20, in get_forecast_periods_df
latlon_pointdata = api_connector.get_point(output['last_object_clicked']['lat'],
TypeError: 'NoneType' object is not subscriptable
From the traceback, it’s clear that output['last_object_clicked']
is a NoneType object. You have to account for the condition when no object has been clicked yet.
The simplest solution would be to execute get_forecast_periods_df(output)
if output["last_object_clicked"] is not None
. Perhaps here:
with row1_col2:
st.write(output)
with st.expander("Click here to expand and view weather forecast"):
if output["last_object_clicked"] is not None:
detailed_forecast_df = get_forecast_periods_df(output)
st.dataframe(detailed_forecast_df)
Thank you so much for assisting me with fixing NoneType error.