Hi Streamlitters! ![]()
About a year ago I shared StSteroids, a small framework I built to make larger Streamlit apps easier to maintain and develop in teams. Since then I’ve been using it extensively in real projects and recently released a new version with some major improvements.
Go check it out! @pypi
For those who didn’t see the original post:
StSteroids is a lightweight framework that adds structure on top of Streamlit for building larger applications.
The main ideas are:
-
Reusable components – encapsulate UI and logic -
Layouts – define how components are rendered on a page -
Routing – simple navigation between pages -
Flows – event-driven logic for handling interactions -
Separation of concerns – keep UI, logic, and navigation cleanly separated
What’s new in the latest version
This release contains a partial rewrite of the framework focused on simplicity, better developer ergonomics, and improved routing capabilities.
Some of the key improvements:
-
Reduced framework footprint – the internal architecture has been simplified to make the framework lighter and easier to work with. -
More intuitive object creation – components and framework objects are now easier to instantiate and reason about. -
Better editor and debugger support – improved typing and structure make development smoother when working with IDEs and debuggers. -
Enhanced router system – the router now supports conditional routes directly in the framework, giving much more control over navigation and layout rendering. -
New component types – Fragment and Dialog replace the previous render_as parameter. -
New scheduling feature – flows can now schedule a run after the first rerun, which helps when updating component state before executing longer actions.