Python 3.13 support

I just tried Streamlit version 1.39.0 with Python 3.13, and the Plotting and Dataframe demos give an error:

TypeError: _TypedDictMeta.new() got an unexpected keyword argument ‘closed’

Is this expected insofar as the current streamlit version does not support 3.13? Is there a timeline for supporting 3.13?

Thanks,
Vidur

Hey! We’re not supporting Python 3.13 right now since we’re waiting on pyarrow to support it. It’s merged on their side but we still need to wait for the next release. As soon as that’s done, we’ll work on supporting it in Streamlit (which should be pretty quick).

1 Like

Looks like it has been completed: [Python][Packaging] Support Python 3.13 and upload wheels · Issue #43519 · apache/arrow · GitHub and released in version 18 ( Apache Arrow 18.0.0 Release | Apache Arrow ). Is there any ETA on releasing a new version that will support 3.13? Thanks!

I have been using streamlit with python 3.13 for some time now. As far as I can tell everything works as expected except altair plots, which is an altair issue and should be fixed in the next altair release.

On 3.13, the demo for Dataframes and Plotting are broken when running ‘streamlit hello’ were some of the specific things at first glance that did not work correctly. Does Altair also affect the dataframe demo?

I cannot test right now, but I think the traceback should have an answer to that question.

Yes, the issue is Altair, feel free to follow along on this PR: [WIP] Add Python 3.13 as max version and set 3.9 as min by raethlein · Pull Request #9635 · streamlit/streamlit · GitHub