Iām TC, the PM for Streamlit Community Cloud. Iād love to hear your thoughts on improvements youād like us to prioritize as we build out our upcoming roadmap.
Specificallyā¦ā¦
What pain points are you having?
What new features would you like to see?
Any other feedback or thoughts?
Please share your thoughts in the comments below ā and Iāll join the conversation with you.
Is there a way to send an email or create some centralized notification location if a deployed app hits an error or goes down?
For my app, sometimes users enter info that hits an error and I just rely on them to let me know what they entered so I can troubleshoot (if they even tell me they ran into the error).
First of all, Iād like to compliment you on Streamlit Community Cloud. The user experience is, on the whole, great, and itās been very useful to me! However, since you asked, here is every āpain pointā Iāve experienced, in my personal priority order:
Resource limits: due to my particular use case, Iām semi-often hitting the 1 GiB RAM limit and my app is crashing. I would love to be able to pay you some money to raise this limit! But there doesnāt seem to be a way.
Itās difficult to get google account sign-in and st-copy-to-clipboard to work in streamlit. Although this issue is important to me, because I want those features, Iām not really sure why this is. It seems to be some combination of streamlit running in a iframe; streamlit rerunning several times when the page reloads, for no reason; adding custom html (streamlit.components.v1.html) resulting in a large empty block on the page if youāre just inserting some javascript (which should theoretically take up no space on the page; and for security reasons the browser doesnāt let websites load up your clipboard without first interacting with something (although maybe I can fix this using experimental_fragment now, or formsā¦)
When using github deployments, usually pushing to github updates the scc app, but sometimes the scc app does not refresh, and I have to manually reboot the app.
Itās impossible to make a scc url that has āstagingā in it, which I wanted to do, because I wanted a staging environment.
Itās impossible to deploy from multiple branches on the github repo, which I wanted to do (see āstagingā comment above)
There seems to be a bug where scc reruns my project code every 5 minutes, which in the past has kept some of the endpoints I talk to alive by mistake, quite expensively
Having to delete the app to upgrade Python version. I needed to upgrade my app on community cloud from Python 3.9 to Python 3.11 and I found the only way of doing it was to delete the Python 3.9 app and later creating a new app with Python 3.11 in the same Streamlit Cloud subdomain, instead of just updating the existing app.
Deleting an app makes the community cloud URL buggy for a while. When I deleted my app to upgrade the Python version, if I create an app in the same subdomain, say, 5 minutes later, the app will be stuck in the ācreating appā page, and I have to wait about 1 to 2 hours to create an app on that same subdomain without problems.
GitHub commits with new Streamlit versions donāt upgrade the app in the cloud unless the app is rebooted manually. This is one of my major pain points with Streamlit Cloud. Iāll have to go and reboot the app manually if I want the latest version of Streamlit to be used in the cloud, even if I commited a requirements.txt with a newer version of Streamlit.
Streamlit Cloud could perhaps try to cache pypi packages from older versions of the Streamlit app. It seems everytime I reboot my Streamlit app it tries to download all pypi packages again, even those that were already present in older versions of the app. If there was a way to cache packages between reboots perhaps the reboots would be way faster?
A small CLI: it would be great to have more control over the terminal to configure stuff needed to run an app that is not covered by just installing requirements.txt and packages.txt. For example, wget some model file or run a separate parallel Python process. Not that any of this cannot be done from the Streamlit app script, but it would be simpler to do it directly in a terminal. Another option would be to have a pre-configure.sh where users could put additional configurations before the app launches.
Documentation: The user guides and how-to instructions are super clear and very useful. However, the service lacks some technical documentation. For example, I have also seen what @Wyatt_Carpenter pointed out in #6; is that the way the server determines if the app is still alive? Or is it really a bug?
is there a way for a dynamic display of data (live ticker data frame, map, controlled indefinite loop etc.) while the previous display gets removed? For example, a tradingview API data being shown as a data frame in 1-second intervals and only one row is displayed.
As mentioned by Wyatt, I would also love a staging link.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking āAccept allā, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.