Troubleshooting

Sorry to hear you're having issues! Please take a look at some frequently asked questions and issues below. If you cannot find an answer to your issue, please post on the Streamlit forum or contact your support representative.

  1. General help
  2. Deploying apps
  3. Sharing and accessing apps
  4. Data and app security
  5. Billing and administration
  6. GitHub integration
  7. Limitations and known issues

If you have any questions, feedback, run into any issues, or need to reach us, you can

  • Ask on the forum ⬅️ this is best for any question related to the open source library
  • Email us at support@streamlit.io ⬅️ this is best for anything related to the app platform - deployment, SSO, etc.

If you want, we are also happy to help lend an eye on your app development. Just shoot us a note if you want to share some code or have our team take a look at your app and give you some tips.

It's possible it just isn't showing up even though it is already there. Try typing it in. If we don't recognize it, you'll see the message below with a link to click and give access.

Troubleshooting deploy page

If for some reason that doesn't work, please try logging out and back in again to make sure the change took effect. And if that doesn't work - please let us know and we'll get you sorted!

To deploy an app for the first time you must have admin-level access to the repo in GitHub. Please check with your administrator to make sure you have that access. If not, please ask them to deploy for the first time (we need this in order to establish webhooks for continuous integration) and from there you can then push updates to the app.

When deploying an app, under advanced settings, you can choose which version of Python you wish your app to use.

Streamlit Cloud Advanced settings

If you want to store your data locally as opposed to in a database, you can store the file in your GitHub repository. Streamlit is just python, so you can read the file using:

pandas.read_csv("data.csv") or open("data.csv")

star

Tip

If you have really big or binary data that you change frequently, and git is feeling slow, you might want to check out Git Large File Store (LFS) as a better way to store large files in GitHub. You don't need to make any changes to your app to start using it. If your GitHub repo uses LFS, it will now just work with Streamlit.

Check your Cloud logs by clicking on the "Manage app" expander in the bottom right corner of your screen. Often the trouble is due to a dependency not being declared. See here for more information on dependency management.

If that's not the issue, then please send your Streamlit contact the logs and warning you are seeing and we'll help get you sorted!

If your app is running slowly or you're hitting the 'Argh' page then just let us know and we can work to help you adjust the limits. We may need to upgrade your workspace to give you access to a higher level of resources. If you know in advance you are going to need more resources, also just let us know so we can set them up for you before you run into issues. Click here to learn more about resource limits.

We are working on this in Q4 of 2021. Check back soon for more information!

Don't have SSO? No problem! You can sign in to Streamlit with your email address. Click here for step-by-step instructions on how to sign in with email.

If you are on the same GitHub repo then you will automatically be added to the same workspace. Just invite them to log in to share.streamlit.io and we will automatically route them to your workspace once they hook in their GitHub account.

By default, all apps deployed with Streamlit Cloud Teams and Enterprise are private—which means that others in your company won't be able to view them unless you give them explicit permission. To add viewers, configure single sign-on with your organization's SSO provider.

If you cannot implement single sign-on, but want to secure your Streamlit app with passwords, read our guide on authentication without SSO. Note: while this technique adds some level of security, it is NOT comparable to proper authentication with an SSO provider.

Nope! You only need access to the GitHub repo if you want to push changes to the app.

A 404 error is displayed to unauthorized viewers to avoid providing any unnecessary information about your app to unintended viewers. Users who satisfy any of the following conditions will see a 404 error when attempting to view your app after you have configured viewer auth:

  • User is not logged in with Google SSO.
  • User is not included in the list of viewers provided in Step 3.
  • User is enrolled in Streamlit for Teams beta but lacks read access to your app's GitHub repo.
  • User has read access to your app's GitHub repo but is not enrolled in Streamlit for Teams beta.
Four Oh Four

If a user is still seeing a 404 error after their email address has been added to the viewer list, we recommend that you:

  • Check that the user did not log into a different Google account via Single Sign-On (if you have added their work email address to the viewer list, ask the user to check that they are not logged into their personal Google account, and vice versa).
  • Check that the user has navigated to the correct URL.
  • Check that the user's email address has been entered correctly in the viewer list.
  • Contact support@streamlit.io and we will be happy to help.

Streamlit takes a number of industry best-practice measures to ensure your code, data, and apps are all secure. Read more in our Trust and Security memo.

If you use Google for authentication, you're all set. Otherwise please refer to our SSO configuration guides on how to set up with your SSO provider of choice.

Your workspace is sized to a certain number of users, apps, and resources for those apps. We'll let you know if you're close to your limit and will reach out to discuss if you'd like to move to a larger workspace.

Click on "Settings" in the top right corner of your workspace to open the "Workspace settings" menu. Next, click the "Billing and plans" tab to set up billing in Stripe.

The Starter plan is free forever, but if you have opted for a Teams account then you will have a 14 day free trial for your workspace.

When your trial is near completion, you will receive automated emails reminding you to set up your billing information (if you haven't already) to continue on your Teams plan. To avoid disruption, we recommend that you set up billing well before your trial ends. Once you have set up your billing information, we will only start charging you once your trial ends. Stripe will automatically bill your account every month and send you a confirmation email.

If you choose not to set up billing, you will be downgraded to the Starter plan after your trial ends.

In order to deploy your app, Streamlit requires access to your app's source code in GitHub and also the ability to manage the public keys associated with the repositories. The default GitHub OAuth scopes are sufficient to work with apps in public Github repositories. However, in order to work with apps in private Github repositories, Streamlit requires the additional repo OAuth scope from Github. We recognize that this scope provides Streamlit with extra permissions that we do not really need, and which, as people who prize security, we'd rather not even be granted. Alas, we need to work with the APIs we are provided by Github.

This is the expected behavior. When you try to deploy an app that lives in a private repo, Streamlit Cloud needs to get access to that repo somehow. For this, we create a read-only GitHub Deploy Key then access your repo using a public SSH key. When we set this up, GitHub notifies admins of the repo that the key was created as a security measure.

Here are some limitations and known issues that we're actively working to resolve. If you find an issue please let us know!

  • When you print something to the Cloud logs, you may need to do a sys.stdout.flush() before it shows up.

  • Apps execute in a Linux environment running Debian Buster (slim) with Python 3.7. There is no way to change these, and we may upgrade the environment at any point. If we do upgrade it, we will usually not touch existing apps, so they'll continue to work as expected. But if there's a critical fix in the update, we may force-upgrade all apps.

  • Matplotlib doesn't work well with threads. So if you're using Matplotlib you should wrap your code with locks as shown in the snippet below. This Matplotlib bug is more prominent when you share your app apps since you're more likely to get more concurrent users then.

    from matplotlib.backends.backend_agg import RendererAgg
    _lock = RendererAgg.lock
    
    with _lock:
      fig.title('This is a figure)')
      fig.plot([1,20,3,40])
      st.pyplot(fig)
    
  • All apps are hosted in the United States. This is currently not configurable.

Was this page helpful?

editSuggest edits
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.