Version 0.85.0

Release date: Jul 22, 2021

Highlights

  • Streamlit now uses Apache Arrow for serializing data frames when they are sent from Streamlit server to the front end. See our blog post.
    • (Users who wish to continue using the legacy data frame serialization can do so by setting the dataFrameSerialization config option to "legacy" in their config.toml)

Other Changes

  • Bug fixes: Unresponsive pydeck example (#3395), JSON parse error message (#2324), Tooltips rendering (#3300), Colorpicker not working on Streamlit Sharing (#2689)
7 Likes

Awesome bugfixes again! :partying_face:

1 Like

Thanks so much - very glad I can now use the official session_state API with the streamlit-aggrid component!

An observation: when I associate widgets (e.g. radio, selectbox, multiselect) with session_state by adding a key, the user input is preserved but this is not reflected visually. I notice this in my multi-page app: if I navigate away from a ā€˜pageā€™ containing the above widgets, and then return to it, the pre-selected input is not shown in the widget. It would be ideal if the session-state values are automatically saved as the "preselected option on first renderā€™ for these widgets.

Was this a conscious design choice? Currently I work around this limitation by initialising the variables in session state upfront, and calling them as the index or default parameter of these widgets, but I think it would be more elegant if I could use the key functionality :slight_smile:

2 Likes

Hi @kmcgrady

This sounds awesome. Iā€™m wondering exactly where the speed improvements will be felt. It seems obvious that this would impact st.write(df) and st.dataframe(df). Will it also impact the speed elsewhere?

Best,
Peter

1 Like

Hey @PeterT

Thanks for reaching out. Yes. Itā€™s pretty much the way we send data from the server to the frontend. So this would benefit any of the components that send that. st.table would likely benefit from thisā€¦perhaps some of the charting.

What is Apache Arrow, How it Works & More| Streamlit explains the benefits. It has speed benefits, but it also has a benefit of being able to send more data down from my experience, likely due to a more compressed set of data.

Thanks Ken :slight_smile:

I will upgrade in the relatively near future and hopefully notice some improvements. If it kicks in for some of my charting as well it would be awesome!