I missed four toid releases since 1.23 and we got so many crazy new features that are not chat but geni related it it would be a shame to not talk about them do you want to know everything about this small group of penguins whether you are using plotly Alti or vegal light child user selections are now sent back into python variables when unselect is enabled access the selected data from the points key or filter the input data set by the points indices list speaking of pengu data frames user selections are also available on streamly data
frames select the rows and Columns of adly penguins you are interested in then analyze the subset of the data returned by the function call judging by the G up issue reacting to zooming and panning on charts and Maps is planned as well as image selections and click events so stay tuned by subscribing to this channel now if you run a function in which you can select a penguin on a plotly map to update a data frame display the whole streamlet app will rerun from top to bottom for any user selection even if you only wanted
the data frame to update fear not the new fragment decorator breaks the rerun for you decorate the function with st experimental fragments and now any user interaction from inside the function will only rerun that function this is Loop breaking you can compose smaller streamid apps as function fragments stack them one by one in a script then let them communicate through session state do you know of a streamlet window where any interaction would update the form without rerunning the full app until you press a submit button this sounds like a fragment embedded in a dialogue window
widget decorate a function with st experimental dialogue and the fragment will display inside a dialogue window with any user interaction on only rerunning the window only a St rerun call could rerun the whole app and hide this dialog window I'm in an adly penguin mood I mean I mean look at them they're so cute also why is that video 4 hours long well this is because you can now autop play a movie with st video and the new Loop argument makes you watch that video of a penguin forever if your app doesn't have enough Penguins
you can add a pengin logo to the top left of your app using the St logo method no more CSS shenan guns from streamid extras to push a logo over the multipage navigation menu and you know what there has been many changes around multipage navigation remember to implement your own navigation menu you had to switch off automatic navigation then display a set of HD page link to display links to other Pages oh here's a random fact about page link by the way you can embed any Google material icon through the icon argument by prefixing the
name of the icon with material in fact this feature is present in any function that supports the icon argument anyway with streamlet 1.36 streamate provides an integrated way to list pages instead of looping on a set of page links bua St page which defines the label icon and URL routs for each sub page you want to show pass either a python colable function or the path to a streamlet script then call your list of pages into St navigation in your main file entry points to display the page menu in the sidebar your main file entry
point now acts as a router where widgets and variables defined inside it are distributed across all pages and you can compute shared State between choosing a page and presenting it this navigation menu is d damic you can add or remove pages at each rerun depending on for example the user login status link for a tutorial in the description below and by the way streamlit product management is currently designing native authentication support for streamlit you should definitely add any thoughts you have around reading headers writing cookies link redirects and custom HTTP endpoints to this GitHub conversation
oh I wasn't done with the navigation menu if you pass a dictionary of keys to list of pages your navigation menu gets subgroupings with each key becoming a header section with the list of pages out of the dictionary value if you were relying on query parameters to pass information between Pages you don't have to edit each parameter through keyn notation anymore as the new query params form dick Tes a dictionary as input to overwrite all of those query parameters between composing fragments m page routing and query parameters at this point you're building a mediumsized web
app I might as well embed some HTML in there like my email list signup form it's just a big external HTML file then embedded into streamlet with the new St HTML which accepts both a string and a path to a file St HTML doesn't embed the content in an KN frame it is directly integrated into streamate HTML if you are into CSS hacking it has never been easier to hack streamed CSS with st HTML go watch my last video about EXO dashboarding for a big demo of CSS manipulation wait I think you don't need HTML
anymore to change the font or background color of text write your text inside a markdown widget then surround the word or sentence with brackets prefixed by a color or color background to style your text not only that it also works on any text label like button label labels checkbox label tab labels or expand the labels to name a few using columns in your app for horizontal layouts use the new vertical alignment argument to Center widget or align them from their bottom edges I had a few quals with misaligned Widget in my stream is limited video
but with this new vertical alignment and the minan height property of widget being normalized rows of stream widgets are now pretty to watch no adult penguins are calling me hello from if you use bar charts line charts AA chart or scatter chart you're now able to edit the X and Y AIS in your streamate Cod bar chart now accepts a horizontal argument to rotate 90° just like penguin sliding on the ice look at you if you're writing a streid custom component to integrate a JavaScript charting Library like Chad CN UI you can let the user
pass and unchange called back natively which gets called whenever the component sends back a value from a user interaction if you have a long running Stream app with a large cache you usually empty it regularly with a time to leave or maximum entries argument now you can clear a specific function scash programmatically by calling the clear method on this function this clearing accepts argument and keyword so you can even clear a very specific set of function calls am it's all of those news a few platforms to deploy stream on made their appearance on my feeds
replate has a new guide to deploy a stream chatbot on their platform sight streamed serverless platform from uho upgraded its internal streamed version to 1.36 and P Cafe is the latest creation from the Solara team it's a serverless platform to edit run and share in browser python web apps in dash Solara or streamlet basically site or gradul light but multiplatform they are currently running a poll to decide which of shiny for python gradio or panel to integrate next I will definitely keep an eye on this project speaking of PS there is a gigantic streid ecosystem
swing on the horizon so head to the poll and vote with your heart for streamy Max stream face what the and if you missed any previous releases head to those next videos I'll see you around bye