Accessing rendered HTML output

I have an application - it allows my users to set some inputs, and then loads some data, performs an analysis, and finally renders a page of output.

I’d like to be able to get hold of the rendered output and provide the users with an option to email the content to themselves.

Is there any way to get access to the rendered HTML from my Streamlit app for inclusion in an email? I’ve had a look through the documentation, and the closest I’ve come is the option to ‘Record a screencast’ in the hamburger menu.

Hi @ChrisCooper , as you are process your onscreen display of the output in Streamlit, you will, in parallel, need to create and update an html string variable that will contain all the elements of your output.

Eg. For the screen, the header of your report might just be a simple st.write or st.title…, but for the html string variable, you will append all the html tags along with their cosmetic attributes for it to similarly show in your email output. In other words, your html string will need to be an html equivalent of your onscreen output, created with html tags.

Once you have your final html string, you can test how it looks by using st.markdown. Thereafter, you can give an option for the user to provide an email address and direct the output to email. Email libraries have the html body text option.