[Share your feedback] Help us improve Community Cloud 💉

Hey Community :wave:

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.

Thank you in advance! :blush:

TC

6 Likes

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).

2 Likes

Streamlit is continuously improving day by day. They do every possible thing for us to make our lives easy with Streamlit.

Thank you!

2 Likes

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:

  1. 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.

  2. 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…)

  3. 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.

  4. It’s impossible to make a scc url that has “staging” in it, which I wanted to do, because I wanted a staging environment.

  5. It’s impossible to deploy from multiple branches on the github repo, which I wanted to do (see “staging” comment above)

  6. 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 :grimacing:

1 Like
  1. 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.

  2. 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.

  3. 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.

  4. 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?

3 Likes
  • 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.

  • PyPI caching: related to recommendation 4 from @DarkCSS, take a look at GitHub - astral-sh/uv: An extremely fast Python package installer and resolver, written in Rust., as an alternative to deal with repeatedly creating virtual environments.

  • 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?

2 Likes
  1. 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.
  2. As mentioned by Wyatt, I would also love a staging link.
  3. As mentioned by edsaac, a small CLI would be wonderful. I use (aider)[GitHub - paul-gauthier/aider: aider is AI pair programming in your terminal] and I was wondering how amazing it would be to, maybe, have something like that which can also notify you and do stuff.

Lastly, I must praise you guys, you’re doing great!

1 Like