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!