Hi, this is a great high-level roadmap and thanks for sharing it publicly.
We’ve been building our commercial app using Streamlit for the past several months. It has been great for productivity. Streamlit excels at making it dead easy to spit out nicely formatted data on the screen. This is huge.
But there are two areas that are pretty major gaps if Streamlit intends to graduate from a prototyping / internal tooling framework to one where commercial applications are developed (is the latter even a goal?)
Control over full page layout - Creating a nice UX around page content is very hard and frustrating (as you know, controlling page layout, sidebar, header bar, navigation etc. has no first-class support). Visual customization ++ and Custom components v2 themes on your roadmap capture this it seems. However, I feel it hasn’t been prioritised enough when looking at the quarter-level plans. Maybe you are working on it right now but only materialising middle of next year, which is fair enough. I can understand this is likely a pretty major change.
Low-level server API - provide access to read/write HTTP headers, lifecycle hooks, middleware. The most significant use case we’ve struggled with is authN/Z. persisting an auth token / JWT across sessions can only be done it seems using cookies rather than a standard authorization
header (if we’ve missed a trick please tell us). How can one instrument an app with observability tracing tools? Setting up REST endpoint using frameworks isn’t possible. Looking at the architecture it seems like most if not all of this can be enabled by exposing the web server instance maybe with a few lifecycle hooks.
Overall it would be great if you all took a layered approach and gave access to the lower layers as an escape hatch.
Thanks