diff --git a/content/kb/dependencies/install-package-pypi-github.md b/content/kb/dependencies/install-package-pypi-github.md index 154cd7bb0..fc57f067b 100644 --- a/content/kb/dependencies/install-package-pypi-github.md +++ b/content/kb/dependencies/install-package-pypi-github.md @@ -7,7 +7,7 @@ slug: /knowledge-base/dependencies/install-package-not-pypi-conda-available-gith ## Overview -Are you trying to deploy your app to [Streamlit Community Cloud](/streamlit-community-cloud), but don't know how to specify a [Python dependency](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies#add-python-dependencies) in your requirements file that is available on a public GitHub repo but not any package index like PyPI or Conda? If so, continue reading to find out how! +Are you trying to deploy your app to [Streamlit Community Cloud](/streamlit-community-cloud), but don't know how to specify a [Python dependency](/streamlit-community-cloud/deploy-your-app/app-dependencies#add-python-dependencies) in your requirements file that is available on a public GitHub repo but not any package index like PyPI or Conda? If so, continue reading to find out how! Let's suppose you want to install `SomePackage` and its Python dependencies from GitHub, a hosting service for the popular version control system (VCS) Git. And suppose `SomePackage` is found at the the following URL: `https://github.com/SomePackage.git`. diff --git a/content/kb/dependencies/libgl.md b/content/kb/dependencies/libgl.md index cf1fe31c6..d17879eb5 100644 --- a/content/kb/dependencies/libgl.md +++ b/content/kb/dependencies/libgl.md @@ -15,7 +15,7 @@ If you use OpenCV in your app, include `opencv-python-headless` in your requirem If `opencv-python` is a _required_ (non-optional) dependency of your app or a dependency of a library used in your app, the above solution is not applicable. Instead, you can use the following solution: -Create a `packages.txt` file in your repo with the following line to install the [apt-get dependency](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies#apt-get-dependencies) `libgl`: +Create a `packages.txt` file in your repo with the following line to install the [apt-get dependency](/streamlit-community-cloud/deploy-your-app/app-dependencies#apt-get-dependencies) `libgl`: ``` libgl1 diff --git a/content/kb/dependencies/module-not-found-error.md b/content/kb/dependencies/module-not-found-error.md index 2ac983df7..a39c62245 100644 --- a/content/kb/dependencies/module-not-found-error.md +++ b/content/kb/dependencies/module-not-found-error.md @@ -11,7 +11,7 @@ You receive the error `ModuleNotFoundError: No module named` when you deploy an ## Solution -This error occurs when you import a module on Streamlit Community Cloud that isn’t included in your requirements file. Any external [Python dependencies](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies#add-python-dependencies) that are not distributed with a [standard Python installation](https://docs.python.org/3/py-modindex.html) should be included in your requirements file. +This error occurs when you import a module on Streamlit Community Cloud that isn’t included in your requirements file. Any external [Python dependencies](/streamlit-community-cloud/deploy-your-app/app-dependencies#add-python-dependencies) that are not distributed with a [standard Python installation](https://docs.python.org/3/py-modindex.html) should be included in your requirements file. E.g. You will see `ModuleNotFoundError: No module named 'sklearn'` if you don’t include `scikit-learn` in your requirements file and `import sklearn` in your app. diff --git a/content/kb/dependencies/no-matching-distribution.md b/content/kb/dependencies/no-matching-distribution.md index f7c8b54a6..cc63fcafe 100644 --- a/content/kb/dependencies/no-matching-distribution.md +++ b/content/kb/dependencies/no-matching-distribution.md @@ -11,7 +11,7 @@ You receive the error `ERROR: No matching distribution found for` when you deplo ## Solution -This error occurs when you deploy an app on Streamlit Community Cloud and have one or more of the following issues with your [Python dependencies](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies#add-python-dependencies) in your requirements file: +This error occurs when you deploy an app on Streamlit Community Cloud and have one or more of the following issues with your [Python dependencies](/streamlit-community-cloud/deploy-your-app/app-dependencies#add-python-dependencies) in your requirements file: 1. The package is part of the [Python Standard Library](https://docs.python.org/3/py-modindex.html). E.g. You will see **`ERROR: No matching distribution found for base64`** if you include [`base64`](https://docs.python.org/3/library/base64.html) in your requirements file, as it is part of the Python Standard Library. The solution is to not include the package in your requirements file. Only include packages in your requirements file that are not distributed with a standard Python installation. 2. The package name in your requirements file is misspelled. Double-check the package name before including it in your requirements file. diff --git a/content/kb/dependencies/snowflake-connector-python.md b/content/kb/dependencies/snowflake-connector-python.md index 016894469..1157c63d4 100644 --- a/content/kb/dependencies/snowflake-connector-python.md +++ b/content/kb/dependencies/snowflake-connector-python.md @@ -19,7 +19,7 @@ The Snowflake Connector for Python is available on [PyPI](https://pypi.org/proje 5. On Streamlit Community Cloud, select the appropriate version of Python for your app by clicking "Advanced settings" before you deploy the app:
- +
That's it! You're ready to use the Snowflake Connector for Python on Streamlit Community Cloud. ❄️🎈 diff --git a/content/kb/deployments/authentication-without-sso.md b/content/kb/deployments/authentication-without-sso.md index e84101b21..98bcdcf87 100644 --- a/content/kb/deployments/authentication-without-sso.md +++ b/content/kb/deployments/authentication-without-sso.md @@ -7,7 +7,7 @@ slug: /knowledge-base/deploy/authentication-without-sso ## Introduction -Want to secure your Streamlit app with passwords, but cannot implement single sign-on? We got you covered! This guide shows you two simple techniques for adding basic authentication to your Streamlit app, using [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +Want to secure your Streamlit app with passwords, but cannot implement single sign-on? We got you covered! This guide shows you two simple techniques for adding basic authentication to your Streamlit app, using [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). @@ -17,7 +17,7 @@ While this technique adds some level of security, it is **NOT** comparable to pr ## Option 1: One global password for all users -This is the easiest option! Your app will ask for a password that's shared between all users. It will be stored in the app secrets using [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). If you want to change this password or revoke a user's access, you will need to change it for everyone. If you want to have one password per user instead, jump to [Option 2 below](/knowledge-base/deploy/authentication-without-sso#option-2-individual-password-for-each-user). +This is the easiest option! Your app will ask for a password that's shared between all users. It will be stored in the app secrets using [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). If you want to change this password or revoke a user's access, you will need to change it for everyone. If you want to have one password per user instead, jump to [Option 2 below](/knowledge-base/deploy/authentication-without-sso#option-2-individual-password-for-each-user). ### Step 1: Add the password to your local app secrets @@ -37,7 +37,7 @@ Be sure to add this file to your `.gitignore` so you don't commit your secrets! ### Step 2: Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) @@ -89,7 +89,7 @@ If everything worked out, your app should look like this: ## Option 2: Individual password for each user -This option allows you to set a username and password for each user of your app. Like in [Option 1](#option-1-one-global-password-for-all-users), both values will be stored in the app secrets using [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This option allows you to set a username and password for each user of your app. Like in [Option 1](#option-1-one-global-password-for-all-users), both values will be stored in the app secrets using [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ### Step 1: Add usernames & passwords to your local app secrets @@ -114,7 +114,7 @@ Alternatively, you could set up and manage usernames & passwords via a spreadshe ### Step 2: Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/deployments/custom-subdomains.md b/content/kb/deployments/custom-subdomains.md index 191d12f2e..eaba4983c 100644 --- a/content/kb/deployments/custom-subdomains.md +++ b/content/kb/deployments/custom-subdomains.md @@ -5,7 +5,7 @@ slug: /knowledge-base/deploy/custom-subdomains # Custom subdomains -Once you've [deployed your app](/streamlit-community-cloud/get-started/deploy-an-app) on Community Cloud, it's given an automatically generated subdomain that follows a structure based on your GitHub repo. This subdomain is unique to your app and can be used to share your app with others. However, the default subdomain is not always the most memorable or easy to share. E.g. the following is a bit of a mouthful! +Once you've [deployed your app](/streamlit-community-cloud/deploy-your-app) on Community Cloud, it's given an automatically generated subdomain that follows a structure based on your GitHub repo. This subdomain is unique to your app and can be used to share your app with others. However, the default subdomain is not always the most memorable or easy to share. E.g. the following is a bit of a mouthful! `https://streamlit-demo-self-driving-streamlit-app-8jya0g.streamlit.app` @@ -15,20 +15,20 @@ You can instead set up a custom subdomain to make your app easier to share. You .streamlit.app ``` -To customize your app subdomain from the [dashboard](/streamlit-community-cloud/get-started/manage-your-app#manage-apps-from-your-app-dashboard): +To customize your app subdomain from your [workspace](/streamlit-community-cloud/manage-your-app#manage-your-app-from-your-workspace): 1. Click the "︙" overflow menu to the app's right and select "**Settings**". - ![Custom subdomain settings](/images/streamlit-community-cloud/custom-subdomain-settings.png) + ![App settings](/images/streamlit-community-cloud/workspace-app-settings.png) 2. View the "**General**" tab in the App settings modal. Your app's unique subdomain will appear here. - ![Custom subdomain pick](/images/streamlit-community-cloud/custom-subdomain-pick.png) + ![General app settings](/images/streamlit-community-cloud/workspace-app-settings-general.png) 3. Pick a custom subdomain between 6 and 63 characters in length for your app's URL and hit "**Save**". - ![Custom subdomain save](/images/streamlit-community-cloud/custom-subdomain-save.png) + ![New custom subdomain](/images/streamlit-community-cloud/workspace-app-settings-general-valid-domain.png) It's that simple! You can then access your app by visiting your custom subdomain URL 🎉. If a custom subdomain is not available (e.g. because it's already taken), you'll see an error message like this: -![Custom subdomain error](/images/streamlit-community-cloud/custom-subdomain-error.png) +![Invalid custom subdomain](/images/streamlit-community-cloud/workspace-app-settings-general-invalid-domain.png) diff --git a/content/kb/deployments/huh-this-is-isnt-supposed-to-happen-message-after-trying-to-log-in.md b/content/kb/deployments/huh-this-is-isnt-supposed-to-happen-message-after-trying-to-log-in.md index 41c6602a3..441883b1e 100644 --- a/content/kb/deployments/huh-this-is-isnt-supposed-to-happen-message-after-trying-to-log-in.md +++ b/content/kb/deployments/huh-this-is-isnt-supposed-to-happen-message-after-trying-to-log-in.md @@ -20,5 +20,5 @@ This message usually indicates that our system has linked your GitHub username w No worries – all you have to do is: 1. Log out of Streamlit Community Cloud completely (via both your email and GitHub accounts). -2. Log in first with your email account (you can do so via either ["Continue with Google"](/streamlit-community-cloud/get-started#sign-in-with-google) or ["Continue with email"](/knowledge-base/deploy/sign-in-without-sso)). -3. Log in with your [GitHub account](/streamlit-community-cloud/get-started#sign-in-with-email). +2. Log in first with your email account (you can do so via either ["Continue with Google"](/streamlit-community-cloud/manage-your-account/sign-in-sign-out#sign-in-with-google) or ["Continue with email"](/knowledge-base/deploy/sign-in-without-sso)). +3. Log in with your [GitHub account](/streamlit-community-cloud/manage-your-account/sign-in-sign-out#sign-in-with-email). diff --git a/content/kb/deployments/index.md b/content/kb/deployments/index.md index ba8454f58..dbd70d589 100644 --- a/content/kb/deployments/index.md +++ b/content/kb/deployments/index.md @@ -14,7 +14,6 @@ slug: /knowledge-base/deploy - [App is not loading when running remotely](/knowledge-base/deploy/remote-start) - [Authentication without SSO](/knowledge-base/deploy/authentication-without-sso) - [I don't have GitHub or GSuite. How do I sign in to Streamlit Community Cloud?](/knowledge-base/deploy/sign-in-without-sso) -- [How do I share apps with viewers outside my organization?](/knowledge-base/deploy/share-apps-with-viewers-outside-organization) - [Upgrade the Streamlit version of your app on Streamlit Community Cloud](/knowledge-base/deploy/upgrade-streamlit-version-on-streamlit-cloud) - [Organizing your apps with workspaces on Streamlit Community Cloud](/knowledge-base/deploy/organizing-apps-workspaces-streamlit-cloud) - [How do I increase the upload limit of `st.file_uploader` on Streamlit Community Cloud?](/knowledge-base/deploy/increase-file-uploader-limit-streamlit-cloud) diff --git a/content/kb/deployments/invoking-python-subprocess-deployed-streamlit-app.md b/content/kb/deployments/invoking-python-subprocess-deployed-streamlit-app.md index 4991f5750..68c6773ee 100644 --- a/content/kb/deployments/invoking-python-subprocess-deployed-streamlit-app.md +++ b/content/kb/deployments/invoking-python-subprocess-deployed-streamlit-app.md @@ -34,7 +34,7 @@ import sys subprocess.run([f"{sys.executable}", "script.py"]) ``` -This ensures that `script.py` is running under the same Python executable as your Streamlit code—where your [Python dependencies](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies#add-python-dependencies) are installed. +This ensures that `script.py` is running under the same Python executable as your Streamlit code—where your [Python dependencies](/streamlit-community-cloud/deploy-your-app/app-dependencies#add-python-dependencies) are installed. ### Relevant links diff --git a/content/kb/deployments/resource-limits.md b/content/kb/deployments/resource-limits.md index 1ec3464c0..7e44a925e 100644 --- a/content/kb/deployments/resource-limits.md +++ b/content/kb/deployments/resource-limits.md @@ -5,7 +5,7 @@ slug: /knowledge-base/deploy/resource-limits # Argh. This app has gone over its resource limits -Sorry! It means you've hit the [resource limits](/streamlit-community-cloud/get-started/manage-your-app#app-resources-and-limits) of your [Streamlit Community Cloud](https://streamlit.io/cloud) account. +Sorry! It means you've hit the [resource limits](/streamlit-community-cloud/manage-your-app#app-resources-and-limits) of your [Streamlit Community Cloud](https://streamlit.io/cloud) account. @@ -17,7 +17,7 @@ There are a few things you can change in your app to make it less resource-hungr - Move big datasets to a database - Profile your app's memory usage -Check out our [blog post](https://blog.streamlit.io/common-app-problems-resource-limits/) on [“Common app problems: Resource limits"](https://blog.streamlit.io/common-app-problems-resource-limits/) for more in-depth tips prevent your app from hitting the [resource limits](/streamlit-community-cloud/get-started/manage-your-app#app-resources-and-limits) of the Streamlit Community Cloud. +Check out our [blog post](https://blog.streamlit.io/common-app-problems-resource-limits/) on [“Common app problems: Resource limits"](https://blog.streamlit.io/common-app-problems-resource-limits/) for more in-depth tips prevent your app from hitting the [resource limits](/streamlit-community-cloud/manage-your-app#app-resources-and-limits) of the Streamlit Community Cloud. Related forum posts: diff --git a/content/kb/deployments/share-apps-with-viewers-outside-organization.md b/content/kb/deployments/share-apps-with-viewers-outside-organization.md deleted file mode 100644 index f28b00895..000000000 --- a/content/kb/deployments/share-apps-with-viewers-outside-organization.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: How do I share apps with viewers outside my organization? -slug: /knowledge-base/deploy/share-apps-with-viewers-outside-organization ---- - -# How do I share apps with viewers outside my organization? - -When you share an app with someone outside of your organization, they will receive an email inviting them to sign in with their email. - - - -Click [here](/streamlit-community-cloud/get-started#sign-in-with-email) to learn more about how [sign in with email](/streamlit-community-cloud/get-started#sign-in-with-email) works. - - - -Viewer auth allows you to restrict the viewers of your app. To access your app, users have to authenticate using an email-based passwordless login or [single sign-on (SSO)](/streamlit-community-cloud/get-started/share-your-app/configuring-single-on-sso). You can share your app with viewers outside your organization in two ways: - -- [Adding viewers from the app](#adding-viewers-from-the-app) -- [Adding viewers from your dashboard](#adding-viewers-from-your-dashboard) - -## Adding viewers from the app - -From your deployed app you can easily add viewers from your developer console. - -1. **Select "Manage app" in the lower right corner.** -
- -
-2. **Choose "Settings" from the menu.** -
- -
-3. **Add Viewers in Settings.** - - You can choose to allow only selected viewers based on their individual emails. Make sure to enter them as a line-separated list. - - ![Add viewers](/images/streamlit-community-cloud/add-viewers.png) - -The viewers you have added will receive an email, like the one below, inviting them to [sign in with their email](/streamlit-community-cloud/get-started#sign-in-with-email). - - - -## Adding viewers from your dashboard - -You can also add viewers directly from your dashboard. - -1. **Open settings for your app** - - Navigate to the app you want to add viewer to and click the overflow menu icon (⋮) to select "Settings." - -
- -
- -2. **Add Viewers in Settings** - - Click on the "Sharing" section in the App Settings and in the text input area, provide a line-separated list of email addresses for the users you wish to grant viewer access to your app. Click "Save." - -
- -
- -The viewers you have added will receive an email, like the one below, inviting them to [sign in with their email](/streamlit-community-cloud/get-started#sign-in-with-email). - - diff --git a/content/kb/deployments/sign-in-email.md b/content/kb/deployments/sign-in-email.md index 1f7c90f16..5c8381cd7 100644 --- a/content/kb/deployments/sign-in-email.md +++ b/content/kb/deployments/sign-in-email.md @@ -7,15 +7,15 @@ slug: /knowledge-base/deploy/sign-in-without-sso If you don't have GitHub or GSuite accounts, you can sign in with your email address! Visit [share.streamlit.io](https://share.streamlit.io), enter the email address you used to sign up for Streamlit Community Cloud, and click the "Continue with email" button. - + Once you do so, you will see a confirmation message (like the one below) asking you to check your email. - + Check your inbox for an email from Streamlit, with the subject "Sign in to Streamlit Community Cloud". Click the link in the email to sign in to Streamlit. Note that this link will expire in 15 minutes and can only be used once. - + Once you click the link in your email, you will be taken to your Streamlit Community Cloud workspace!🎈 diff --git a/content/kb/deployments/upgrade-streamlit-version.md b/content/kb/deployments/upgrade-streamlit-version.md index ec9819a77..814ea8b73 100644 --- a/content/kb/deployments/upgrade-streamlit-version.md +++ b/content/kb/deployments/upgrade-streamlit-version.md @@ -5,7 +5,7 @@ slug: /knowledge-base/deploy/upgrade-streamlit-version-on-streamlit-cloud # Upgrade the Streamlit version of your app on Streamlit Community Cloud -Want to use a cool new Streamlit feature but your app on Streamlit Community Cloud is running an old version of the Streamlit library? If that's you, don't worry! All you need to do is upgrade your app's Streamlit version. Here are five ways to do this, based on how your [app manages dependencies](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies): +Want to use a cool new Streamlit feature but your app on Streamlit Community Cloud is running an old version of the Streamlit library? If that's you, don't worry! All you need to do is upgrade your app's Streamlit version. Here are five ways to do this, based on how your [app manages dependencies](/streamlit-community-cloud/deploy-your-app/app-dependencies): ## No dependency file diff --git a/content/kb/tutorials/databases/aws-s3.md b/content/kb/tutorials/databases/aws-s3.md index d5eb3c51e..5db448aa2 100644 --- a/content/kb/tutorials/databases/aws-s3.md +++ b/content/kb/tutorials/databases/aws-s3.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/aws-s3 ## Introduction -This guide explains how to securely access files on AWS S3 from Streamlit Community Cloud. It uses [Streamlit FilesConnection](https://github.com/streamlit/files-connection), the [s3fs](https://github.com/dask/s3fs) library and optionally Streamlit's [secrets management](/library/advanced-features/secrets-management). +This guide explains how to securely access files on AWS S3 from Streamlit Community Cloud. It uses [Streamlit FilesConnection](https://github.com/streamlit/files-connection), the [s3fs](https://github.com/dask/s3fs) library and optionally Streamlit's [Secrets management](/library/advanced-features/secrets-management). ## Create an S3 bucket and add a file @@ -76,7 +76,7 @@ Be sure to replace `xxx` above with the values you noted down earlier, and add t ## Copy your app secrets to the cloud -To host your app on Streamlit Community Cloud, you will need to pass your credentials to your deployed app via secrets. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` above into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +To host your app on Streamlit Community Cloud, you will need to pass your credentials to your deployed app via secrets. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` above into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/bigquery.md b/content/kb/tutorials/databases/bigquery.md index 8d5b830cf..03dbbf5b4 100644 --- a/content/kb/tutorials/databases/bigquery.md +++ b/content/kb/tutorials/databases/bigquery.md @@ -9,7 +9,7 @@ slug: /knowledge-base/tutorials/databases/bigquery This guide explains how to securely access a BigQuery database from Streamlit Community Cloud. It uses the [google-cloud-bigquery](https://googleapis.dev/python/bigquery/latest/index.html) library and -Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ## Create a BigQuery database @@ -87,7 +87,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/detabase.md b/content/kb/tutorials/databases/detabase.md index b63cc8083..aa83ffa31 100644 --- a/content/kb/tutorials/databases/detabase.md +++ b/content/kb/tutorials/databases/detabase.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/deta-base ## Introduction -This guide explains how to securely access and write to a [Deta Base](https://deta.space/docs/en/reference/base/about) database from Streamlit Community Cloud. Deta Base is a fully-managed and fast NoSQL database with a focus on end-user simplicity. The data is stored in your own "personal cloud" on [Deta Space](https://deta.space/developers). This guide uses the [Deta Python SDK](https://github.com/deta/deta-python) for Deta Base and Streamlit's [Secrets Management](https://www.notion.so/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access and write to a [Deta Base](https://deta.space/docs/en/reference/base/about) database from Streamlit Community Cloud. Deta Base is a fully-managed and fast NoSQL database with a focus on end-user simplicity. The data is stored in your own "personal cloud" on [Deta Space](https://deta.space/developers). This guide uses the [Deta Python SDK](https://github.com/deta/deta-python) for Deta Base and Streamlit's [Secrets management](https://www.notion.so/streamlit-community-cloud/deploy-your-app/secrets-management). ## Create an account and sign in to Deta Space @@ -45,7 +45,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/gcs.md b/content/kb/tutorials/databases/gcs.md index 166653a15..46dec9aa7 100644 --- a/content/kb/tutorials/databases/gcs.md +++ b/content/kb/tutorials/databases/gcs.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/gcs ## Introduction -This guide explains how to securely access files on Google Cloud Storage from Streamlit Community Cloud. It uses [Streamlit FilesConnection](https://github.com/streamlit/files-connection), the [gcsfs](https://github.com/fsspec/gcsfs) library and Streamlit's [secrets management](/library/advanced-features/secrets-management). +This guide explains how to securely access files on Google Cloud Storage from Streamlit Community Cloud. It uses [Streamlit FilesConnection](https://github.com/streamlit/files-connection), the [gcsfs](https://github.com/fsspec/gcsfs) library and Streamlit's [Secrets management](/library/advanced-features/secrets-management). ## Create a Google Cloud Storage bucket and add a file @@ -101,7 +101,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/index.md b/content/kb/tutorials/databases/index.md index 73c89b6f1..ed910cadb 100644 --- a/content/kb/tutorials/databases/index.md +++ b/content/kb/tutorials/databases/index.md @@ -6,7 +6,7 @@ slug: /knowledge-base/tutorials/databases # Connect Streamlit to data sources These step-by-step guides demonstrate how to connect Streamlit apps to various databases & APIs. -They use Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management) and +They use Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management) and [caching](/library/advanced-features/caching) to provide secure and fast data access. diff --git a/content/kb/tutorials/databases/mongodb.md b/content/kb/tutorials/databases/mongodb.md index 4c1f9a1be..4afcc4624 100644 --- a/content/kb/tutorials/databases/mongodb.md +++ b/content/kb/tutorials/databases/mongodb.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/mongodb ## Introduction -This guide explains how to securely access a **_remote_** MongoDB database from Streamlit Community Cloud. It uses the [PyMongo](https://github.com/mongodb/mongo-python-driver) library and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access a **_remote_** MongoDB database from Streamlit Community Cloud. It uses the [PyMongo](https://github.com/mongodb/mongo-python-driver) library and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ## Create a MongoDB Database @@ -49,7 +49,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/mssql.md b/content/kb/tutorials/databases/mssql.md index 2fb71e241..1c734d3d7 100644 --- a/content/kb/tutorials/databases/mssql.md +++ b/content/kb/tutorials/databases/mssql.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/mssql ## Introduction -This guide explains how to securely access a **_remote_** Microsoft SQL Server database from Streamlit Community Cloud. It uses the [pyodbc](https://github.com/mkleehammer/pyodbc/wiki) library and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access a **_remote_** Microsoft SQL Server database from Streamlit Community Cloud. It uses the [pyodbc](https://github.com/mkleehammer/pyodbc/wiki) library and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ## Create an SQL Server database @@ -120,7 +120,7 @@ And add this file to `.gitignore` and don't commit it to your GitHub repo. ## Copy your app secrets to Streamlit Community Cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/mysql.md b/content/kb/tutorials/databases/mysql.md index 2d98fa8af..0bba1572f 100644 --- a/content/kb/tutorials/databases/mysql.md +++ b/content/kb/tutorials/databases/mysql.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/mysql ## Introduction -This guide explains how to securely access a **_remote_** MySQL database from Streamlit Community Cloud. It uses [st.experimental_connection](/library/api-reference/connections/st.experimental_connection) and Streamlit's [secrets management](/library/advanced-features/secrets-management). The below example code will **only work on Streamlit version >= 1.22**, when `st.experimental_connection` was added. +This guide explains how to securely access a **_remote_** MySQL database from Streamlit Community Cloud. It uses [st.experimental_connection](/library/api-reference/connections/st.experimental_connection) and Streamlit's [Secrets management](/library/advanced-features/secrets-management). The below example code will **only work on Streamlit version >= 1.22**, when `st.experimental_connection` was added. ## Create a MySQL database @@ -59,7 +59,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/postgresql.md b/content/kb/tutorials/databases/postgresql.md index d18d5f9e8..edf5814ba 100644 --- a/content/kb/tutorials/databases/postgresql.md +++ b/content/kb/tutorials/databases/postgresql.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/postgresql ## Introduction -This guide explains how to securely access a **_remote_** PostgreSQL database from Streamlit Community Cloud. It uses the [psycopg2](https://www.psycopg.org/) library and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access a **_remote_** PostgreSQL database from Streamlit Community Cloud. It uses the [psycopg2](https://www.psycopg.org/) library and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ## Create a PostgreSQL database @@ -54,7 +54,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/private-gsheet.md b/content/kb/tutorials/databases/private-gsheet.md index ada89e404..d94a74680 100644 --- a/content/kb/tutorials/databases/private-gsheet.md +++ b/content/kb/tutorials/databases/private-gsheet.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/private-gsheet ## Introduction -This guide explains how to securely access a private Google Sheet from Streamlit Community Cloud. It uses the [gsheetsdb](https://github.com/betodealmeida/gsheets-db-api) library and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access a private Google Sheet from Streamlit Community Cloud. It uses the [gsheetsdb](https://github.com/betodealmeida/gsheets-db-api) library and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). If you are fine with enabling link sharing for your Google Sheet (i.e. everyone with the link can view it), the guide [Connect Streamlit to a public Google Sheet](/knowledge-base/tutorials/databases/public-gsheet) shows a simpler method of doing this. If your Sheet contains sensitive information and you cannot enable link sharing, keep on reading. @@ -95,7 +95,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/public-gsheet.md b/content/kb/tutorials/databases/public-gsheet.md index 0fd70faca..a72d448b8 100644 --- a/content/kb/tutorials/databases/public-gsheet.md +++ b/content/kb/tutorials/databases/public-gsheet.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/public-gsheet ## Introduction -This guide explains how to securely access a public Google Sheet from Streamlit Community Cloud. It uses the [pandas](https://pandas.pydata.org/) library and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access a public Google Sheet from Streamlit Community Cloud. It uses the [pandas](https://pandas.pydata.org/) library and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). This method requires you to enable link sharing for your Google Sheet. While the sharing link will not appear in your code (and actually acts as sort of a password!), someone with the link can get all the data in the Sheet. If you don't want this, follow the (more complicated) guide [Connect Streamlit to a private Google Sheet](private-gsheet). @@ -43,7 +43,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/snowflake.md b/content/kb/tutorials/databases/snowflake.md index 8bdb551c6..b680b916f 100644 --- a/content/kb/tutorials/databases/snowflake.md +++ b/content/kb/tutorials/databases/snowflake.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/snowflake ## Introduction -This guide explains how to securely access a Snowflake database from Streamlit. It uses [st.experimental_connection](/library/api-reference/connections/st.experimental_connection), the [Snowpark Python](https://docs.snowflake.com/en/developer-guide/snowpark/python/index) library and Streamlit's [secrets management](/library/advanced-features/secrets-management). The below example code **will only work on Streamlit version >= 1.22**, when `st.experimental_connection` was added. +This guide explains how to securely access a Snowflake database from Streamlit. It uses [st.experimental_connection](/library/api-reference/connections/st.experimental_connection), the [Snowpark Python](https://docs.snowflake.com/en/developer-guide/snowpark/python/index) library and Streamlit's [Secrets management](/library/advanced-features/secrets-management). The below example code **will only work on Streamlit version >= 1.22**, when `st.experimental_connection` was added. Skip to the bottom for information about [connecting using Snowflake Connector for Python](#using-the-snowflake-connector-for-python). @@ -208,6 +208,6 @@ If everything worked out (and you used the example table we created above), your This tutorial assumes a local Streamlit app, however you can also connect to Snowflake from apps hosted in Community Cloud. The main additional steps are: -- [Include information about dependencies](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies) using a `requirements.txt` file with `snowflake-snowpark-python` and any other dependencies. -- [Add your secrets](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management#deploy-an-app-and-set-up-secrets) to your Community Cloud app. -- For apps using `snowflake-snowpark-python`, you should also ensure the app is [running on python 3.8](/streamlit-community-cloud/get-started/deploy-an-app#advanced-settings-for-deployment). +- [Include information about dependencies](/streamlit-community-cloud/deploy-your-app/app-dependencies) using a `requirements.txt` file with `snowflake-snowpark-python` and any other dependencies. +- [Add your secrets](/streamlit-community-cloud/deploy-your-app/secrets-management#deploy-an-app-and-set-up-secrets) to your Community Cloud app. +- For apps using `snowflake-snowpark-python`, you should also ensure the app is [running on python 3.8](/streamlit-community-cloud/deploy-your-app#advanced-settings-for-deployment). diff --git a/content/kb/tutorials/databases/supabase.md b/content/kb/tutorials/databases/supabase.md index e13003cd5..1fc454408 100644 --- a/content/kb/tutorials/databases/supabase.md +++ b/content/kb/tutorials/databases/supabase.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/supabase ## Introduction -This guide explains how to securely access a Supabase instance from Streamlit Community Cloud. It uses the [Supabase Python Client Library](https://github.com/supabase-community/supabase-py) and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). Supabase is the open source Firebase alternative and is based on PostgreSQL. +This guide explains how to securely access a Supabase instance from Streamlit Community Cloud. It uses the [Supabase Python Client Library](https://github.com/supabase-community/supabase-py) and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). Supabase is the open source Firebase alternative and is based on PostgreSQL. ## Sign in to Supabase and create a project @@ -87,7 +87,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/tableau.md b/content/kb/tutorials/databases/tableau.md index 36deedc27..6a5f6e65b 100644 --- a/content/kb/tutorials/databases/tableau.md +++ b/content/kb/tutorials/databases/tableau.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/tableau ## Introduction -This guide explains how to securely access data on Tableau from Streamlit Community Cloud. It uses the [tableauserverclient](https://tableau.github.io/server-client-python/#) library and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access data on Tableau from Streamlit Community Cloud. It uses the [tableauserverclient](https://tableau.github.io/server-client-python/#) library and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ## Create a Tableau site @@ -61,7 +61,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/tidb.md b/content/kb/tutorials/databases/tidb.md index 1b6ae2a9b..0a2c9abca 100644 --- a/content/kb/tutorials/databases/tidb.md +++ b/content/kb/tutorials/databases/tidb.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/tidb ## Introduction -This guide explains how to securely access a **_remote_** TiDB database from Streamlit Community Cloud. It uses [st.experimental_connection](/library/api-reference/connections/st.experimental_connection) and Streamlit's [secrets management](/library/advanced-features/secrets-management). The below example code will **only work on Streamlit version >= 1.22**, when `st.experimental_connection` was added. +This guide explains how to securely access a **_remote_** TiDB database from Streamlit Community Cloud. It uses [st.experimental_connection](/library/api-reference/connections/st.experimental_connection) and Streamlit's [Secrets management](/library/advanced-features/secrets-management). The below example code will **only work on Streamlit version >= 1.22**, when `st.experimental_connection` was added. [TiDB](https://www.pingcap.com/tidb/) is an open-source, MySQL-compatible database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. [TiDB Cloud](https://www.pingcap.com/tidb-cloud/) is a fully managed cloud database service that simplifies the deployment and management of TiDB databases for developers. @@ -85,7 +85,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on **Edit Secrets**. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/databases/tigergraph.md b/content/kb/tutorials/databases/tigergraph.md index ed151a788..c8d90c7f8 100644 --- a/content/kb/tutorials/databases/tigergraph.md +++ b/content/kb/tutorials/databases/tigergraph.md @@ -7,7 +7,7 @@ slug: /knowledge-base/tutorials/databases/tigergraph ## Introduction -This guide explains how to securely access a TigerGraph database from Streamlit Community Cloud. It uses the [pyTigerGraph](https://pytigergraph.github.io/pyTigerGraph/GettingStarted/) library and Streamlit's [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +This guide explains how to securely access a TigerGraph database from Streamlit Community Cloud. It uses the [pyTigerGraph](https://pytigergraph.github.io/pyTigerGraph/GettingStarted/) library and Streamlit's [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ## Create a TigerGraph Cloud Database @@ -43,7 +43,7 @@ Add this file to `.gitignore` and don't commit it to your GitHub repo! ## Copy your app secrets to the cloud -As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on Edit Secrets. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets Management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). +As the `secrets.toml` file above is not committed to GitHub, you need to pass its content to your deployed app (on Streamlit Community Cloud) separately. Go to the [app dashboard](https://share.streamlit.io/) and in the app's dropdown menu, click on Edit Secrets. Copy the content of `secrets.toml` into the text area. More information is available at [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). ![Secrets manager screenshot](/images/databases/edit-secrets.png) diff --git a/content/kb/tutorials/deploy/docker.md b/content/kb/tutorials/deploy/docker.md index 847d0529c..06274d943 100644 --- a/content/kb/tutorials/deploy/docker.md +++ b/content/kb/tutorials/deploy/docker.md @@ -131,7 +131,7 @@ Let’s walk through each line of the Dockerfile : - streamlit_app.py ``` - where `requirements.txt` file contains all your [Python dependencies](https://docs.streamlit.io/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies#add-python-dependencies). E.g + where `requirements.txt` file contains all your [Python dependencies](https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app/app-dependencies#add-python-dependencies). E.g ``` altair @@ -191,7 +191,7 @@ Let’s walk through each line of the Dockerfile : More generally, the idea is copy your app code from wherever it may live on your server into the container. If the code is not in the same directory as the Dockerfile, modify the above command to include the path to the code. -5. Install your app’s [Python dependencies](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies#add-python-dependencies) from the cloned `requirements.txt` in the container: +5. Install your app’s [Python dependencies](/streamlit-community-cloud/deploy-your-app/app-dependencies#add-python-dependencies) from the cloned `requirements.txt` in the container: ```docker RUN pip3 install -r requirements.txt diff --git a/content/library/advanced-features/app-menu.md b/content/library/advanced-features/app-menu.md index 4214e5ffb..590b13895 100644 --- a/content/library/advanced-features/app-menu.md +++ b/content/library/advanced-features/app-menu.md @@ -123,7 +123,7 @@ Reset your app's cache by clicking "**Clear cache**" from the app's menu or by p ### Deploy this app -If you are running an app locally from within a git repo, you can deploy your app to Streamlit Community Cloud in a few easy clicks! Make sure your work has been pushed to your online GitHub repository before beginning. For the greatest convenience, make sure you have already created your [Community Cloud account](/streamlit-community-cloud/get-started#sign-up-for-streamlit-community-cloud) and are signed in. Click "**Deploy this app**" to be taken directly to Community Cloud's "Deploy an app" page. Your app's repository, branch, and file name will be prefilled to match your current app! Learn more about [deploying an app](/streamlit-community-cloud/get-started/deploy-an-app) on Streamlit Community Cloud. +If you are running an app locally from within a git repo, you can deploy your app to Streamlit Community Cloud in a few easy clicks! Make sure your work has been pushed to your online GitHub repository before beginning. For the greatest convenience, make sure you have already created your [Community Cloud account](/streamlit-community-cloud/get-started/create-your-account) and are signed in. Click "**Deploy this app**" to be taken directly to Community Cloud's "Deploy an app" page. Your app's repository, branch, and file name will be prefilled to match your current app! Learn more about [deploying an app](/streamlit-community-cloud/deploy-your-app) on Streamlit Community Cloud.
Rerun diff --git a/content/library/advanced-features/caching.md b/content/library/advanced-features/caching.md index 3889b27a9..cd65c0a64 100644 --- a/content/library/advanced-features/caching.md +++ b/content/library/advanced-features/caching.md @@ -132,7 +132,7 @@ def add(arr1, arr2): **Database queries** -You usually make SQL queries to load data into your app when working with databases. Repeatedly running these queries can be slow, cost money, and degrade the performance of your database. We strongly recommend caching any database queries in your app. See also [our guides on connecting Streamlit to different databases](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources) for in-depth examples. +You usually make SQL queries to load data into your app when working with databases. Repeatedly running these queries can be slow, cost money, and degrade the performance of your database. We strongly recommend caching any database queries in your app. See also [our guides on connecting Streamlit to different databases](/knowledge-base/tutorials/databases) for in-depth examples. ```python connection = database.connect() @@ -241,7 +241,7 @@ def init_connection(): conn = init_connection() ``` -Of course, you can do the same for any other database. Have a look at [our guides on how to connect Streamlit to databases](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources) for in-depth examples. +Of course, you can do the same for any other database. Have a look at [our guides on how to connect Streamlit to databases](/knowledge-base/tutorials/databases) for in-depth examples. **Loading ML models** diff --git a/content/library/advanced-features/configuration.md b/content/library/advanced-features/configuration.md index 818630e6e..793a2b502 100644 --- a/content/library/advanced-features/configuration.md +++ b/content/library/advanced-features/configuration.md @@ -36,10 +36,6 @@ If changes to `.streamlit/config.toml` are made _while_ the app is running, the streamlit run your_script.py --server.port 80 ``` - - -To set configuration options on Streamlit Community Cloud, read [Optionally, add a configuration file](/streamlit-community-cloud/get-started/deploy-an-app#optionally-add-a-configuration-file) in the Streamlit Community Cloud docs. - ## Telemetry diff --git a/content/library/advanced-features/secrets-management.md b/content/library/advanced-features/secrets-management.md index 6a9a81bcf..92cca188c 100644 --- a/content/library/advanced-features/secrets-management.md +++ b/content/library/advanced-features/secrets-management.md @@ -111,4 +111,4 @@ Here are some common errors you might encounter when using secrets management. ### Use secrets on Streamlit Community Cloud -When you deploy your app to [Streamlit Community Cloud](https://streamlit.io/cloud), you can use the same secrets management workflow as you would locally. However, you'll need to also set up your secrets in the Community Cloud Secrets Management console. Learn how to do so via the Cloud-specific [Secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management) documentation. +When you deploy your app to [Streamlit Community Cloud](https://streamlit.io/cloud), you can use the same secrets management workflow as you would locally. However, you'll need to also set up your secrets in the Community Cloud Secrets Management console. Learn how to do so via the Cloud-specific [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management) documentation. diff --git a/content/library/api/personalization/experimental-user.md b/content/library/api/personalization/experimental-user.md index 090d591ff..56c936049 100644 --- a/content/library/api/personalization/experimental-user.md +++ b/content/library/api/personalization/experimental-user.md @@ -14,7 +14,7 @@ This is an experimental feature. Experimental features and their APIs may change `st.experimental_user` is a Streamlit command that returns information about the logged-in user on Streamlit Community Cloud. It allows developers to personalize apps for the user viewing the app. In a private Streamlit Community Cloud app, it returns a dictionary with the viewer's email. This value of this field is empty in a public Streamlit Community Cloud app to prevent leaking user emails to developers. -The API closely resembles that of [`st.session_state`](/library/api-reference/session-state) and [`st.secrets`](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). It follows a field-based API, which is very similar to Python dictionaries. +The API closely resembles that of [`st.session_state`](/library/api-reference/session-state) and [`st.secrets`](/streamlit-community-cloud/deploy-your-app/secrets-management). It follows a field-based API, which is very similar to Python dictionaries. ### Allowed fields diff --git a/content/library/changelog.md b/content/library/changelog.md index 7f9983b7a..7432a1be5 100644 --- a/content/library/changelog.md +++ b/content/library/changelog.md @@ -176,7 +176,7 @@ _Release date: March 09, 2023_ **Notable Changes** - 🔐 Added support for configuring SSL to [serve apps directly over HTTPS](/library/advanced-features/https-support) ([#5969](https://github.com/streamlit/streamlit/pull/5969)). -- 🖼️ Granular control over app embedding behavior with the `/?embed` and `/?embed_options` query parameters. Learn how to use this feature in our [docs](/streamlit-community-cloud/get-started/deploy-an-app#embed-apps) ([#6011](https://github.com/streamlit/streamlit/pull/6011), [#6019](https://github.com/streamlit/streamlit/pull/6019)). +- 🖼️ Granular control over app embedding behavior with the `/?embed` and `/?embed_options` query parameters. Learn how to use this feature in our [docs](/streamlit-community-cloud/share-your-app/embed-your-app) ([#6011](https://github.com/streamlit/streamlit/pull/6011), [#6019](https://github.com/streamlit/streamlit/pull/6019)). - ⚡ Enabled the `runner.fastReruns` [configuration option](/library/advanced-features/configuration#view-all-configuration-options) by default to make apps much more responsive to user interaction ([#6200](https://github.com/streamlit/streamlit/pull/6200)). **Other Changes** diff --git a/content/menu.md b/content/menu.md index 87cad8b10..a0cb69de7 100644 --- a/content/menu.md +++ b/content/menu.md @@ -429,34 +429,54 @@ site_menu: - category: Streamlit Community Cloud / Get started url: /streamlit-community-cloud/get-started - - category: Streamlit Community Cloud / Get started / Deploy an app - url: /streamlit-community-cloud/get-started/deploy-an-app - - category: Streamlit Community Cloud / Get started / Deploy an app / App dependencies - url: /streamlit-community-cloud/get-started/deploy-an-app/app-dependencies - - category: Streamlit Community Cloud / Get started / Deploy an app / Connect to data sources - url: /streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources - - category: Streamlit Community Cloud / Get started / Deploy an app / Connect to data sources / Secrets management - url: /streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management - - category: Streamlit Community Cloud / Get started / Embed your app - url: /streamlit-community-cloud/get-started/embed-your-app - - category: Streamlit Community Cloud / Get started / Share your app - url: /streamlit-community-cloud/get-started/share-your-app - - category: Streamlit Community Cloud / Get started / Share your app / App indexability - url: /streamlit-community-cloud/get-started/share-your-app/indexability - - category: Streamlit Community Cloud / Get started / Share your app / Share previews - url: /streamlit-community-cloud/get-started/share-your-app/share-previews - - category: Streamlit Community Cloud / Get started / Manage your app - url: /streamlit-community-cloud/get-started/manage-your-app + - category: Streamlit Community Cloud / Get started / Quickstart + url: /streamlit-community-cloud/get-started/quickstart + - category: Streamlit Community Cloud / Get started / Create your account + url: /streamlit-community-cloud/get-started/create-your-account + - category: Streamlit Community Cloud / Get started / Connect your GitHub account + url: /streamlit-community-cloud/get-started/connect-your-github-account + - category: Streamlit Community Cloud / Get started / Explore your workspace + url: /streamlit-community-cloud/get-started/explore-your-workspace + - category: Streamlit Community Cloud / Get started / Trust and Security + url: /streamlit-community-cloud/get-started/trust-and-security + - category: Streamlit Community Cloud / Deploy your app + url: /streamlit-community-cloud/deploy-your-app + - category: Streamlit Community Cloud / Deploy your app / App dependencies + url: /streamlit-community-cloud/deploy-your-app/app-dependencies + - category: Streamlit Community Cloud / Deploy your app / Secrets management + url: /streamlit-community-cloud/deploy-your-app/secrets-management + - category: Streamlit Community Cloud / Manage your app + url: /streamlit-community-cloud/manage-your-app + - category: Streamlit Community Cloud / Manage your app / App analytics + url: /streamlit-community-cloud/manage-your-app/app-analytics + - category: Streamlit Community Cloud / Manage your app / App settings + url: /streamlit-community-cloud/manage-your-app/app-settings + - category: Streamlit Community Cloud / Manage your app / Delete your app + url: /streamlit-community-cloud/manage-your-app/delete-your-app + - category: Streamlit Community Cloud / Manage your app / Favorite your app + url: /streamlit-community-cloud/manage-your-app/favorite-your-app + - category: Streamlit Community Cloud / Manage your app / Reboot your app + url: /streamlit-community-cloud/manage-your-app/reboot-your-app + - category: Streamlit Community Cloud / Share your app + url: /streamlit-community-cloud/share-your-app + - category: Streamlit Community Cloud / Share your app / Embed your app + url: /streamlit-community-cloud/share-your-app/embed-your-app + - category: Streamlit Community Cloud / Share your app / Search indexability + url: /streamlit-community-cloud/share-your-app/indexability + - category: Streamlit Community Cloud / Share your app / Share previews + url: /streamlit-community-cloud/share-your-app/share-previews - category: Streamlit Community Cloud / Manage your account url: /streamlit-community-cloud/manage-your-account + - category: Streamlit Community Cloud / Manage your account / Sign in & sign out + url: /streamlit-community-cloud/manage-your-account/sign-in-sign-out + - category: Streamlit Community Cloud / Manage your account / Workspace settings + url: /streamlit-community-cloud/manage-your-account/workspace-settings + - category: Streamlit Community Cloud / Manage your account / Manage your GitHub connection + url: /streamlit-community-cloud/manage-your-account/manage-your-github-connection - category: Streamlit Community Cloud / Manage your account / Update your email url: /streamlit-community-cloud/manage-your-account/update-your-email - category: Streamlit Community Cloud / Manage your account / Delete your account url: /streamlit-community-cloud/manage-your-account/delete-your-account - # - category: Streamlit Community Cloud / Additional features - # url: /streamlit-community-cloud/additional-features - - category: Streamlit Community Cloud / Trust and Security - url: /streamlit-community-cloud/trust-and-security - category: Streamlit Community Cloud / Troubleshooting url: /streamlit-community-cloud/troubleshooting diff --git a/content/streamlit-cloud/deploy-your-app/app-dependencies.md b/content/streamlit-cloud/deploy-your-app/app-dependencies.md new file mode 100644 index 000000000..347cfd831 --- /dev/null +++ b/content/streamlit-cloud/deploy-your-app/app-dependencies.md @@ -0,0 +1,111 @@ +--- +title: App dependencies +slug: /streamlit-community-cloud/deploy-your-app/app-dependencies +--- + +# App dependencies + +The main reason that apps fail to build properly is because Streamlit Community Cloud can't find your dependencies! There are two kinds of dependencies your app might have: Python dependencies and external dependencies. Python dependencies are other Python packages (just like Streamlit!) that you `import` into you script. External dependencies are less common, but they include any other software your script needs to function properly. Since Streamlit Community Cloud runs on Linux, these will be Linux dependencies installed with `apt-get` outside the Python environment. + +For your dependencies to be installed correctly, make sure you: + +1. Add a [requirements file](#add-python-dependencies) for Python dependencies. +2. (optional) Add a `packages.txt` file to manage any external dependencies. + + + +Python requirements files should be placed either in the root of your repository or in the same +directory as your Streamlit app. + + + +## Add Python dependencies + +With each `import` statement in your script, you are bringing in a Python dependency. You need to tell Streamlit Community Cloud how to install those depencies through a Python package manager. We recommend using a `requirements.txt` which is based on `pip`. + +You should _not_ include built-in Python libraries like `math` or `random` in your `requirements.txt` file. These are a part of Python and aren't installed separately. Also, Streamlit Community Cloud has `streamlit` installed by default. You don't strictly need to include `streamlit` unless you want to pin or restrict the version. If you deploy an app without a `requirements.txt` file, your app will run in an environment with just `streamlit` (and its dependencies) installed. + +If you have a script like the following, no extra dependencies would be needed since `pandas` and `numpy` are installed as direct dependencies of `streamlit`. Similarly, `math` and `random` are built into Python. + +```python +import streamlit as st +import pandas as pd +import numpy as np +import math +import random + +st.write('Hi!') +``` + +However, a valid `requirements.txt` file would be: + +```none +streamlit +pandas +numpy +``` + +Alternatively, if you needed to specify certain versions, another valid example would be: + +```none +streamlit==1.24.1 +pandas>2.0 +numpy<=1.25.1 +``` + +In the above example, `streamlit` is pinned to version `1.24.1`, `pandas` must be strictly greater than version 2.0, and `numpy` must be at-or-below version 1.25.1. Each line in your `requirements.txt` file is effectively what you would like to `pip install` into your cloud environment. + + + +We recommend that you use the latest version of Streamlit to ensure full Streamlit Community Cloud functionality. Be sure to take note of Streamlit's [current requirements](https://github.com/streamlit/streamlit/blob/develop/lib/setup.py) for package compatibility when planning your environment, especially `protobuf>=3.20,<5`. + + + +If you pin `streamlit` below 1.20.0, you may experience unexpected results if you've pinned any dependencies of `altair`. If `streamlit` is installed below version 1.20.0, `altair<5` will be reinstalled on top of your evironment for compatibility reasons. When this happens all of altair's dependecies will be updated. + +### Other Python package managers + +There are other Python package managers besides `pip`. If you want to consider alternatives to using a `requirements.txt` file, Streamlit Community Cloud will look for other Python dependency managers to use in the order below. Streamlit will stop and install the first dependency file found. + + + + + + + + + + + + + + + + + + + + + + +
Recognized FilenamePython Package Manager
Pipfilepipenv
environment.ymlconda
requirements.txtpip
pyproject.tomlpoetry
+ + + +You should only use one requirements file for your app. If you include more than one (e.g. `requirements.txt` and `Pipfile`), only the first file encountered will be used as described above. Additionally, Streamlit will first look in the directory of your Streamlit app; however, if no requirements file is found, Streamlit will then look at the root of the repo. + + + +## apt-get dependencies + +For many apps, a `packages.txt` file is not required. However, if your script requires any software to be installed that is not a Python package, then you will need a `packages.txt` file. Streamlit Community Cloud is built on Debian Linux. Anything you would like to `apt-get install` needs to go in your `packages.txt` file. + +If `packages.txt` exists in the root directory of your repository we automatically detect it, parse it, and install the listed packages. You can read more about apt-get in Linux documentation. + +Add **apt-get** dependencies to `packages.txt` — one package name per line. For example, mysqlclient is a Python package which requires additional software be installed to function. A valid `packages.txt` file to enable `mysqlclient` would be: + +```bash + build-essential + pkg-config + default-libmysqlclient-dev +``` diff --git a/content/streamlit-cloud/deploy-your-app/index.md b/content/streamlit-cloud/deploy-your-app/index.md new file mode 100644 index 000000000..2b249219d --- /dev/null +++ b/content/streamlit-cloud/deploy-your-app/index.md @@ -0,0 +1,132 @@ +--- +title: Deploy your app +slug: /streamlit-community-cloud/deploy-your-app +--- + +# Deploy your app + +Streamlit Community Cloud lets you deploy your apps in just one click, and most apps will deploy in only a few minutes. If you don't have an app ready to deploy, fork or clone one from our App gallery — you can find apps for machine learning, data visualization, data exploration, A/B testing and more. + + + +If you want to deploy your app on a different cloud service, check out the [Deploy Streamlit apps](/knowledge-base/tutorials/deploy) article in our Knowledge Base. + + + +## Add your app to GitHub + +Streamlit Community Cloud launches apps directly from your GitHub repo, so your app code and dependencies need to be on GitHub before you try to deploy your app. For more information on how to specify dependencies, see [App dependencies](/streamlit-community-cloud/deploy-your-app/app-dependencies). + +Your directory structure should look similar to this: + +``` +your-repository/ +├── your_app.py +└── requirements.txt +``` + +If you are including any custom [Configuration](/library/advanced-features/configuration) or [Theming](/library/advanced-features/theming), make sure your config file is saved relative to the root of your repo. Within your repo, your config file should be named `.streamlit/config.toml`. + +``` +your-repository/ +├── .streamlit/ +│ └── config.toml +├── your_app.py +└── requirements.txt +``` + + + + Although you can deploy multiple apps from the same repository, there can be only one configuration file. + + + +## Deploy your app + +1. From your workspace at share.streamlit.io, click "**New app**" from the upper-right corner of your workspace. + + ![Deploy a new app from your workspace](/images/streamlit-community-cloud/deploy-empty-new-app.png) + +2. Fill in your repo, branch, and file path. As a shortcut, you can also click "**Paste GitHub URL**" to paste a link directly to `your_app.py` on GitHub. + + An app URL with a random hash is prefilled but you can change this to a custom subdomain instead. In the example below, the app would be deployed to `https://red-balloon.streamlit.app/`. You can always change your subdomain later. See more about [Custom subdomains](#custom-subdomains) at the end of this page. + + ![Fill in your app's information to deploy your app](/images/streamlit-community-cloud/deploy-an-app.png) + +## Advanced settings for deployment + +3. (Optional) If you are connecting to a data source or want to specify the Python version for your app, you can do that by clicking "**Advanced settings**" before you deploy the app. Learn more about [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). + + ![Advanced settings for deploying your app](/images/streamlit-community-cloud/deploy-an-app-advanced.png) + + + +Streamlit Community Cloud supports Python 3.8 - Python 3.11, and defaults to version 3.9. You can select a version of your choice from the "Python version" dropdown in the "Advanced settings" modal. + + + +## Watch your app launch + +Your app is now deploying and you can watch while it launches. Most apps take only a couple of minutes to deploy, but if your app has a lot of dependencies it may take longer to deploy the first time. After the initial deployment, any change that does not touch your dependencies should show up immediately. + +![Watch your app launch](/images/streamlit-community-cloud/deploy-an-app-provisioning.png) + + + +The Streamlit Community Cloud logs on the right hand side of your app are only viewable to users with developer access to your repository. These logs help you debug any issues with the app. Learn more about [Streamlit Community Cloud logs](/streamlit-community-cloud/manage-your-app#streamlit-community-cloud-logs). + + + +## Your app URL + +That's it — you're done! Your app now has a unique subdomain URL that you can share with others. Read more about how to [Share your app](/streamlit-community-cloud/share-your-app) with viewers. + +### Unique subdomains + +If the "**Custom subdomain (optional)**" field is blank when you deploy your app, a URL is assigned following a structure based on your GitHub repo. The URL begins with your GitHub username or organization owning your repo, followed by your repo name, app path, and a short hash. If you deploy from a branch other than `main` or `master`, the URL also includes the branch name. + +```bash +https://[GitHub username or organization]-[repo name]-[app path]-[branch name]-[short hash].streamlit.app +``` + +For example, this is an app deployed from the `streamlit` organization. The repo is `demo-self-driving` and the app name is `streamlit_app.py` in the root directory. The branch name is `master` and therefore not included. + +```bash +https://streamlit-demo-self-driving-streamlit-app-8jya0g.streamlit.app +``` + +### Custom subdomains + +Setting a custom subdomain makes it much easier to share your app since you can choose something memorable. Whether you set a custom subdomain during deployment or later, your app's URL will appear as: + +```bash +https://.streamlit.app +``` + +To view or customize your app subdomain from the dashboard: + +1. Click the overflow icon (more_vert) to the app's right and select "**Settings**". + +
+ Streamlit Community Cloud app settings +
+ +2. View the "**General**" tab in the App settings modal. Your app's unique subdomain will appear here. + +
+ Streamlit Community Cloud general app settings +
+ +3. Pick a custom subdomain between 6 and 63 characters in length for your app's URL and hit "**Save**". + +
+ New custom subdomain for your app +
+ +It's that simple! You can then access your app by visiting your customized URL 🎉. + +If a custom subdomain is not available (e.g. because it's already taken), you'll see an error message like this: + +
+ Invalid custom subdomain for your app +
diff --git a/content/streamlit-cloud/deploy-your-app/secrets-management.md b/content/streamlit-cloud/deploy-your-app/secrets-management.md new file mode 100644 index 000000000..57a9d5d54 --- /dev/null +++ b/content/streamlit-cloud/deploy-your-app/secrets-management.md @@ -0,0 +1,117 @@ +--- +title: Secrets management +slug: /streamlit-community-cloud/deploy-your-app/secrets-management +--- + +# Secrets management + +## Introduction + +If you are [connecting to data sources](/knowledge-base/tutorials/databases), you will likely need to handle credentials or secrets. It's generally considered bad practice to store unencrypted secrets in a git repository. If your application needs access to sensitive credentials the recommended solution is to store those credentials in a file that is not committed to the repository and to pass them as environment variables. + +Secrets management allows you to store secrets securely and access them in your Streamlit app as environment variables. + +## How to use Secrets Management + +### Deploy an app and set up secrets + +1. From your worksapce at share.streamlit.io, click "**New app**". +2. Fill out your app's information and click "**Advanced settings...**" + + ![Access advanced settings when deploying your app](/images/streamlit-community-cloud/deploy-an-app-advanced-settings.png) + +3. A modal will appear with an input box for your secrets. + + ![Save your secrets in advanced settings when deploying your app](/images/streamlit-community-cloud/deploy-an-app-advanced.png) + +4. Provide your secrets in the "Secrets" field using TOML format. For example: + + ```toml + # Everything in this section will be available as an environment variable + db_username = "Jane" + db_password = "12345qwerty" + + # You can also add other sections if you like. + # The contents of sections as shown below will not become environment + # variables, but they'll be easily accessible from within Streamlit anyway + # as we show later in this doc. + [my_cool_secrets] + things_i_like = ["Streamlit", "Python"] + ``` + +### Use secrets in your app + +Access your secrets as environment variables or by querying the `st.secrets` dict. For example, if you enter the secrets from the section above, the code below shows you how you can access them within your Streamlit app. + +```python +import streamlit as st +import os + +# Everything is accessible via the st.secrets dict: +st.write("DB username:", st.secrets["db_username"]) +st.write("DB password:", st.secrets["db_password"]) +st.write("My cool secrets:", st.secrets["my_cool_secrets"]["things_i_like"]) + +# And the root-level secrets are also accessible as environment variables: +st.write( + "Has environment variables been set:", + os.environ["db_username"] == st.secrets["db_username"], +) +``` + + + +You can access `st.secrets` via attribute notation (e.g. `st.secrets.key`) or key notation (e.g. `st.secrets["key"]`) — just like [`st.session_state`](/library/api-reference/session-state). + + + +You can even use TOML sections to compactly pass multiple secrets as a single attribute. + +Consider the following secrets: + +```toml +[db_credentials] +username = "my_username" +password = "my_password" +``` + +Rather than passing each secret as attributes in a function, you can more compactly pass the section to achieve the same result. You can use Python's unpacking notation like the following example which uses the secrets above: + +```python +# Verbose version +my_db.connect(username=st.secrets.db_credentials.username, password=st.secrets.db_credentials.password) + +# Far more compact version! +my_db.connect(**st.secrets.db_credentials) +``` + +### Edit your app's secrets + +If you need to add or edit your secrets for an app that is already deployed, you can accesss advanced setting from your admin panel. + +1. Go to share.streamlit.io. +2. Click the overflow menu icon (more_vert) for your app. +3. Click "**Settings**". + ![Access your app settings from your workspace](/images/streamlit-community-cloud/workspace-app-settings.png) +3. A modal will appear. Click "**Secrets**" on the left. + ![Access your secrets through your app settings](/images/streamlit-community-cloud/workspace-app-settings-secrets.png) +4. After you edit your secrets, click "**Save**". It might take a minute for the update to be propagated to your app, but the new values will be reflected when the app re-runs. + +### Develop locally with secrets + +When developing your app locally, add a file called `secrets.toml` in a folder called `.streamlit` at the root of your app repo, and copy/paste your secrets into that file. Further instructions are available in the Streamlit library [Secrets management](/library/advanced-features/secrets-management) documentation. + + + +Be sure to add this file to your `.gitignore` so you don't commit your secrets! + + + +```bash +your-LOCAL-repository/ +├── .streamlit/ +│ ├── config.toml +│ └── secrets.toml # Make sure to gitignore this! +├── your_app.py +└── requirements.txt +``` diff --git a/content/streamlit-cloud/get-started/connect-github.md b/content/streamlit-cloud/get-started/connect-github.md new file mode 100644 index 000000000..fe94d533c --- /dev/null +++ b/content/streamlit-cloud/get-started/connect-github.md @@ -0,0 +1,74 @@ +--- +title: Connect your GitHub account +slug: /streamlit-community-cloud/get-started/connect-your-github-account +--- + +# Connect your GitHub account + +Connecting GitHub to your Streamlit Community Cloud account allows you to deploy apps directly from the files you store in your repos. It also lets the system check for updates to those files and automatically update your app. There are two stages to this authorization: the first happens when you connect your account for the first time and the second happens when you deploy your first app. + +Everyone is prompted to connect GitHub when they create an account. If you need to connect GitHub to an existing primary identity, see [Manage your GitHub connection](/streamlit-community-cloud/manage-your-account/manage-your-github-connection). + +This page contains additional information about the authorization needed to connect GitHub. If you have just created your account, you are free to skip ahead and [Explore your workspace](/streamlit-community-cloud/get-started/explore-your-workspace). GitHub's authorization prompts occur automatically as needed. + +## Authorize your GitHub account + +There are two different authorization prompts to grant access between Streamlit and your GitHub account. The first authorization—"Authorize Streamlit"—happens when you connect your GitHub account to Streamlit. The second authorization—"Streamlit is requesting additional permissions"—happens when you deploy your first app. You must click "**Authorize streamlit**" on both. If you are a member of any GitHub organizations, read below to understand the extras steps to [authorize an organization](#organization-access). Questions about GitHub permissions? Read some frequently asked questions about our [GitHub integration](/streamlit-community-cloud/troubleshooting#github-integration). + +Authorize your GitHub account + + + +You must have **admin** permissions to your repo in order to deploy apps. If you don't have admin access, talk to the repo's owner or reach out to us on the Community forum. + + + +## Organization access + +If you are working in a repository that is owned by an organization, authorization must be granted by that organization. If you are an owner or member of a GitHub organization when you connect your GitHub account, your authorization prompts will include an extra section labeled "Organization access". + +### Organizations you own + +For any organization you own, if authorization has not been previously granted or denied you can click "**Grant**" before you click "**Authorize streamlit**". + +Authorize your Streamlit on a GitHub organization you own + +### Organizations owned by others + +For an organization you don't own, if authorization has not been previously granted or denied you can click "**Request**" before you click "**Authorize streamlit**". + +
+Authorize your Streamlit on a GitHub organization owned by others +
+ +### Previous or pending authorization + +If someone has already started the process of authorizing Streamlit for your organization, different options and statuses will display accordingly. + +#### Approved access + +If an organization has already granted Streamlit access, a green check is shown. + +
+Approved authorization for Streamlit on an organization +
+ +#### Pending access + +If a request has been previously sent but not yet approved, a pending status shows. + +
+Pending authorization for Streamlit on an organization +
+ +#### Denied access + +If a request has been previously sent and denied, no option to grant or request access is shown. In this case, the organization owner will need to authorize Streamlit from GitHub. See GitHub's documentation on OAuth apps and organizations. + +
+Denied authorization for Streamlit on an organization +
+ +## What's next? + +Now that you have your account you can [Explore your workspace](/streamlit-community-cloud/get-started/explore-your-workspace). Or if you're ready to go, jump right in and [Deploy your app](/streamlit-community-cloud/deploy-your-app). diff --git a/content/streamlit-cloud/get-started/create-your-account.md b/content/streamlit-cloud/get-started/create-your-account.md new file mode 100644 index 000000000..1d8384b72 --- /dev/null +++ b/content/streamlit-cloud/get-started/create-your-account.md @@ -0,0 +1,121 @@ +--- +title: Create your account +slug: /streamlit-community-cloud/get-started/create-your-account +--- + +# Create your account + +Before you can start deploying apps for the world to see, you need to sign up for your Streamlit Community Cloud account. + +![Sign up: Get started with Streamlit Community Cloud](/images/streamlit-community-cloud/sign-up.png) + +Streamlit Community Cloud accounts have two underlying identities: primary and source control. Your primary identity is used for viewing analytics as well as viewing permissions. Your source-control identity is used for deploying and managing apps. + +## Sign up + +Although you can begin the sign-up process with GitHub, we recommend starting with Google or email in order to have a complete account from the start. +* [Step 1: Primary identity](#step-1-primary-identity) (Google or email) +* [Step 2: Source control](#step-2-source-control) (GitHub) +* [Step 3: Set up your account](#step-3-set-up-your-account) + +### Step 1: Primary identity + +Your primary identity is associated to an email. You can sign in through Google or through single-use, emailed links which are valid for 15 minutes once requested. + +If you're sharing a private app, you will assign viewing permission by email. Therefore, your app's users will need to sign in with either Google or emailed links. + +#### Primary identity option 1: Google + +1. Go to share.streamlit.io/signup. +2. Click "**Continute with Google**". + +
+Sign up for Streamlit Community Cloud with Google +
+ +3. Enter your Google credentials and click "**Next**". + +
+Enter your Google credentials +
+ +4. If you will be deploying or managing any apps, click "**Connect GitHub account**" and proceed to [Step 2: Source Control](/streamlit-community-cloud/get-started/create-your-account#step-2-source-control). If you are only going to be viewing apps and will not be using GitHub, you can click "**Skip this step**" and proceed to [Step 3: Set up your account](#step-3-set-up-your-account). + +
+Connect your GitHub account to Streamlit Community Cloud +
+ +#### Primary identity option 2: email + +1. Go to share.streamlit.io/signup. +2. Enter your email address and click "**Continute with email**". + +
+Sign up for Streamlit Community Cloud with email +
+ +3. A confirmation screen will display, telling you to check your email. + +
+Streamlit Community Cloud confirmation to check your email +
+ +4. Check your inbox for an email with the subject "Sign in to Streamlit Cloud". Click the link to sign in. + +
+Streamlit Community Cloud sign-in email +
+ +5. If you will be deploying or managing any apps, click "**Connect GitHub account**" and proceed to [Step 2: Source control](/streamlit-community-cloud/get-started/create-your-account#step-2-source-control). If you are only going to be viewing apps and will not be using GitHub, you can click "**Skip this step**" and proceed to [Step 3: Set up your account](#step-3-set-up-your-account). + +
+Connect your GitHub account to Streamlit Community Cloud +
+ +### Step 2: Source control + +Streamlit Community Cloud is integreated with GitHub for source control. If you begin your sign-up process with GitHub, you will not be directly prompted to create a primary identity. However, you can attach a Google account later. + +There are two different authorization requests to completely [Connect your GitHub account](/streamlit-community-cloud/get-started/connect-your-github-account). You will encounter the first authorization request when you begin connecting your GitHub account. A second authorization is needed the first time you deploy an app. If you will be deploying or managing any apps from a GitHub organization, your authorization requests will include additional options to allow [Organization access](/streamlit-community-cloud/get-started/connect-github#organization-access). + +1. After completing [Step 1: Primary identity](#step-1-primary-identity) or after clicking "**Continue with GitHub**" from the sign-up page, enter your GitHub credentials and click "**Sign in**". + +
+Enter your GitHub credentials +
+ +2. Click "**Authorize streamlit**". + +
+Authorize streamlit to connect to your GitHub account +
+ +3. Continue to Step 3: Set up your account + +### Step 3: Set up your account + +As a final step to account creation, please tell us about yourself and your experience with Streamlit. This is also when you can read and acknowledge our Terms of use and Privacy notice. The email you provide in this survey is not used as your account email. + +1. Fill in your information and click "**Continue**" at the bottom of the screen. + +
+Fill out the Streamlit Community Cloud user survey +
+ +2. You will be taken to your workspace. + +
+Your Streamlit Community Cloud workspace +
+ +### Finish up + +Congratulations on creating your Streamlit Community Cloud account! A warning icon (warning) next to "**Settings**" in the upper-right corner is expected; this indicates one of three things: + +1. You created a primary identity and skipped connecting GitHub. +2. You started with GitHub and did not create a primary identity. +3. You created both a primary identity and connected GitHub, but the second authorization for GitHub is still pending. You will be prompted with the second authorization when you deploy your first app. + +## What's next? + +Now that you have your account you can [Explore your workspace](/streamlit-community-cloud/get-started/explore-your-workspace). Or if you're ready to go, jump right in and [Deploy your app](/streamlit-community-cloud/deploy-your-app). diff --git a/content/streamlit-cloud/get-started/deploy-an-app/app-dependencies.md b/content/streamlit-cloud/get-started/deploy-an-app/app-dependencies.md deleted file mode 100644 index 82fbdbb24..000000000 --- a/content/streamlit-cloud/get-started/deploy-an-app/app-dependencies.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: App dependencies -slug: /streamlit-community-cloud/get-started/deploy-an-app/app-dependencies ---- - -# App dependencies - -The main reason that apps fail to build properly is because Streamlit Community Cloud can't find your dependencies! So make sure you: - -1. Add a [requirements file](#add-python-dependencies) for Python dependencies. -2. (optional) Add a `packages.txt` file to manage any external dependencies (i.e Linux dependencies outside Python environment). - - - -Python requirements files should be placed either in the root of your repository or in the same -directory as your Streamlit app. - - - -### Add Python dependencies - -Streamlit looks at your requirements file's filename to determine which Python dependency manager to use in the order below. Streamlit will stop and install the first requirements file found. - -| **Filename** | **Dependency Manager** | **Documentation** | -| :----------------- | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | -| `Pipfile` | pipenv | **[docs](https://pipenv-fork.readthedocs.io/en/latest/basics.html)** | -| `environment.yml` | conda | **[docs](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-file-manually)** | -| `requirements.txt` | pip | **[docs](https://pip.pypa.io/en/stable/user_guide/#requirements-files)** | -| `pyproject.toml` | poetry | **[docs](https://python-poetry.org/docs/basic-usage/)** | - - - -Only include packages in your requirements file that are not distributed with a standard Python -installation. If [any of the modules from base Python](https://docs.python.org/3/py-modindex.html) -are included in the requirements file, you will get an error when you try to deploy. Additionally, we recommend that you -use the latest version of Streamlit to ensure full Streamlit Community Cloud functionality. Be sure to take note of -Streamlit's [current requirements](https://github.com/streamlit/streamlit/blob/develop/lib/setup.py) -for package compatibility when planning your environment, especially `protobuf>=3.20,<5`. - - - - - -You should only use one requirements file for your app. If you include more than one (e.g. -`requirements.txt` and `Pipfile`). Streamlit will first look in the directory of your Streamlit app; -however, if no requirements file is found, Streamlit will then look at the root of the repo. - - - -### apt-get dependencies - -If `packages.txt` exists in the root directory of your repository we automatically detect it, parse it, and install the listed packages as described below. You can read more about apt-get in their [docs](https://linux.die.net/man/8/apt-get). - -Add **apt-get** dependencies to `packages.txt`, one package name per line. For example: - -```bash - freeglut3-dev - libgtk2.0-dev -``` diff --git a/content/streamlit-cloud/get-started/deploy-an-app/connect-data-sources/index.md b/content/streamlit-cloud/get-started/deploy-an-app/connect-data-sources/index.md deleted file mode 100644 index 59bcd6d8b..000000000 --- a/content/streamlit-cloud/get-started/deploy-an-app/connect-data-sources/index.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -title: Connect to data sources -slug: /streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources ---- - -# Connect data sources - -Your app probably connects to some data source, and it's important to make sure that connection is secure. That data might just be a csv that you have in your GitHub repo, but in many cases it'll be a private data source you connect with via API, on a cloud service, or maybe in your company's VPN. - -Streamlit has one primary way of securely connecting to private data: - -- [Secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management): securely store secrets like API keys and TOML files that you can then access as environment variables in your app. - -We also have a series of guides on how to connect to: - - - - -screenshot - -
AWS S3
- -
- - - -screenshot - -
BigQuery
- -
- - - -screenshot - -
Deta Base
- -
- - - -screenshot - -
Firestore (blog)
- -
- - - -screenshot - -
Google Cloud Storage
- -
- - - -screenshot - -
Microsoft SQL Server
- -
- - - -screenshot - -
MongoDB
- -
- - - -screenshot - -
MySQL
- -
- - - -screenshot - -
PostgreSQL
- -
- - - -screenshot - -
Private Google Sheet
- -
- - - -screenshot - -
Public Google Sheet
- -
- - - -screenshot - -
Snowflake
- -
- - - -screenshot - -
Supabase
- -
- - - -screenshot - -
Tableau
- -
- - - -screenshot - -
TiDB
- -
- - - -screenshot - -
TigerGraph
- -
-
- - - -Trouble connecting to data? Need a different way to securely connect? Reach out on our [Community forum](https://discuss.streamlit.io) to chat through options! - - diff --git a/content/streamlit-cloud/get-started/deploy-an-app/connect-data-sources/secrets-management.md b/content/streamlit-cloud/get-started/deploy-an-app/connect-data-sources/secrets-management.md deleted file mode 100644 index 0ce982129..000000000 --- a/content/streamlit-cloud/get-started/deploy-an-app/connect-data-sources/secrets-management.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Secrets management -slug: /streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management ---- - -# Secrets management - -## Introduction - -It's generally considered bad practice to store unencrypted secrets in a git repository. If your application needs access to sensitive credentials the recommended solution is to store those credentials in a file that is not committed to the repository and to pass them as environment variables. - -Secrets Management allows you to store secrets securely and access them in your Streamlit app as environment variables. - -## How to use Secrets Management - -### Deploy an app and set up secrets - -1. Go to [http://share.streamlit.io/](http://share.streamlit.io/) and click "New app" to deploy a new app with secrets. -2. Click "Advanced settings..." -3. You will see a modal appear with an input box for your secrets. - - ![Secrets management](/images/streamlit-community-cloud/secrets-management.png) - -4. Provide your secrets in the "Secrets" field using [TOML](https://toml.io/en/latest) format. For example: - - ```toml - # Everything in this section will be available as an environment variable - db_username = "Jane" - db_password = "12345qwerty" - - # You can also add other sections if you like. - # The contents of sections as shown below will not become environment variables, - # but they'll be easily accessible from within Streamlit anyway as we show - # later in this doc. - [my_cool_secrets] - things_i_like = ["Streamlit", "Python"] - ``` - -### Use secrets in your app - -Access your secrets as environment variables or by querying the `st.secrets` dict. For example, if you enter the secrets from the section above, the code below shows you how you can access them within your Streamlit app. - -```python -import streamlit as st - -# Everything is accessible via the st.secrets dict: - -st.write("DB username:", st.secrets["db_username"]) -st.write("DB password:", st.secrets["db_password"]) -st.write("My cool secrets:", st.secrets["my_cool_secrets"]["things_i_like"]) - -# And the root-level secrets are also accessible as environment variables: - -import os - -st.write( - "Has environment variables been set:", - os.environ["db_username"] == st.secrets["db_username"], -) -``` - - - -You can access `st.secrets` via attribute notation (e.g. `st.secrets.key`), in addition to key notation (e.g. `st.secrets["key"]`)—like [`st.session_state`](/library/api-reference/session-state). - - - -You can even use TOML sections to compactly pass multiple secrets as a single attribute. - -Consider the following secrets: - -```toml -[db_credentials] -username = "my_username" -password = "my_password" -``` - -Rather than passing each secret as attributes in a function, you can more compactly pass the section to achieve the same result. See the notional code below which uses the secrets above: - -```python -# Verbose version -my_db.connect(username=st.secrets.db_credentials.username, password=st.secrets.db_credentials.password) - -# Far more compact version! -my_db.connect(**st.secrets.db_credentials) -``` - -### Edit your app's secrets - -1. Go to [https://share.streamlit.io/](https://share.streamlit.io/) -2. Open the menu for your app, and click "Settings". - ![Edit secrets](/images/streamlit-community-cloud/edit-secrets.png) -3. You will see a modal appear. Click on the "Secrets" section and edit your secrets. - ![Edit secrets modal](/images/streamlit-community-cloud/edit-secrets-1.png) -4. After you edit your secrets, click "Save". It might take a minute for the update to be propagated to your app, but the new values will be reflected when the app re-runs. - -### Develop locally with secrets - -When developing your app locally, add a file called `secrets.toml` in a folder called `.streamlit` at the root of your app repo, and copy/paste your secrets into that file. Further instructions are available in the Streamlit library [Secrets management](/library/advanced-features/secrets-management) documentation. - - - -Be sure to add this file to your `.gitignore` so you don't commit your secrets! - - diff --git a/content/streamlit-cloud/get-started/deploy-an-app/index.md b/content/streamlit-cloud/get-started/deploy-an-app/index.md deleted file mode 100644 index 9822bc085..000000000 --- a/content/streamlit-cloud/get-started/deploy-an-app/index.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Deploy an app -slug: /streamlit-community-cloud/get-started/deploy-an-app ---- - -# Deploy an app - -Streamlit Community Cloud lets you deploy your apps in just one click, and most apps will deploy in only a few minutes. If you don't have an app ready to deploy, [fork or clone one of our example apps](https://streamlit-cloud-example-apps-streamlit-app-sw3u0r.streamlit.app/?hsCtaTracking=28f10086-a3a5-4ea8-9403-f3d52bf26184|22470002-acb1-4d93-8286-00ee4f8a46fb) — you can find apps for machine learning, data visualization, data exploration, A/B testing and more. - - - -If you want to deploy your app on a different cloud service, check out the [Deploy Streamlit apps](/knowledge-base/tutorials/deploy) article in our Knowledge Base. - - - -## Add your app to GitHub - -Streamlit Community Cloud launches apps directly from your GitHub repo, so your app code and dependencies need to be on GitHub before you try to deploy the app. See [App dependencies](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies) for more information. - -### Optionally, add a configuration file - -Streamlit allows you to optionally set configuration options via four different methods. Among other things, you can use custom configs to customize your app's theme, enable logging, or set the port on which your app runs. For more information, see [Configuration](/library/advanced-features/configuration) and [Theming](/library/advanced-features/theming). On Streamlit Community Cloud, however, you can only set configuration options via a configuration file in your GitHub repo. - -Specifically, you can add a configuration file to the root (top-level) directory of your repo: create a `.streamlit` folder, and then add a `config.toml` file to that folder. E.g., if your app is in a repo called `my-app`, you would add a file called `my-app/.streamlit/config.toml`. Say you want to set the theme of your app to "dark". You would add the following to your `.streamlit/config.toml` file: - -```toml -[theme] -base="dark" -``` - - - -There can be only one configuration file, regardless of the number of apps in the repo. - - -## Deploy your app - -To deploy an app, click "**New app**" from the upper right corner of your workspace. - -![New app](/images/streamlit-community-cloud/deploy-empty-new-app.png) - -Fill in your repo, branch, and file path. As a shortcut, you can also click "**Paste GitHub URL**". Optionally, you can specify a custom subdomain. In the example below, the app would be deployed to `https://red-balloon.streamlit.app/`. You can always set or change your subdomain later. See more about [custom subdomains](#custom-subdomains) at the end of this page. - -![Deploy an app](/images/streamlit-community-cloud/deploy-an-app.png) - -## Advanced settings for deployment - -If you are connecting to a data source or want to select a Python version for your app, you can do that by clicking "**Advanced settings**" before you deploy the app. - -![Advanced settings](/images/streamlit-community-cloud/advanced-settings.png) - -You can connect to private data sources by using [secrets management](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). Read more on how to [connect to data sources](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources). - - - -Streamlit Community Cloud supports Python 3.8 - Python 3.11, and defaults to version 3.9. You can select a version of your choice from the "Python version" dropdown in the "Advanced settings" modal. - - - -## Watch your app launch - -Your app is now deploying and you can watch while it launches. Most apps take only a couple of minutes to deploy, but if your app has a lot of dependencies it may take some time to deploy the first time. After the initial deployment, any change that does not touch your dependencies should show up immediately. - -![Watch app launch](/images/streamlit-community-cloud/watch-app-launch.png) - - - -The Cloud logs on the right hand side are only viewable to the developer and is how you can grab logs and debug any issues with the app. [Learn more about Cloud logs](/streamlit-community-cloud/get-started/manage-your-app#cloud-logs). - - - -## Your app URL - -That's it — you're done! Your app now has a unique subdomain URL that you can share with others. Click [here](/streamlit-community-cloud/get-started/share-your-app) to read about how to share your app with viewers. - -### Unique subdomains - -If a custom subdomain was not set, an app URL follows a structure based on your GitHub repo. The URL begins with your GitHub username or organization owning your repo, followed by your repo name, app path, and a short hash. If you deploy from a branch other than `main` or `master`, the URL also includes the branch name. - -```bash -https://[GitHub username or organization]-[repo name]-[app path]-[branch name]-[short hash].streamlit.app -``` - -For example, this is an app deployed from the `streamlit` organization. The repo is `demo-self-driving` and the app name is `streamlit_app.py` in the root directory. The branch name is `master` and therefore not included. - -```bash -https://streamlit-demo-self-driving-streamlit-app-8jya0g.streamlit.app -``` - -### Custom subdomains - -The default subdomain is not always the most memorable or easy to share. That's why you can also set a custom domain for your app. The URL will appear as: - -```bash -https://.streamlit.app -``` - -To view or customize your app subdomain from the dashboard: - -1. Click the "**︙**" overflow menu to the app's right and select "**Settings**". - - ![Custom subdomain settings](/images/streamlit-community-cloud/custom-subdomain-settings.png) - -2. View the "**General**" tab in the App settings modal. Your app's unique subdomain will appear here. - ![Custom subdomain pick](/images/streamlit-community-cloud/custom-subdomain-pick.png) - -3. Pick a custom subdomain between 6 and 63 characters in length for your app's URL and hit "**Save**". - ![Custom subdomain save](/images/streamlit-community-cloud/custom-subdomain-save.png) - -It's that simple! You can then access your app by visiting your custom subdomain URL 🎉. - -If a custom subdomain is not available (e.g. because it's already taken), you'll see an error message like this: - - - -### Embed apps - - - -Documentation for embedding apps has moved to [Embed your app](/streamlit-community-cloud/get-started/embed-your-app). Please update your bookmarks. - - \ No newline at end of file diff --git a/content/streamlit-cloud/get-started/embed-your-app.md b/content/streamlit-cloud/get-started/embed-your-app.md deleted file mode 100644 index 30ee4e6d8..000000000 --- a/content/streamlit-cloud/get-started/embed-your-app.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: Embed your app -slug: /streamlit-community-cloud/get-started/embed-your-app ---- - -# Embed your app - -Embedding [Streamlit Community Cloud](https://streamlit.io/cloud) apps enriches your content by integrating interactive, data-driven applications directly within your pages. Whether you're writing a blog post, a technical document, or sharing resources on platforms like Medium, Notion, or even StackOverflow, embedding Streamlit apps adds a dynamic component to your content. This allows your audience to interact with your ideas, rather than merely reading about them or looking at screenshots. - -Streamlit Community Cloud supports both [iframe](#embedding-with-iframes) and [oEmbed](#embedding-with-oembed) methods for embedding **public** apps. This flexibility enables you to share your apps across a wide array of platforms, broadening your app's visibility and impact. In this guide, we'll cover how to use both methods effectively to share your Streamlit apps with the world. - -## Embedding with iframes - -Streamlit Community Cloud supports embedding **public** apps using the subdomain scheme. To embed a public app, add the query parameter `/?embed=true` to the end of the `*streamlit.app` URL. - -For example, say you want to embed the [30DaysOfStreamlit app](https://30days.streamlit.app/). The URL to include in your iframe is: [https://30days.streamlit.app/?embed=true](https://30days.streamlit.app/?embed=true): - -```javascript - -``` - - - - - -There will be no official support for embedding private apps. - - - -In addition to allowing you to embed apps via iframes, the `?embed=true` query parameter also does the following: - -- Removes the toolbar with the app menu icon (⋮) -- Removes the padding at the top and bottom of the app -- Removes the footer -- Removes the colored line from the top of the app - -For granular control over the embedding behavior, Streamlit allows you to specify one or more instances of the `?embed_options` query parameter (e.g. to show the toolbar, open the app in dark theme, etc). [Click here for a full list of Embed options.](#embed-options) - -## Embedding with oEmbed - -The new oEmbed support allows for a simpler embedding experience. You can now directly drop a Streamlit app's URL into a Medium, Ghost, or Notion page (or any site that supports oEmbed or [embed.ly](https://embed.ly/), which includes over 700 content providers), and the embedded app will automatically appear. This helps Streamlit Community Cloud apps seamlessly integrate into these platforms, improving the visibility and accessibility of your apps. - -### Example - -When creating content in a Notion page, Medium article, or Ghost blog, you only need to paste the app's URL and hit Enter. The app will then render automatically at that spot in your content. Use the same URL as for iframe embedding, but without the `?embed=true` query parameter. - -``` -https://30days.streamlit.app/ -``` - -Here's an example of [@chrieke's](https://github.com/chrieke) Prettymapp [app](https://chrieke-prettymapp-streamlit-prettymappapp-1k0qxh.streamlit.app/) embedded in a Medium article: - -oEmbed example - - - -Ensure the platform hosting the embedded Streamlit app supports oEmbed or [embed.ly](https://embed.ly/). - - - -### Key Sites for oEmbed - -oEmbed should work out of the box for several platforms including but not limited to: - -- [Medium](https://medium.com/) -- [Notion](https://notion.so/) -- [Looker](https://www.looker.com/) -- [Tableau](https://www.tableau.com/) -- [Ghost](https://ghost.org/) -- [Discourse](https://www.discourse.org/) -- [StackOverflow](https://stackoverflow.com/) -- [W3](https://www.w3schools.com/) -- [Reddit](https://www.reddit.com/) - -Please check the specific platform's documentation to verify support for oEmbed. - -### iframe versus oEmbed - -The only noteworthy differences between the methods is that iframing allows you customize the app's embedding behavior (e.g. showing the toolbar, opening the app in dark theme, etc) using the various `?embed_options` described in the next section. - -## Embed options - -When [Embedding with iframes](#embedding-with-iframes), Streamlit allows you to specify one or more instances of the `?embed_options` query parameter for granular control over the embedding behavior. The supported values for `?embed_options` are listed below: - -1. Show the toolbar at the top right of the app (menu, running man, ...). - - ```javascript - /?embed=true&embed_options=show_toolbar - ``` - -2. Show padding at the top and bottom of the app. - - ```javascript - /?embed=true&embed_options=show_padding - ``` - -3. Show the footer reading "Made with Streamlit." - - ```javascript - /?embed=true&embed_options=show_footer - ``` - -4. Show the colored line at the top of the app. - - ```javascript - /?embed=true&embed_options=show_colored_line - ``` - -5. Disable scrolling for the main body of the app. (The sidebar will still be scrollable.) - - ```javascript - /?embed=true&embed_options=disable_scrolling - ``` - -6. Open the app with light theme. - - ```javascript - /?embed=true&embed_options=light_theme - ``` - -7. Open the app with dark theme. - - ```javascript - /?embed=true&embed_options=dark_theme - ``` - -You can also combine the params: - -```javascript -/?embed=true&embed_options=show_toolbar&embed_options=show_padding&embed_options=show_footer&embed_options=show_colored_line&embed_options=disable_scrolling -``` - -Both `?embed` and `?embed_options` are invisible to [`st.experimental_get_query_params`](/library/api-reference/utilities/st.experimental_get_query_params) and [`st.experimental_set_query_params`](/library/api-reference/utilities/st.experimental_set_query_params). The former ignores the embed query parameters and does not return them, while the latter disallows setting embed query parameters. diff --git a/content/streamlit-cloud/get-started/explore-your-workspace.md b/content/streamlit-cloud/get-started/explore-your-workspace.md new file mode 100644 index 000000000..4c79ebf69 --- /dev/null +++ b/content/streamlit-cloud/get-started/explore-your-workspace.md @@ -0,0 +1,28 @@ +--- +title: Explore your workspace +slug: /streamlit-community-cloud/get-started/explore-your-workspace +--- + +# Explore your workspace + +If you just [created your account](/streamlit-community-cloud/get-started/create-your-account), congrats! You are now logged in and ready to go. If you are joining someone else's workspace you may already see apps populated in your workspace. If not, then you need to deploy an app! Check out our next section on how to [Deploy your app](/streamlit-community-cloud/deploy-your-app). If you need an app to deploy, check out our App gallery which includes apps for machine learning, data science, and business use cases. + +![Your Streamlit Community Cloud workspace](/images/streamlit-community-cloud/workspace-empty.png) + +You may also find that you already have access to multiple Streamlit Community Cloud workspaces. Streamlit Community Cloud automatically groups your apps according to the corresponding GitHub repository's owner or organzation. In the upper-right corner you can see the workspaces you have access to. If apps have already been deployed from any of your repositories, then you will see those apps when you select the associated workspace in the upper-right corner. Learn more about how to [Manage your app from your workspace](/streamlit-community-cloud/manage-your-app#manage-your-app-from-your-workspace). + +![Switch between your Streamlit Community Cloud workspaces](/images/streamlit-community-cloud/workspace-empty-switch.png) + +## Invite other developers to your workspace + +Inviting other developers is simple, just invite them to your GitHub repository so that you can code on apps together, and then have them log in to share.streamlit.io/signup. Read more about connecting to a GitHub organization in [Organization access](/streamlit-community-cloud/get-started/connect-your-github-account#organization-access). + +Streamlit Community Cloud inherits developer permissions from GitHub so when others sign in, they will automatically see the workspaces they share with you. From there you can all deploy, manage, and share apps together. + + + +Once a user is added to a repository on GitHub, it will take at most 15 minutes before they can deploy the app on Cloud. If a user is removed from a repository on GitHub, it will take at most 15 minutes before their permissions to manage the app from that repository are revoked. + + + +And remember, whenever anyone on the team updates the code on GitHub, the app will also automatically update for you! diff --git a/content/streamlit-cloud/get-started/index.md b/content/streamlit-cloud/get-started/index.md index 28b39f25e..3bd91ee5e 100644 --- a/content/streamlit-cloud/get-started/index.md +++ b/content/streamlit-cloud/get-started/index.md @@ -5,143 +5,29 @@ slug: /streamlit-community-cloud/get-started # Get started -Welcome to Streamlit Community Cloud! First things first, before you get started with Streamlit Community Cloud, you need to have a Streamlit app to deploy. If you haven't built one yet, read our [Get started](/library/get-started) docs or start with an [Example app](https://streamlit-cloud-example-apps-streamlit-app-sw3u0r.streamlit.app/). Either way, it only takes a few minutes to create your first app. - -## How Streamlit Community Cloud works - -Streamlit Community Cloud is a workspace for your team to deploy, manage, and collaborate on your Streamlit apps. You connect your Streamlit Community Cloud account directly to your GitHub repository (public or private) and then Streamlit Community Cloud launches the apps directly from the code you've stored on GitHub. Most apps will launch in only a few minutes, and any time you update the code on GitHub, your app will automatically update for you. This creates a fast iteration cycle for your deployed apps, so that developers and viewers of apps can rapidly prototype, explore, and update apps. - - - -Under the hood Streamlit Community Cloud handles all of the containerization, authentication, scaling, security and everything else so that all you need to worry about is creating the app. Maintaining Streamlit apps is easy. Containers get the latest security patches, are actively monitored for container health. We are also building the capability to observe and monitor apps. - -## Getting started - -Getting your workspace set up with Streamlit Community Cloud only takes a few minutes. - -1. [Sign up for Streamlit Community Cloud](#sign-up-for-streamlit-cloud) -2. [Log in to your account](#log-in-to-sharestreamlitio) -3. [Connect your Streamlit Community Cloud account to GitHub](#connect-your-github-account) -4. [Explore your Streamlit Community Cloud workspace](#explore-your-streamlit-cloud-workspace) -5. [Invite other developers on your team](#invite-other-developers-to-your-workspace) - -## Sign up for Streamlit Community Cloud - -Streamlit's Community Cloud allows you to deploy, manage, and share your apps with the world, directly from Streamlit — all for free. Sign up on the [Community Cloud homepage](https://streamlit.io/cloud). - -Once you've signed up, login to [share.streamlit.io](https://share.streamlit.io) and follow the steps below. - -## Log in to share.streamlit.io - -You can login to Streamlit Community Cloud with: - -1. [Google](#sign-in-with-google) -2. [GitHub](#sign-in-with-github) -3. [Email](#sign-in-with-email) based sign-in link: These are single-use links that are valid for up to 15 minutes. - - - -If you're a developer, we recommend starting with GitHub the first time you login. You can later setup your account to login using Google. - -If you're sharing your app, your app's users can use any of the above methods to login. - -
- Cloud sign in -
- - - -### Sign in with Google - -Visit [share.streamlit.io](https://share.streamlit.io) and click the "Continue with Google" button. - - - -On the next page, choose an account to sign in with and enter your Google account credentials. - - - -Once you have signed in to Google, you will be taken to your Streamlit Community Cloud workspace!🎈 - - - -### Sign in with GitHub - -Visit [share.streamlit.io](https://share.streamlit.io) and click the "Continue with GitHub" button. - - - -On the next page, enter your GitHub credentials to sign in. - - - -Once you have signed in to GitHub, you will be taken to your Streamlit Community Cloud workspace!🎈 - - - -### Sign in with Email - -If you don't have SSO, you can sign in with your email address! Visit [share.streamlit.io](https://share.streamlit.io), enter the email address you used to sign up for Streamlit Community Cloud, and click the "Continue with email" button. - - - -Once you do so, you will see a confirmation message (like the one below) asking you to check your email. - - - -Check your inbox for an email from Streamlit, with the subject "Sign in to Streamlit Community Cloud". Click the link in the email to sign in to Streamlit. Note that this link will expire in 15 minutes and can only be used once. - - - -Once you click the link in your email, you will be taken to your Streamlit Community Cloud workspace!🎈 - - - -## Connect your GitHub account - -Next you need to authorize Streamlit to connect to your GitHub account. This lets your Streamlit Community Cloud workspace launch apps directly from the app files you store in your repos, as well as let the system check for updates to those app files so that your apps can automatically update. You will see two different authorization screens to give this access. Click "authorize" on both. Questions about GitHub permissions? [Read more here](/streamlit-community-cloud/troubleshooting#github-integration)! - - - -You must have **admin** permissions to your repo in order to deploy apps. If you don't have admin access, talk to your IT team or manager about helping you set up your Streamlit Community Cloud account or reach out to us on the [Community forum](https://discuss.streamlit.io/). - - - -
- - - - -
- - - -Once a user is added to a repository on GitHub, it will take at most 15 minutes before they can deploy the app on Cloud. If a user is removed from a repository on GitHub, it will take at most 15 minutes before their permissions to manage the app from that repository are revoked. - - - -## Explore your Streamlit Community Cloud workspace - -Congrats! You are now logged in and ready to go. If you are joining someone else's workspace you may already see apps populated in your workspace. If not, then you need to deploy an app! Check out our next section on how to [deploy an app](/streamlit-community-cloud/get-started/deploy-an-app). And if you need an app to deploy check out our [example apps](https://streamlit-cloud-example-apps-streamlit-app-sw3u0r.streamlit.app/) that include apps for machine learning, data science, and business use cases. - -Workspace 1 - -You may also find that you already have multiple Streamlit Community Cloud workspaces. Streamlit Community Cloud automatically groups your apps according to the corresponding GitHub repository's owner. In the upper right corner you can see the workspaces you have access to. If your team has already launched apps, then you will see those apps in your workspace. Read more about workspaces [here](/streamlit-community-cloud/get-started/manage-your-app#app-workspaces). - -Workspace 2 - -## Invite other developers to your workspace - -Inviting other developers is simple, just invite them to your GitHub repository so that you can code on apps together, and then have them log in to [share.streamlit.io](https://share.streamlit.io). If you are working as a team, you likely are already in the same repos, so skip step 1 and go straight to having them log into [share.streamlit.io](https://share.streamlit.io) - -Streamlit Community Cloud inherits developer permissions from GitHub, so when your teammates log in, they will automatically view the workspaces you share. From there you can all deploy, manage, and share apps together. - -And remember, whenever anyone on the team updates the code on GitHub, the app will also automatically update for you! +Welcome to Streamlit Community Cloud, where you can share your Streamlit apps with the world! Whether you've already created your first Streamlit app or you're just getting started, you're in ther right place. + +First things first, you need to create your Streamlit Community Cloud account to start deploying apps. + + + + + + + +If you're looking for help to build your first Streamlit app, read our [Get started](/library/get-started) docs for the Streamlit library. If you want to fork an app and start with an example, check out our App gallery. Either way, it only takes a few minutes to create your first app. diff --git a/content/streamlit-cloud/get-started/manage-your-app.md b/content/streamlit-cloud/get-started/manage-your-app.md deleted file mode 100644 index aa24d09f7..000000000 --- a/content/streamlit-cloud/get-started/manage-your-app.md +++ /dev/null @@ -1,277 +0,0 @@ ---- -title: Manage your app -slug: /streamlit-community-cloud/get-started/manage-your-app ---- - -# Manage your app - -You can manage your app directly from the deployed app in your developer view or you can log in to your app dashboard at [share.streamlit.io](https://share.streamlit.io/) to view, deploy, delete, reboot, or favorite an app. - -- [Manage apps from your developer view](#manage-apps-from-your-developer-view) -- [Manage apps from your app dashboard](/streamlit-community-cloud/get-started/manage-your-app#manage-apps-from-your-app-dashboard) -- [Manage apps in GitHub](/streamlit-community-cloud/get-started/manage-your-app#manage-apps-in-github) -- [App resources and limits](/streamlit-community-cloud/get-started/manage-your-app#app-resources-and-limits) -- [App favoriting](/streamlit-community-cloud/get-started/manage-your-app#app-favoriting) -- [Analytics Modal](/streamlit-community-cloud/get-started/manage-your-app#analytics-modal) - -## Manage apps from your developer view - -Once you have deployed an app you will have a developer view for that app. - -### Developer view - -Click on the bottom right where it says "Manage app" to view your Cloud logs and other settings. - -![Developer view](/images/streamlit-community-cloud/developer-view.png) - -### Cloud logs - -Once you've clicked on "Manage app", you will be able to view your app's logs. This is your primary place to troubleshoot any issues with your app. - -![Cloud logs](/images/streamlit-community-cloud/cloud-logs.png) - -You can also click on the "︙" overflow menu at the bottom of the Cloud logs to view other options for your app including the ability to download logs, reboot the app, delete the app, navigate to settings (which includes managing viewer access and app secrets), go to your app dashboard, go to documentation, contact support, or sign out. - -
- -
- -## Manage apps from your app dashboard - -When you first log into share.streamlit.io you will land on your app dashboard, which gives you a list of all your deployed apps. This list does include apps deployed by other developers in your workspace, since you're all managers of those apps. Such apps are indicated with an icon like this one: - -
- -
- -### App workspaces - -Streamlit Community Cloud is organized into workspaces, which automatically group your apps according to the corresponding GitHub repository's owner. If you are part of multiple repositories, then you will have multiple workspaces. - -![App workspaces 1](/images/streamlit-community-cloud/app-workspaces-1.gif) - -If an app's GitHub repository is owned by you, the app will appear in your personal workspace, named "". - -![App workspaces 2](/images/streamlit-community-cloud/app-workspaces-2.png) - -If an app's GitHub repository is owned by **an organization** (such as your company), the app will appear in a separate workspace, named "". - -![App workspaces 3](/images/streamlit-community-cloud/app-workspaces-3.jpg) - -You will also have access to any workspaces containing app(s) for which you only have **view access**. These apps will have a "view-only" tooltip when you click on their respective overflow menu icons (⋮). - -![App workspaces 4](/images/streamlit-community-cloud/app-workspaces-4.png) - -To switch between workspaces, click on the workspace listed in the top right corner, then select the desired workspace name. - -![App workspaces 5](/images/streamlit-community-cloud/app-workspaces-5.png) - -### Reboot an app - -If your app needs a hard reboot, click on the "︙" overflow menu to the right of the app and click to Reboot. This will interrupt any user that may currently be using that app. It may also take a few minutes for your app to re-deploy, and in that time you — and anyone visiting the app — will see the 'Your app is in the oven' screen. - -![Reboot an app](/images/streamlit-community-cloud/reboot-an-app.png) - -### App settings - -The app settings let you [pick a custom subdomain for your app](/streamlit-community-cloud/get-started/deploy-an-app#your-app-url), [manage viewers of your apps](/streamlit-community-cloud/get-started/share-your-app#adding-viewers-from-your-dashboard) and [secrets of your apps](/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management). Click on the links to lean more about these features. - -## Manage apps in GitHub - -### Update your app - -Your GitHub repository is the source for the app, so that means that any time you push an update to your repo you'll see it reflected in the app in almost real time. Try it out! - -Streamlit also smartly detects whether you touched your dependencies, in which case it will automatically do a full redeploy for you—which will take a little more time. But since most updates don't involve dependency changes, you should usually see your app update in real time. - -### Add or remove dependencies - -You can add/remove dependencies at any point by updating `requirements.txt` (Python deps) or `packages.txt` (Debian deps) and doing a `git push` to your remote repo. This will cause Streamlit to detect there was a change in its dependencies, which will automatically trigger its installation. - -It is best practice to pin your Streamlit version in `requirements.txt`. Otherwise, the version may be auto-upgraded at any point without your knowledge, which could lead to undesired results (e.g. when we deprecate a feature in Streamlit). - -## App resources and limits - -### Resource limits - - - -All Community Cloud users have access to the same resources and are subject to the same limits (1 GB of RAM). -If your app is running slowly or you're hitting the 'Argh' page, we first highly recommend going through and implementing the suggestions in the following blog posts to prevent your app from hitting the resource limits and to detect if your Streamlit app leaks memory: - -- [Common app problems: Resource limits](https://blog.streamlit.io/common-app-problems-resource-limits/) -- [3 steps to fix app memory leaks](https://blog.streamlit.io/3-steps-to-fix-app-memory-leaks/) - - -#### Developer view - -If your app exceeds its resource limits, you will see one of the following messages when you visit your app. If your app uses an older version of Streamlit (`<1.1.0`) without memory fixes, you will see the message on the left. If your app uses a newer version of Streamlit (`>=1.1.0`), you will see the message on the right: - - - - - - -Similarly, you will receive one of the following two emails from [alert@streamlit.io](mailto:alert@streamlit.io) with the subject "Your Streamlit app has gone over its resource limits 🤯": - - - - - - -#### Non-developer view - -If your app exceeds its resource limits, users with view-only access will see one of the following messages when they visit your app. They will see the message on the left if your app uses an older version of Streamlit (`<1.1.0`) without memory fixes, and the message on the right if your app uses a newer version of Streamlit (`>=1.1.0`). Viewers have the option to notify you when the app exceeds its resource limits: - - - - - - -### App hibernation - - - -Private apps will not hibernate, but public Community Cloud apps without traffic for 7 consecutive days will automatically go to sleep. This is done to alleviate resources and allow the best communal use of the platform! Here are some need to know's about how this works: - -- As the app developer, you will receive an email after 5 days of no traffic on your app. -- If you would like to keep your app awake, you have one of two choices: - - Visit the app (create traffic). - - Push a commit to the app (this can be empty!). -- If left alone the app will go to sleep at the 7 day mark (2 days after you receive the email). When someone visits the app after this, they will see the sleeping page: -
- -
-- To wake the app up, press the "Yes, get this app back up!" button. This can be done by *anyone* who wants to view the app, not just the app developer! -- You can also wake apps through your Streamlit Community Cloud dashboard. You will know which apps are sleeping because a moon icon will appear next to the app settings. To wake an app from the dashboard, click the moon. -
- -
- -## App favoriting - -Streamlit Community Cloud supports a "favorite" feature that lets you quickly access your apps from the app dashboard. Favorited apps appear at the top of the app dashboard with a yellow star (⭐) beside them. You can favorite and unfavorite apps in any workspace to which you have access. - - - -Favorites are specific to your account. Other members of your workspace cannot see which apps you have favorited. - - - -### Favorite an app from your app dashboard - -There are two ways to favorite an app from the app dashboard: - -1. Hover over an app and click the star (☆) that appears. - ![Favorite an app hover](/images/streamlit-community-cloud/favorite-app-dashboard-hover.png) -2. Click on the "︙" overflow menu to the app's right and click to Favorite. - ![Favorite an app menu](/images/streamlit-community-cloud/favorite-app-dashboard-menu.png) - -To unfavorite an app, either hover over the app and click the star (⭐) again, or click on the "︙" overflow menu to the app's right and click to Unfavorite. - -### In-app favoriting - -You can also favorite an app from right within the app! Currently, in-app favoriting is available for apps that use Streamlit v1.4.0 or later. Note that in-app favoriting is not available on apps in your workspaces for which you only have view access. - -When viewing any app in your workspace, click the star (☆) in the top-right corner of the app, beside the "⋮" app menu icon. - -![In-app favoriting](/images/streamlit-community-cloud/un-favorited.png) - -To unfavorite an app, click the star (⭐) again. - -![In-app un-favoriting](/images/streamlit-community-cloud/favorited-view.png) - - - -Click [here](/knowledge-base/deploy/upgrade-streamlit-version-on-streamlit-cloud) to learn more about upgrading the Streamlit version of your app on Streamlit Community Cloud. - - - -## Analytics Modal - -Once you have access to a Streamlit workspace, you have access to 2 types of analytics: - -1. [Workspace analytics](/streamlit-community-cloud/get-started/manage-your-app#workspace-analytics): shows you how many viewers in total have visited _all_ the apps in your workspace. - Workspace analytics -2. [App viewers](/streamlit-community-cloud/get-started/manage-your-app#app-viewers): shows you who has recently viewed your workspace’s individual apps and when. - Workspace analytics - - - -The Analytics Modal is visible to everyone with access to your workspace, including admins, developers, or anyone with viewer access to a workspace. - - - -### Workspace analytics - -Streamlit Community Cloud enables you to view analytics data for all apps in your workspace in one central dashboard. At a glance, you get an overview of how active your workspace is and how popular your apps are. - -To view your Workspace analytics: - -1. Select the "**Analytics**" option on the dashboard header - ![Workspace analytics header dashboard](/images/streamlit-community-cloud/workspace-analytics-header.png) -2. View the "**Workspace**" tab in the Analytics modal - ![Workspace analytics modal](/images/streamlit-community-cloud/workspace-analytics-modal.png) - -You're presented with a graph that you can hover over to see the number of users who have viewed at least one app in your workspace that month. This viewers count includes apps that anyone in your workspace created. - -Solid lines indicate fully-complete months on the dashboard, while dotted lines indicate the current in-progress month. - - - -Viewers data on your dashboard starts from April 2022 and onward. April 2022 data was our first month comprehensively tracking user analytics in Streamlit workspaces, and our tracking is even more refined starting in May 2022 and onward. - - - -### App viewers - -In addition to a general overview of the activity of your workspace and the popularity of your apps, Streamlit Community Cloud allows you to drill down to the level of individual apps and understand their viewership better. - -As an app developer or a viewer with access to a given workspace, you can see who has viewed a given app and when. Specifically, you can see the total viewers count of your app (since April 2022 and onward), the most recent unique viewers (capped up to your last 20 viewers), and a relative timestamp of their last view. - -There are three ways to access the app viewers data: - -1. From the app dashboard, click the "**︙**" overflow menu to the app's right and select **Analytics**: - ![Analytics option dashboard](/images/streamlit-community-cloud/app-viewers-dashboard.png) - - Doing so opens the "**App viewers**" tab of the "**Analytics**" modal. - ![App viewers analytics modal](/images/streamlit-community-cloud/app-viewers-analytics-modal.png) - - The dropdown selects your app by default and displays: - - - The total (all time) number of unique viewers for the app. - - A list of the most recent viewers' names and a relative timestamp of their last view, sorted by the time since the last view (newest first). - -2. Click the "**Analytics**" option on the dashboard header and select the "**App viewers**" tab: - ![Analytics option header](/images/streamlit-community-cloud/app-viewers-header.png) - - Doing so opens the "**App viewers**" tab of the "**Analytics**" modal. - - ![App viewers analytics dropdown options](/images/streamlit-community-cloud/app-viewers-dropdown-options.png) - - The first app in your workspace is pre-selected in the dropdown by default. You can select the app you want to see the analytics for by clicking the corresponding app in the dropdown. - - ![App viewers analytics dropdown](/images/streamlit-community-cloud/app-viewers-analytics-modal.png) - -3. You can also access app viewer analytics from right within individual apps! This is a capability if you have GitHub push access for a given app. Just view any app in your workspace as a developer, click the "**︙**" overflow menu at the bottom of the Cloud logs and select "**Analytics**": - - - - - - -#### **App viewers for public vs private apps** - -For public apps, we anonymize all viewers outside your workspace to protect their privacy and display anonymous viewers as random pseudonyms. You'll still be able to see the identities of fellow members in your workspace, though. - -Meanwhile, for private apps that are only accessible to your own workspace's viewers, you will be able to see the specific users who recently viewed your apps. - -Additionally, you may occasionally see anonymous users in private apps. Rest assured, these anonymous users _do_ have authorized view access granted by you or your workspace members. - -Common reasons why users show up anonymously are: - -1. The app was previously public -2. Given viewer viewed app in April 2022, when the Streamlit team was honing user identification for this feature -3. Given viewer disconnected their SSO and GitHub accounts previously - -See Streamlit's general [Privacy Notice](https://streamlit.io/privacy-policy). diff --git a/content/streamlit-cloud/get-started/quickstart.md b/content/streamlit-cloud/get-started/quickstart.md new file mode 100644 index 000000000..5f613e436 --- /dev/null +++ b/content/streamlit-cloud/get-started/quickstart.md @@ -0,0 +1,97 @@ +--- +title: Quickstart +slug: /streamlit-community-cloud/get-started/quickstart +--- + +# Quickstart + +This is a concise set of steps to create your Streamlit Community Cloud account and deploy a sample app. For other options and complete explanations, start with [Create your account](/streamlit-community-cloud/get-started/create-your-account). + +You will be signing in to your Google and GitHub accounts during this process. If you do not already have these accounts, you can create them before you begin. If you do not want to use a Google account, you can [create your account with any email](/streamlit-community-cloud/get-started/create-your-account#primary-identity-option-2-email). + +## Sign up + +1. Go to share.streamlit.io/signup. +2. Click "**Continue with Google**". + +
+Sign up for Streamlit Community Cloud with Google +
+ +3. Enter your Google credentials and follow Google's authentication prompts. +4. After authenticating with Google, click "**Connect GitHub account**". + +
+Connect your GitHub account to Streamlit Community Cloud +
+ +5. Enter your GitHub credentials and follow GitHub's authentication prompts. +6. Click "**Authorize streamlit**". + +
+Authorize streamlit to connect to your GitHub account +
+ +7. To finish, fill in your information and click "**Continue**" at the bottom of the screen. + +
+Set up your Streamlit Community Cloud account +
+ +8. You will be taken to your Streamlit workspace. If you see a warning icon (warning) next to "**Settings**" in the upper-right corner, this will be addressed in the next steps. + +
+Your new workspace in Streamlit Community Cloud +
+ +## Fork a sample app + +9. Click the down arrow (expand_more) to expand the options under "**New App**". + +
+Options to deploy a new app from your workspace in Streamlit Community Cloud +
+ +10. Click "**Create from sample app template**". + +
+Deploy a new app from a sample app template +
+ +11. You will be prompted that "Streamlit is requesting additional permissions". Click "**Authorize streamlit**". + +
+Authorize streamlit to access private repositories +
+ +12. Click "**Fork sample app**". + +
+Fork the sample Streamlit app +
+ +## Deploy a sample app + +13. After the repository is copied to your GitHub account, the forked repository's information is prefilled into a deployment screen. Click "**Deploy!**" + +
+Deploy your sample Streamlit app +
+ +14. Wait for the app to build. This may take a few minutes. + +
+Watch your app build and deploy +
+ +## You're done! + +Congratulations! You just deployed an app to Streamlit Community Cloud. 🎉 Your app may take a few minutes to fully build, but once it's done it will load automatically. + +
+See your deployed Streamlit app +
+ +## What's next? + +Start modifying the code in your forked repository and have fun exploring. Alternatively, you can [deploy another Streamlit app](/streamlit-community-cloud/deploy-your-app). Happy Streamlit-ing!🎈 diff --git a/content/streamlit-cloud/security-model.md b/content/streamlit-cloud/get-started/security-model.md similarity index 89% rename from content/streamlit-cloud/security-model.md rename to content/streamlit-cloud/get-started/security-model.md index 3ee165582..33bb5b1e7 100644 --- a/content/streamlit-cloud/security-model.md +++ b/content/streamlit-cloud/get-started/security-model.md @@ -1,6 +1,6 @@ --- title: Streamlit Trust and Security -slug: /streamlit-community-cloud/trust-and-security +slug: /streamlit-community-cloud/get-started/trust-and-security --- # Streamlit Trust and Security @@ -15,7 +15,7 @@ number = st.slider("Pick a number: ", min_value=1, max_value=10) st.text("Your number is " + str(number)) ``` -When you `streamlit run my_app.py`, you start a web server that runs the interactive application on your local computer at `http://localhost:8501`. This is great for local development. When you want to share with your colleagues, Streamlit Community Cloud enables you to deploy and run these applications in the cloud. Streamlit Community Cloud handles all the details of scaling, reliability, and security as well as providing you an interface for easily managing your deployed apps. +When you `streamlit run my_app.py`, you start a web server that runs the interactive application on your local computer at `http://localhost:8501`. This is great for local development. When you want to share with your colleagues, Streamlit Community Cloud enables you to deploy and run these applications in the cloud. Streamlit Community Cloud handles all the details of containerization and provides you an interface for easily managing your deployed apps. This document is an overview of how we provide best-in-industry security for you. We'll cover all the important areas in the lifecycle of your data: @@ -25,15 +25,15 @@ This document is an overview of how we provide best-in-industry security for you ## Product Security -### SSO +### Authentication -All access and sign-ins to Streamlit are conducted via an SSO provider: GitHub and GSuite. We do not store customer passwords. +Authentication through GitHub is required to deploy or administer an app. Authentication through Google or single-use emailed links are required to view a private app for which you are not an admin. These links are valid for 15 minutes once requested. We do not store customer passwords. ### Credential Storage We encrypt sensitive customer data (e.g. secrets, authentication tokens) at-rest with AES256 as described in Google's documentation. -### Permissions and Role-Based Access Control +### Permissions Our permission levels inherit from the permissions you have assigned in GitHub. Users with write access to a GitHub repository for a given app will be able to make changes in the Streamlit administrative console. @@ -86,9 +86,3 @@ All employees sign a confidentiality agreement before they start at Streamlit. ### Vulnerability Management We keep our systems up-to-date with the latest security patches and continuously monitor for new vulnerabilities through compliance and security mailing lists. This includes automatic scanning of our code repositories for vulnerable dependencies. - - - -If you have further questions about Community Cloud and our security approach, please reach out to us on the [Community forum](https://discuss.streamlit.io/). - - diff --git a/content/streamlit-cloud/get-started/share-your-app/index.md b/content/streamlit-cloud/get-started/share-your-app/index.md deleted file mode 100644 index 4b5c80b62..000000000 --- a/content/streamlit-cloud/get-started/share-your-app/index.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -title: Share your app -slug: /streamlit-community-cloud/get-started/share-your-app ---- - -# Share your app - -Now that your app is deployed you can easily share it and collaborate on it. But first, let's take a moment and do a little joy dance for getting that app deployed! 🕺💃 - -Your app is now live at that fixed URL, so go wild and share it with whomever you want. Your app will inherit permissions from your GitHub repo, meaning that if your repo is private your app will be private and if your repo is public your app will be public. If you want to change that you can simply do so from the app menu. - -- [Sharing private apps](#sharing-private-apps) -- [Sharing public apps](#sharing-public-apps) -- [Adding developers](/streamlit-community-cloud/get-started/share-your-app#adding-developers) - -There are three primary ways to share your app with viewers. You can either directly add viewers from the in-app share menu, or do so from the Cloud logs menu, or from your app dashboard. - -## Sharing private apps - -By default all apps deployed from private source code are private to the developers in the workspace. Your apps will not be visible to anyone else unless you grant them explicit permission. You can grant permission either in your workspace or from the app itself. - -![Sharing private apps](/images/streamlit-community-cloud/sharing-private-apps.png) - -### What is viewer auth? - - - -Viewer auth allows you to restrict the viewers of your app. To access your app, users have to authenticate using an email-based passwordless login or Google OAuth. - -### Configuring single sign-on - - - -Google OAuth is enabled by default, so if you use Google, you're good to go. - - - -Once you have added someone's email address to your app's viewer list, that person will be able to sign in via Google Single Sign-On and view your app. They will also receive an email inviting them to view your app. If they are already logged in with that account in their browser (the usual case for most people) then they will automatically be able to view the app. If they are not logged in, or they have not been given access, then they will see a page asking them to first log in. - - - -Having trouble granting access? Is a viewer having trouble logging on? See our [troubleshooting section](/streamlit-community-cloud/troubleshooting) for help. - - - - - -### Adding viewers from the in-app share menu - -You can add viewers from the in-app share menu by clicking the "Share" button in the top right corner of your deployed app. - -1. **Click "Share" in the top right corner.** - -
- -
- -2. **Enter the email addresses of the viewers.** - -
- -
- -3. **Click "Invite".** - - It's that easy! The viewers you have added will receive an email inviting them to visit your app. The most recently added viewers will appear at the top of the list in the in-app share menu. - -
- -
- -To remove a viewer, simply hover over their email address and click "X" that appears to the right: - -
- -
- -Developers, invited viewers, and members of your workspace can all see the in-app share menu, read the list of viewers, and add and remove viewers. - - - -Only developers are allowed to toggle whether the app is public or private. App viewers don't have permission to change this setting. - - - -### Adding viewers from the Cloud logs menu - -From your deployed app you can easily add viewers from your Cloud logs menu. - -1. **Select "Manage app" in the lower right corner.** - -
- -
- -2. **Choose "Settings" from the menu.** - -
- -
- -3. **Add Viewers in Settings.** - - You can choose to allow only selected viewers based on their individual emails. Make sure to enter them as a line-separated list. - - ![Add viewers](/images/streamlit-community-cloud/add-viewers.png) - -### Adding viewers from the app dashboard - -You can also add viewers directly from your dashboard. - -1. **Open settings for your app** - - Navigate to the app you want to add viewer to and click the overflow menu icon (⋮) to select "Settings." - -
- -
- -2. **Add Viewers in Settings** - - Click on the "Sharing" section in the App Settings and in the text input area, provide a line-separated list of email addresses for the users you wish to grant viewer access to your app. Click "Save." - -
- -
- -## Sharing public apps - -From your deployed app you can click on the "⋮" icon on the top right and select 'Share this app' to post it directly into social media or to share with the community on our [Community forum](https://discuss.streamlit.io/c/streamlit-examples/9). We'd love to see what you make and perhaps feature your app as our app of the month ❤️. - -### Add a GitHub badge - -To help others find and play with your Streamlit app, you can add Streamlit's GitHub badge to your repo. Below is an example of what the badge looks like. Clicking on the badge takes you to, in this case, Streamlit's Face-GAN Demo. - - - -Once you deploy your app, you can embed this badge right into your GitHub README.md by adding the following Markdown: - -```markdown -[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://.streamlit.app) -``` - - - -Be sure to replace `https://.streamlit.app` with the URL of your deployed app! - - - -## Adding developers - -Inviting other developers is simple, just invite them to your GitHub repository so that you can code on apps together, and then have them log in to [share.streamlit.io](https://share.streamlit.io). If you are working as a team, you likely are already in the same repos, so skip step 1 and go straight to having them log into [share.streamlit.io](https://share.streamlit.io) - -Streamlit Community Cloud inherits developer permissions from GitHub, so when your teammates log in, they will automatically view the workspaces you share. From there you can all deploy, manage, and share apps together. - -### Pushing new code - -You can also collaborate with other developers by having multiple contributors pushing to the same GitHub repo. Whenever anyone on the team updates the code on GitHub, the app will also automatically update for you! - -If you want to try out something new while still keeping your original app running, just create a new branch, make some changes, and deploy a new version of the Streamlit app. - -### Finding app code - -Every deployed app has its GitHub source code linked in the "⋮" menu on the top right. So if you are looking to understand the code of another Streamlit app, you can navigate to the GitHub page from there and read or fork the app. diff --git a/content/streamlit-cloud/index.md b/content/streamlit-cloud/index.md index f06fb1901..f67fa7fa9 100644 --- a/content/streamlit-cloud/index.md +++ b/content/streamlit-cloud/index.md @@ -5,104 +5,51 @@ slug: /streamlit-community-cloud # Welcome to Streamlit Community Cloud -Streamlit's Community Cloud is an open and free platform for the community to deploy, discover, and share Streamlit apps and code with each other. If you're just getting started and have not yet built your first Streamlit app, check out the main [Get started](/library/get-started) page first. When you're ready to share it, create a Community Cloud account and you can launch your app in just a few minutes! Deploy, manage, and share your apps with the world, directly from Streamlit — all for free. - - - - - App gallery, or go with [Quickstart](/streamlit-community-cloud/get-started/quickstart) which will speed-run you through creating your account and deploying an example app. + + + Create your account and deploy an example app as fast as possible. + + - Learn about Streamlit Community Cloud accounts and how to create one. + + - - A step-by-step guide on how to get your app deployed. + + - - Share or embed your app. + + Access logs, reboot apps, set favorites, and more. + + - - - - -Interested in our security model? Check out our [Trust and Security page](/streamlit-community-cloud/trust-and-security). - - - - - -Questions? Reach out to us on the [Community forum](https://discuss.streamlit.io)! + bold="Manage your account" + href="/streamlit-community-cloud/manage-your-account" + >Update your email, manage connections, or delete your account. + + diff --git a/content/streamlit-cloud/manage-your-account/delete-your-account.md b/content/streamlit-cloud/manage-your-account/delete-your-account.md index f7495fd05..b38f8d74c 100644 --- a/content/streamlit-cloud/manage-your-account/delete-your-account.md +++ b/content/streamlit-cloud/manage-your-account/delete-your-account.md @@ -5,11 +5,11 @@ slug: /streamlit-community-cloud/manage-your-account/delete-your-account # Delete your account -Deleting your Streamlit Community Cloud account is just as easy as creating it via "**Settings**". When you delete your account, your information, account, and all your hosted apps are deleted as well. +Deleting your Streamlit Community Cloud account is just as easy as creating it. When you delete your account, your information, account, and all your hosted apps are deleted as well. -Deleting your account is permanent and cannot be undone. Make sure you really want to delete your account and all hosted apps before proceeding. +Deleting your account is permanent and cannot be undone. Make sure you really want to delete your account and all hosted apps before proceeding. Any app you've deployed will be deleted, regardless of the workspace it was deployed from. @@ -17,24 +17,21 @@ Deleting your account is permanent and cannot be undone. Make sure you really wa Follow these steps to delete your account: -1. Sign in to Streamlit Community Cloud: [https://share.streamlit.io/](https://share.streamlit.io/) +1. Sign in to Streamlit Community Cloud at share.streamlit.io and access your [Workspace settings](/streamlit-community-cloud/manage-your-account/workspace-settings). -2. Click "**Settings**" in the top right corner of the page to go to the Settings dashboard. In the 'Account' section, click 'Delete account': - ![Delete account button](/images/streamlit-community-cloud/delete-account.png) +2. From the "Linked accounts" section, click "**Delete account**". -3. In the "**Delete account?**" dialog that appears, you will be asked to confirm that you want to delete your account by typing: +
+ Delete your Streamlit Community Cloud account from your workspace settings +
- ``` - delete - ``` +3. A confirmation will display. Enter the confirmation string and click "**Delete account forever**" - Type in `delete ` followed by your email address and click "**Delete account forever**": - ![Delete account dialog](/images/streamlit-community-cloud/delete-account-dialog.png) +
+ Confirm your account deletion by typing the specified string +
-4. You will then be logged out and your account, information, and apps will be permanently deleted. - ![Delete account confirmation](/images/streamlit-community-cloud/deleting-account.png) +4. All your information and apps will be permanently deleted. + ![Your Streamlit Community Cloud account has been deleted.](/images/streamlit-community-cloud/account-deleted.png) -5. Upon deletion, you're shown a confirmation message that your account has been deleted, after which you will be redirected to the Streamlit Community Cloud homepage. - ![Account deleted](/images/streamlit-community-cloud/account-deleted.png) - -It's that simple! If you have any questions or run into issues deleting your account, please reach out to us on the [Forum](https://discuss.streamlit.io/c/community-cloud/13). We're happy to help! 🎈 +It's that simple! If you have any questions or run into issues deleting your account, please reach out to us on our forum. We're happy to help! 🎈 diff --git a/content/streamlit-cloud/manage-your-account/index.md b/content/streamlit-cloud/manage-your-account/index.md index 93da8210c..101a43408 100644 --- a/content/streamlit-cloud/manage-your-account/index.md +++ b/content/streamlit-cloud/manage-your-account/index.md @@ -5,20 +5,16 @@ slug: /streamlit-community-cloud/manage-your-account # Manage your account -You can [update the email](/streamlit-community-cloud/manage-your-account/update-your-email) associated with your account or [delete your account](/streamlit-community-cloud/manage-your-account/delete-your-account) entirely through "**Settings**." When using [Streamlit Community Cloud](https://share.streamlit.io/), you have two kinds of logins: a primary identity (email) and source control (GitHub). Your primary identity allows other users to share private apps with you. Your source control identity allows you to deploy apps from GitHub repositories and manage them through the Streamlit Community Cloud dashboard. +You can [Update your email](/streamlit-community-cloud/manage-your-account/update-your-email) or [Delete your account](/streamlit-community-cloud/manage-your-account/delete-your-account) entirely through [Workspace settings](/streamlit-community-cloud/manage-your-account/workspace-settings). -## Access your account settings +When using Streamlit Community Cloud, you have two identities behind your account: a primary identity (Google or email) and source control (GitHub). Your primary identity allows other users to share private apps with you and grant you access to their analytics. Your source control identity allows you to deploy apps from GitHub repositories and manage them through your Streamlit Community Cloud workspace. -To manage your account, sign in to https://share.streamlit.io and click "**Settings**" in the top right corner. +## Access your workspace settings -
- Account settings -
- -Doing so opens your "**Workspace settings**," where you can update your email or delete your account. +To manage your account, sign in to share.streamlit.io and click "**Settings**" in the top right corner to access your workspace settings.
- Primary identity and source control + Access your workspace settings from your workspace
-You can find the detailed steps for each option in [Update your email](/streamlit-community-cloud/manage-your-account/update-your-email) and [Delete your account](/streamlit-community-cloud/manage-your-account/delete-your-account). +Learn more about how to [Update your email](/streamlit-community-cloud/manage-your-account/update-your-email) and [Delete your account](/streamlit-community-cloud/manage-your-account/delete-your-account). diff --git a/content/streamlit-cloud/manage-your-account/manage-your-github-connection.md b/content/streamlit-cloud/manage-your-account/manage-your-github-connection.md new file mode 100644 index 000000000..65aa4735c --- /dev/null +++ b/content/streamlit-cloud/manage-your-account/manage-your-github-connection.md @@ -0,0 +1,96 @@ +--- +title: Manage your GitHub connection +slug: /streamlit-community-cloud/manage-your-account/manage-your-github-connection +--- + +# Manage your GitHub connection + +If you did not connect GitHub when you created your account or need to correct your GitHub authorization, this page is for you! If you just need to add an organization to your account, skip ahead to [Authorizing with an organization](#authorizing-with-an-organization). + +If you are not fully logged in and authorized to both a primary identity (Google or email) and source control (GitHub), there will be a warning symbol in the upper-right corner of your workspace. This can mean one of three things: + +* You are not signed in to a primary identity (Google or email). + * See [Connect Google to your account](/streamlit-community-cloud/manage-your-account/update-your-email#connect-google-to-your-account). +* You are not signed in to source control (GitHub.) + * See [Connecting GitHub to an existing primary identity](#connecting-github-to-an-existing-primary-identity). +* Your source control has incomplete permissions. + * Access your workspace settings see [Authorize Streamlit to access private repositories](#authorize-streamlit-to-access-private-repositories). + +Authorize your GitHub account + +## Connecting GitHub to an existing primary identity + +If you created your account without connecting GitHub or if you disconnected GitHub from your account, you can reconnect. + +1. Click "**Settings**" in the upper-right corner of your workspace. +2. If you do not have GitHub connected, a warning is displayed saying, "**You are not signed in with a source control account**". + + If instead you see "**Streamlit does not have access to private repos on this GitHub account**" skip to step 5. +3. Click "**Sign in with GitHub**". + +
+Sign in with GitHub to connect GitHub to your Streamlit Community Cloud account +
+ +4. Click "**Authorize streamlit**". + +
+Authorize streamlit to connect to your GitHub account +
+ +### Authorize Streamlit to access private repositories + +5. After completing the first authorization, your workspace settings will still have a warning, "**Streamlit does not have access to private repos on this GitHub account**". + +6. Click "**Allow access**". + +
+Click 'Allow access' to trigger the second GitHub authorization +
+ +7. Click "**Authorize streamlit**". + +
+Authorize streamlit to access private repositories +
+ +GitHub is now connected to your account! 🥳 + +## Authorizing with an organization + +If you are in an organization, you can grant or request access to that organization when you connect your GitHub account. Read more about [Organization access](/streamlit-community-cloud/get-started/connect-your-github-account#organization-access). + +If your GitHub account is already connected, you can remove permissions in your GitHub settings and force Streamlit to reprompt for GitHub authorization the next time you sign into Streamlit Community Cloud. + +### Revoke and reauthorize + +1. From your workspace, click on your workspace name in the upper-right corner. Click "**Sign out**" to sign out of Streamlit Community Cloud. + +
+Sign out of Streamlit Community Cloud +
+ +2. Go to your GitHub application settings at github.com/settings/applications. +3. Click on the three dots to open the overflow menu for "**Streamlit**" and click "**Revoke**". + +
+Revoke access for Streamlit to access your GitHub account +
+ +4. Click "**I understand, revoke access**". + +
+Confirm to revoke access for Streamlit to your GitHub account +
+ +5. Return to share.streamlit.io and sign in. You will be prompted to authorize GitHub as explained in [Connect GitHub](/streamlit-community-cloud/get-started/connect-your-github-account#organization-access). + +### Granting previously denied access + +If an organization owner has restricted Streamlit's access or restricted all OAuth applications, they may need to directly modify their permissions in GitHub. If an organization has restricted Streamlit's access, a red "**X**" will appear next to the organization when you are prompted to authorize with your GitHub account. + +
+Denied authorization for Streamlit to access your GitHub account +
+ +See GitHub's documentation on OAuth apps and organizations. diff --git a/content/streamlit-cloud/manage-your-account/sign-in-sign-out.md b/content/streamlit-cloud/manage-your-account/sign-in-sign-out.md new file mode 100644 index 000000000..1e0804e2f --- /dev/null +++ b/content/streamlit-cloud/manage-your-account/sign-in-sign-out.md @@ -0,0 +1,72 @@ +--- +title: Sign in & sign out +slug: /streamlit-community-cloud/manage-your-account/sign-in-sign-out +--- + +# Sign in & sign out + +Once you've created your account, you can sign in to share.streamlit.io and follow the steps below. + +![Sign in to Streamlit Community Cloud](/images/streamlit-community-cloud/sign-in.png) + +## Sign in with Google + +1. Visit share.streamlit.io and click "**Continue with Google**". + +
+ Sign in to Streamlit Community Cloud with Google +
+ +2. Enter your Google account credentials. + +
+ Enter your Google credentials to sign in to Streamlit Community Cloud +
+ +3. If your account is already linked to GitHub, you may be immediately prompted to sign in with GitHub. Once you have signed in, you can [Explore your workspace!](/streamlit-community-cloud/get-started/explore-your-workspace). 🎈 + +## Sign in with GitHub + +1. Visit share.streamlit.io and click "**Continue with GitHub**". + +
+ GitHub sign-in +
+ +2. Enter your GitHub credentials. + +
+ GitHub sign-in +
+ +3. Once you have signed in to GitHub, you can [Explore your workspace!](/streamlit-community-cloud/get-started/explore-your-workspace). 🎈 + +## Sign in with Email + +1. Visit share.streamlit.io and enter the email you used to create your Streamlit Community Cloud account. Click "**Continue with email**". + +
+ Email sign-in +
+ +2. You will see a confirmation message asking you to check your email. + +
+ Email sign-in +
+ +3. Check your inbox for an email with the subject "**Sign in to Streamlit Cloud**". Click the link in the email to sign in to Streamlit Community Cloud. Note that this link will expire in 15 minutes and can only be used once. + +
+ Email sign-in +
+ +3. Once you click the link in your email, you can [Explore your workspace!](/streamlit-community-cloud/get-started/explore-your-workspace). 🎈 + +## Sign out of your account + +From your workspace, click on your workspace name in the upper-right corner. Click "**Sign out**". + +
+Sign out of Streamlit Community Cloud +
\ No newline at end of file diff --git a/content/streamlit-cloud/manage-your-account/update-your-email.md b/content/streamlit-cloud/manage-your-account/update-your-email.md index 5af6c29fa..8238c68ac 100644 --- a/content/streamlit-cloud/manage-your-account/update-your-email.md +++ b/content/streamlit-cloud/manage-your-account/update-your-email.md @@ -5,25 +5,27 @@ slug: /streamlit-community-cloud/manage-your-account/update-your-email # Update your email -If you wish to update your email on Streamlit Community Cloud, you can do so via "**Settings**." Updating your email changes the primary identity of your account. Once updated, if your account's email is associated with a Google account, you can [Sign in with Google](/streamlit-community-cloud/get-started#sign-in-with-google) OAuth. Otherwise, you have the alternative to [Sign in with Email](/streamlit-community-cloud/get-started#sign-in-with-email). The latter involves typing in your email, after which we'll send you a unique link (valid for 15 minutes) to that email. Click the link in the email to sign in to Streamlit. +If you wish to update your email on Streamlit Community Cloud, you can do so via your [Workspace settings](/streamlit-community-cloud/manage-your-account/workspace-settings). Updating your email changes the primary identity of your account. Once updated, if your account's email is associated with a Google account, you can sign in with Google OAuth. Otherwise, you through emailed links. The latter involves typing in your email, after which we'll send you a unique, single-use link (valid for 15 minutes). + +If you are signed in to GitHub and don't already have a primary identity on your account, see [Connect Google to your account](#connect-google-to-your-account). ## How to update your email -1. Sign in to Streamlit Community Cloud: [https://share.streamlit.io/](https://share.streamlit.io/) +1. Sign in to Streamlit Community Cloud at share.streamlit.io. 2. Click "**Settings**" in the page's top-right corner. - ![Account settings](/images/streamlit-community-cloud/account-settings-header.png) + ![Access your workspace settings from your workspace](/images/streamlit-community-cloud/account-settings-header.png) 3. Click "**Update email**" within the "**Linked accounts**" section. - ![Update email 1](/images/streamlit-community-cloud/account-change-email-1.png) + ![Update your email from your workspace settings](/images/streamlit-community-cloud/account-change-email-1.png) 4. Enter your new email and click "**Update email**." - ![Update email 2](/images/streamlit-community-cloud/account-change-email-2.png) + ![Enter your new email address for your Streamlit Community Cloud account](/images/streamlit-community-cloud/account-change-email-2.png) 5. You'll see a confirmation dialog asking you to check your email for a confirmation link. Click "**Done**." - ![Update email 3](/images/streamlit-community-cloud/account-change-email-3.png) + ![Confirmation message after choosing a new email for your Streamlit Community Cloud account](/images/streamlit-community-cloud/account-change-email-3.png) 6. Your account settings will show "**Update pending**" until you complete the next step. - ![Update email 4](/images/streamlit-community-cloud/account-change-email-4.png) + ![Email update pending displayed in your workspace settings](/images/streamlit-community-cloud/account-change-email-4.png) 7. Check your inbox for an email from Streamlit containing a "**Change email**" button and a confirmation link. This one-time link expires in 15 minutes. Click either one to confirm your new email address for Streamlit Community Cloud. Before doing so, ensure you access the link from the same browser session where you are logged in to Streamlit Community Cloud. @@ -33,24 +35,42 @@ If you wish to update your email on Streamlit Community Cloud, you can do so via - ![Update email 5](/images/streamlit-community-cloud/account-change-email-5.png) + ![Click 'Change email' from the message sent to your email account](/images/streamlit-community-cloud/account-change-email-5.png) 8. A confirmation will display to confirm your email update is complete! 🎈 - ![Update email 6](/images/streamlit-community-cloud/account-change-email-6.png) + ![Confirmation that your email has been changed on your Streamlit Community Cloud account](/images/streamlit-community-cloud/account-change-email-6.png) ## Resend your confirmation link If your confirmation link expires, don't worry! You can resend it by following these steps: -1. Sign in to Streamlit Community Cloud: [https://share.streamlit.io/](https://share.streamlit.io/) and click "**Settings**" in the page's top-right corner. +1. Sign in to Streamlit Community Cloud at share.streamlit.io and click "**Settings**" in the page's top-right corner. 2. Click "**Update pending**" - ![Update email 7](/images/streamlit-community-cloud/account-change-email-7.png) + ![Click 'Update pending' from your workspace settings](/images/streamlit-community-cloud/account-change-email-7.png) 3. Click "**Resend email**" - ![Update email 8](/images/streamlit-community-cloud/account-change-email-8.png) + ![Click 'Resend email' to resend the confirmation link to your email](/images/streamlit-community-cloud/account-change-email-8.png) 4. Continue from step 4 of [How to update your email](#how-to-update-your-email). ## Troubleshooting -If you click the confirmation link in a browser session where you are not signed in, you will be informed that "Sign in is required." If you try to sign in with your new email, you will create a second account instead. You cannot resend your confirmation link while you have this second account. If you accidentally created a second account, you can [Delete your account](/streamlit-community-cloud/manage-your-account/delete-your-account), then [Resend your confirmation link](#resend-your-confirmation-link) from your first account. +If you click the confirmation link in a browser session where you are not signed in, you will be informed that "Sign in is required." If you try to sign in with your new email, you will create a second account instead. You cannot resend your confirmation link while you have this second account. If you accidentally created a second account, you can follow the steps to [Delete your account](/streamlit-community-cloud/manage-your-account/delete-your-account) to get rid of the duplicate. Afterwards, [Resend your confirmation link](#resend-your-confirmation-link) from your first account. + +## Connect Google to your account + +1. If you signed up with GitHub and did not create a primary identity, your workspace will show a warning icon in the upper right corner. Click "**Settings**" to access your workspace settings. + + ![Your workspace without a primary identity](/images/streamlit-community-cloud/account-settings-header-warning.png) + +2. When you access your workspace settings, a warning is displayed: "You are not signed in with a primary identity account." Click "**Sign in with Google**" and follow Google's authentication prompts. + +
+ Sign in with Google to connect your email to your Streamlit Community Cloud account +
+ +3. Your account now has both a primary identity and source control account. + +
+ A fully signed-in Streamlit Community Cloud account +
diff --git a/content/streamlit-cloud/manage-your-account/workspace-settings.md b/content/streamlit-cloud/manage-your-account/workspace-settings.md new file mode 100644 index 000000000..b560e3269 --- /dev/null +++ b/content/streamlit-cloud/manage-your-account/workspace-settings.md @@ -0,0 +1,32 @@ +--- +title: Workspace settings +slug: /streamlit-community-cloud/manage-your-account/workspace-settings +--- + +# Workspace settings + +From your workspace settings you can [Manage your account](/streamlit-community-cloud/manage-your-account), see your [App resources and limits](/streamlit-community-cloud/manage-your-app#app-resources-and-limits) and access support resources. + +## Access your workspace settings + +From your workspace at share.streamlit.io, click "**Settings**" in the upper-right corner. + +![Access your workspace settings](/images/streamlit-community-cloud/account-settings-header.png) + +## Linked accounts + +The "**Linked accounts**" section shows your current primary identity and source control account. To learn more, see [Manage your account](/streamlit-community-cloud/manage-your-account). + +![Mangae your linked accounts in workspace settings](/images/streamlit-community-cloud/account-primary-identity-and-source-control.png) + +## Limits + +The "**Limits**" section shows your current resources and limits. To learn more, see [App resources and limits](/streamlit-community-cloud/manage-your-app#app-resources-and-limits). + +![Resource limits displayed in workspace settings](/images/streamlit-community-cloud/workspace-limits.png) + +## Support + +The "**Support**" section provides a convenient list of useful resources so you know where to go for help. + +![Support options available through workspace settings](/images/streamlit-community-cloud/workspace-support.png) diff --git a/content/streamlit-cloud/manage-your-app/app-analytics.md b/content/streamlit-cloud/manage-your-app/app-analytics.md new file mode 100644 index 000000000..8e486cef8 --- /dev/null +++ b/content/streamlit-cloud/manage-your-app/app-analytics.md @@ -0,0 +1,67 @@ +--- +title: App analytics +slug: /streamlit-community-cloud/manage-your-app/app-analytics +--- + +# App analytics + +Streamlit Community Cloud allows you to see the viewership of each of your apps. Specifically, you can see: +* The total viewers count of your app (counted from April 2022). +* The most recent unique viewers (capped up to your last 20 viewers). +* A relative timestamp of each unique viewer's last visit. + +![App analytics on Streamlit Community Cloud](/images/streamlit-community-cloud/workspace-app-analytics-viewers.png) + +## Access your app analytics + +You can get to your app's analytics: +* [From your workspace](#access-app-analytics-from-your-workspace). +* [From your Cloud logs](#access-app-analytics-from-your-cloud-logs). + +### Access app analytics from your workspace + +From your workspace at share.streamlit.io, click the overflow icon (more_vert) next to your app. Click "**Analytics**". + +![Access app analytics from your workspace through your app overflow menu](/images/streamlit-community-cloud/workspace-app-analytics.png) + +Alternatively, from the top of your workspace, click "**Analytics**". + +![Access app analytics from your workspace](/images/streamlit-community-cloud/workspace-analytics.png) + +### Access app analytics from your Cloud logs + +From your app at `.streamlit.app`, click "**Manage app**" in the lower-right corner. + +![Access Streamlit Community Cloud logs from your app](/images/streamlit-community-cloud/cloud-logs-open.png) + +Click the overflow menu icon (more_vert) and click "**Analytics**". + +![Access app analytics from your Cloud logs](/images/streamlit-community-cloud/cloud-logs-menu-analytics.png) + +## Switch between apps + +Once you are in the analytics modal, you can switch between apps in your workspace from the drop-down list. Remember to switch workspaces if you want to view analytics for an app in another workspace. + +![Switch between apps with app analytics](/images/streamlit-community-cloud/workspace-app-analytics-switch.png) + +## App viewers + +For public apps, we anonymize all viewers outside your workspace to protect their privacy and display anonymous viewers as random pseudonyms. You'll still be able to see the identities of fellow members in your workspace, including any viewers you've invited (once they've accepted). + + + +When you invite a viewer to an app, they gain access to analytics as well. Additionally, if someone is invited as a viewer to *any* app in your workspace, they can see analytics for all public apps in your workspace and invite additional viewers themselves. A viewer in your workspace may see the emails of developers and other viewers in your workspace through analytics. + + + +Meanwhile, for private apps where you control who has access, you will be able to see the specific users who recently viewed your apps. + +Additionally, you may occasionally see anonymous users in a private app. Rest assured, these anonymous users _do_ have authorized view access granted by you or your workspace members. + +Common reasons why users show up anonymously are: + +1. The app was previously public. +2. The given viewer viewed the app in April 2022, when the Streamlit team was honing user identification for this feature. +3. The given viewer previously disconnected their primary identity (Google or email) and source control identity (GitHub). + +See Streamlit's general Privacy Notice. diff --git a/content/streamlit-cloud/manage-your-app/app-settings.md b/content/streamlit-cloud/manage-your-app/app-settings.md new file mode 100644 index 000000000..678bd5a6e --- /dev/null +++ b/content/streamlit-cloud/manage-your-app/app-settings.md @@ -0,0 +1,49 @@ +--- +title: App settings +slug: /streamlit-community-cloud/manage-your-app/app-settings +--- + +# App settings + +This page is about your app settings on Streamlit Community Cloud. From your app settings you can [view or modify your app's URL](/streamlit-community-cloud/deploy-your-app#custom-subdomains), [manage public or private access to your apps](/streamlit-community-cloud/share-your-app) and [update your saved secrets for your apps](/streamlit-community-cloud/deploy-your-app/secrets-management). + +If you access "**Settings**" from your [App menu](/library/advanced-features/app-menu) in the upper-right corner of your running app, you can access features to control the appearance of your app while its running. + +## Access your app settings + +You can get to your app's settings: +* [From your workspace](#access-app-settings-from-your-workspace). +* [From your Cloud logs](#access-app-settings-from-your-cloud-logs). + +### Access app settings from your workspace + +From your workspace at share.streamlit.io, click the overflow icon (more_vert) next to your app. Click "**Settings**". + +![Access app settings from your workspace](/images/streamlit-community-cloud/workspace-app-settings.png) + +### Access app settings from your Cloud logs + +From your app at `.streamlit.app`, click "**Manage app**" in the lower-right corner. + +![Access Streamlit Community Cloud logs from your app](/images/streamlit-community-cloud/cloud-logs-open.png) + +Click the overflow menu icon (more_vert) and click "**Settings**". + +![Access app settings from your Cloud logs](/images/streamlit-community-cloud/cloud-logs-menu-settings.png) + +## Change your app settings + +### View or change your app's URL +Read more about [Custom subdomains](/streamlit-community-cloud/deploy-your-app#custom-subdomains). + +![General app settings on Streamlit Community Cloud: Custom subdomain](/images/streamlit-community-cloud/workspace-app-settings-general.png) + +### Update your app's share settings +Learn how to [Share your app](/streamlit-community-cloud/share-your-app). + +![Share settings on Streamlit Community Cloud](/images/streamlit-community-cloud/workspace-app-settings-sharing.png) + +### Update your secrets +Learn more about [Secrets management](/streamlit-community-cloud/deploy-your-app/secrets-management). + +![Secrets settings on Streamlit Community Cloud](/images/streamlit-community-cloud/workspace-app-settings-secrets.png) diff --git a/content/streamlit-cloud/manage-your-app/delete-your-app.md b/content/streamlit-cloud/manage-your-app/delete-your-app.md new file mode 100644 index 000000000..5ac7a2ad9 --- /dev/null +++ b/content/streamlit-cloud/manage-your-app/delete-your-app.md @@ -0,0 +1,46 @@ +--- +title: Delete your app +slug: /streamlit-community-cloud/manage-your-app/delete-your-app +--- + +# Delete your app + +If you need to delete your app, it's simple and easy. There are several cases where you may need to delete your app: + +* You have finished playing around with an example app. +* You want to deploy from a private repository but already have a private app. +* You want to change the Python version for your app or otherwise redeploy your app. + +If you delete your app and intend to immediately redploy it, your custom subdomain should be immediately available for reuse. + +You can delete your app: +* [From your workspace](#delete-your-app-from-your-workspace). +* [From your Cloud logs](#delete-your-app-from-your-cloud-logs). + +### Delete your app from your workspace + +1. From your workspace at share.streamlit.io, click the overflow icon (more_vert) next to your app. Click "**Delete**". + + ![Delete your app from your workspace](/images/streamlit-community-cloud/workspace-app-delete.png) + +2. A confirmation will display. Enter the required confirmation string and click "**Delete**". + +
+ Confirm deleting your app from Streamlit Community Cloud +
+ +### Delete your app from your Cloud logs + +1. From your app at `.streamlit.app`, click "**Manage app**" in the lower-right corner. + + ![Access Streamlit Community Cloud logs from your app](/images/streamlit-community-cloud/cloud-logs-open.png) + +2. Click the overflow menu icon (more_vert) and click "**Delete app**". + + ![Delete your app from your Cloud logs](/images/streamlit-community-cloud/cloud-logs-menu-delete.png) + +3. A confirmation will display. Enter the required confirmation string and click "**Delete**". + +
+ Confirm deleting your app from Streamlit Community Cloud +
diff --git a/content/streamlit-cloud/manage-your-app/favorite-your-app.md b/content/streamlit-cloud/manage-your-app/favorite-your-app.md new file mode 100644 index 000000000..57a24acf8 --- /dev/null +++ b/content/streamlit-cloud/manage-your-app/favorite-your-app.md @@ -0,0 +1,44 @@ +--- +title: Favorite your app +slug: /streamlit-community-cloud/manage-your-app/favorite-your-app +--- + +# Favorite your app + +Streamlit Community Cloud supports a "favorite" feature that lets you quickly access your apps from your workspace. Favorited apps appear at the top of their workspace with a yellow star (star) beside them. You can favorite and unfavorite apps in any workspace to which you have access as a developer or invited viewer. + +![Favorite apps appear on top in Streamlit Community Cloud](/images/streamlit-community-cloud/workspace-app-favorites-top.png) + + + +Favorites are specific to your account. Other members of your workspace cannot see which apps you have favorited. + + + +## Favoriting and unfavoriting your app + +You can favorite your app: +* [From your workspace](#favorite-your-app-from-your-workspace). +* [From your app](#favorite-your-app-from-your-app-toolbar)! + +### Favorite your app from your workspace + +1. From your workspace at share.streamlit.io, click the overflow icon (more_vert) next to your app. Click "**Favorite**". + + ![Favorite your app from your workspace](/images/streamlit-community-cloud/workspace-app-favorite.png) + +2. Your favorited app will move to the top of your list (with other favorited apps if you have them) and display with a yellow star. + + ![Favorited app in your workspace](/images/streamlit-community-cloud/workspace-app-favorited.png) + +* Once favorited, from the same menu, click "**Unfavorite**" to remove the star. + + ![Unfavorite your app from your workspace](/images/streamlit-community-cloud/workspace-app-unfavorite.png) + +Alternatively, you can favorite and unfavorite apps by clicking directly on the star next to their names. (Hover over an unfavorited app to reveal an empty star icon next to its name.) + +### Favorite your app from your app toolbar + +From your app at `.streamlit.app`, click the star (star_border/star) in the upper-right corner to toggle your app's favorite status. + +![Favorite your app directly from your live app](/images/streamlit-community-cloud/favorite-select.png) diff --git a/content/streamlit-cloud/manage-your-app/index.md b/content/streamlit-cloud/manage-your-app/index.md new file mode 100644 index 000000000..aafed0718 --- /dev/null +++ b/content/streamlit-cloud/manage-your-app/index.md @@ -0,0 +1,136 @@ +--- +title: Manage your app +slug: /streamlit-community-cloud/manage-your-app +--- + +# Manage your app + +You can manage your deployed app from your workspace at share.streamlit.io or directly from `.streamlit.app`. You can view, deploy, delete, reboot, or favorite an app. + +## Manage your app from your workspace + +Streamlit Community Cloud is organized into workspaces, which automatically group your apps according to the corresponding GitHub repository's owner. Your workspace is indicated in the upper-right corner. You will have one workspace that matches your GitHub username and additional workspaces for any GitHub organization or user who has granted you access. + +Additionally, if you have view-only access to an app, you will be able to see that app's workspace. When you do not have developer access to an app, your management options for that app will be restricted as shown in the following sections. + +To deploy or manage any app, always switch to the workspace matching the repository's owner first. + +![Switching between app workspaces in Streamlit Community Cloud](/images/streamlit-community-cloud/workspace-switch.png) + +At the top of your workspace, "**Analytics**" is a shortcut to [App analytics](/streamlit-community-cloud/manage-your-app/app-analytics) and "**Settings**" links to your [Workspace settings](/streamlit-community-cloud/manage-your-account/workspace-settings) (not to be confused with [App settings](/streamlit-community-cloud/manage-your-app/app-settings) for each of your apps). + +### App overflow menus + +Each app has a menu accessible from the overflow icon (more_vert) to the right. + +* **Copy URL** — See [Copy your app's URL](/streamlit-community-cloud/share-your-app#copy-your-apps-url) +* **Favorite** — See [Favorite your app](/streamlit-community-cloud/manage-your-app/favorite-your-app) +* **Analytics** — See [App analytics](/streamlit-community-cloud/manage-your-app/app-analytics) +* **Reboot** — See [Reboot your app](/streamlit-community-cloud/manage-your-app/reboot-your-app) +* **Delete** — See [Delete your app](/streamlit-community-cloud/manage-your-app/delete-your-app) +* **Settings** — See [App settings](/streamlit-community-cloud/manage-your-app/app-settings) + +![App overflow menu in your workspace](/images/streamlit-community-cloud/workspace-app-overflow.png) + +If you have view-only access to an app, options will be restricted in that app's menu. + +![View-only app overflow menu in your workspace](/images/streamlit-community-cloud/workspace-view-only.png) + +## Manage your app directly from your app + +You can manage your deployed app directly from the app itself! Just make sure you are signed in to Streamlit Community Cloud then visit your app. + +### Streamlit Community Cloud logs + +1. From your app at `.streamlit.app`, click "**Manage app**" in the lower-right corner. + + ![Access Cloud logs from Manage app in the lower-right corner of your app](/images/streamlit-community-cloud/cloud-logs-open.png) + +2. Once you've clicked on "**Manage app**", you will be able to view your app's logs. This is your primary place to troubleshoot any issues with your app. + + ![Streamlit Community Cloud logs](/images/streamlit-community-cloud/cloud-logs.png) + +3. You can access more developer options by clicking the overflow icon (more_vert) at the bottom of your Cloud logs. To conveniently download your logs, click "**Download log**". + + ![Download your Streamlit Community Cloud logs](/images/streamlit-community-cloud/cloud-logs-menu-download.png) + + + +
+ +Other options accessible from Cloud logs are: + +* **Analytics** — See [App analytics](/streamlit-community-cloud/manage-your-app/app-analytics). +* **Reboot app** — See [Reboot your app](/streamlit-community-cloud/manage-your-app/reboot-your-app). +* **Delete app** — See [Delete your app](/streamlit-community-cloud/manage-your-app/delete-your-app). +* **Settings** — See [App settings](/streamlit-community-cloud/manage-your-app/app-settings). +* **Your apps** — Takes you to your [app workspace](#manage-your-app-from-your-workspace). +* **Documentation** — Takes you to our documentation. +* **Support** — Takes you to our forums! + +
+ +
+ +
+ +
+ +### App menus + +From your app at `.streamlit.app`, you can always access your [app's menu](/library/advanced-features/app-menu) just like you can when developing locally. The option to deploy your app is removed, but you can still clear your cache from here. + +![App menus in Streamlit Community Cloud](/images/streamlit-community-cloud/app-menu.png) + +## Manage your app in GitHub + +### Update your app + +Your GitHub repository is the source for the app, so that means that any time you push an update to your repo you'll see it reflected in the app in almost real time. Try it out! + +Streamlit also smartly detects whether you touched your dependencies, in which case it will automatically do a full redeploy for you—which will take a little more time. But since most updates don't involve dependency changes, you should usually see your app update in real time. + +### Add or remove dependencies + +You can add/remove dependencies at any point by updating `requirements.txt` (Python dependenciess) or `packages.txt` (Linux dependencies) and committing the changes to your repository on GitHub. This will cause Streamlit Community Cloud to detect there was a change in your dependencies and automatically trigger (re)installation. + +It is best practice to pin your Streamlit version in `requirements.txt`. Otherwise, the version may be auto-upgraded at any point without your knowledge, which could lead to undesired results (e.g. when we deprecate a feature in Streamlit). + +## App resources and limits + +### Resource limits + +All Streamlit Community Cloud users have access to the same resources and are subject to the same limits (1 GB of RAM). +If your app is running slowly or you're hitting the '😦 Oh no.' page, we first highly recommend going through and implementing the suggestions in the following blog posts to prevent your app from hitting the resource limits and to detect if your Streamlit app leaks memory: + +- Common app problems: Resource limits +- 3 steps to fix app memory leaks + +If your app exceeds its resourse limits, developers and viewers alike will see '😦 Oh no.' + +
+App state: Oh no. Error running your app. +
+ +If see '😦 Oh no.' when viewing your app, first check your Cloud logs for any specific errors. If there are no errors in your Cloud logs you are likely dealing with a resource issue. + +#### Developer view + +If you are logged into a developer account for an app over its limits, you can access "**Manage app**" from the lower-right corner of the app to reboot it and clear its memory. "**Manage app**" will be red and have a warning icon (error). + +![Developer view: Oh no. Error running your app.](/images/streamlit-community-cloud/app-state-oh-no-developer.png) + +### App hibernation + +All apps without traffic for 7 consecutive days will automatically go to sleep. This is done to alleviate resources and allow the best communal use of the platform! If you would like to keep your app awake, simply visit the app to create traffic or commit your app's repository, even if it's an empty commit! + +If left alone your app will go to sleep at the 7 day mark. When someone visits the app after this, they will see the sleeping page: +
+App state: Zzzz. This app has gone to sleep due to inactivity. +
+ +To wake the app up, click "**Yes, get this app back up!**" This can be done by *anyone* who has access to view the app, not just the app developer! + +You can see which of your apps are asleep from your workspace. Sleeping apps have a moon icon (bedtime) to the right. + +![App state: Zzzz. This app has gone to sleep due to inactivity](/images/streamlit-community-cloud/app-state-zzzz-workspace.png) diff --git a/content/streamlit-cloud/manage-your-app/reboot-your-app.md b/content/streamlit-cloud/manage-your-app/reboot-your-app.md new file mode 100644 index 000000000..ae897ac36 --- /dev/null +++ b/content/streamlit-cloud/manage-your-app/reboot-your-app.md @@ -0,0 +1,40 @@ +--- +title: Reboot your app +slug: /streamlit-community-cloud/manage-your-app/reboot-your-app +--- + +# Reboot your app + +If you need to clear your app's memory or force a fresh build after modifying a file that Streamlit Community Cloud doesn't monitor, you may need to reboot your app. This will interrupt any user who may currently be using your app and may take a few minutes for your app to re-deploy. Anyone visiting your app will see "Your app is in the oven" during a reboot. + +Rebooting your app on Streamlit Community Cloud is easy! You can reboot your app: +* [From your workspace](#reboot-your-app-from-your-workspace). +* [From your Cloud logs](#reboot-your-app-from-your-cloud-logs). + +### Reboot your app from your workspace + +1. From your workspace at share.streamlit.io, click the overflow icon (more_vert) next to your app. Click "**Reboot**". + + ![Reboot your app from your workspace](/images/streamlit-community-cloud/workspace-app-reboot.png) + +2. A confirmation will display. Click "**Reboot**". + +
+ Confirm rebooting your app in Streamlit Community Cloud +
+ +### Reboot your app from your Cloud logs + +1. From your app at `.streamlit.app`, click "**Manage app**" in the lower-right corner. + + ![Access Streamlit Community Cloud logs from your app](/images/streamlit-community-cloud/cloud-logs-open.png) + +2. Click the overflow menu icon (more_vert) and click "**Reboot app**". + + ![Reboot your app from your Cloud logs](/images/streamlit-community-cloud/cloud-logs-menu-reboot.png) + +3. A confirmation will display. Click "**Reboot**". + +
+ Confirm rebooting your app in Streamlit Community Cloud +
diff --git a/content/streamlit-cloud/share-your-app/embed-your-app.md b/content/streamlit-cloud/share-your-app/embed-your-app.md new file mode 100644 index 000000000..234af99f2 --- /dev/null +++ b/content/streamlit-cloud/share-your-app/embed-your-app.md @@ -0,0 +1,152 @@ +--- +title: Embed your app +slug: /streamlit-community-cloud/share-your-app/embed-your-app +--- + +# Embed your app + +Embedding Streamlit Community Cloud apps enriches your content by integrating interactive, data-driven applications directly within your pages. Whether you're writing a blog post, a technical document, or sharing resources on platforms like Medium, Notion, or even StackOverflow, embedding Streamlit apps adds a dynamic component to your content. This allows your audience to interact with your ideas, rather than merely reading about them or looking at screenshots. + +Streamlit Community Cloud supports both [iframe](#embedding-with-iframes) and [oEmbed](#embedding-with-oembed) methods for embedding **public** apps. This flexibility enables you to share your apps across a wide array of platforms, broadening your app's visibility and impact. In this guide, we'll cover how to use both methods effectively to share your Streamlit apps with the world. + +## Embedding with iframes + +Streamlit Community Cloud supports embedding **public** apps using the subdomain scheme. To embed a public app, add the query parameter `/?embed=true` to the end of the `*.streamlit.app` URL. + +For example, say you want to embed the 30DaysOfStreamlit app. The URL to include in your iframe is: `https://30days.streamlit.app/?embed=true`: + +```javascript + +``` + + + + + +There will be no official support for embedding private apps. + + + +In addition to allowing you to embed apps via iframes, the `?embed=true` query parameter also does the following: + +- Removes the toolbar with the app menu icon (more_vert). +- Removes the padding at the top and bottom of the app. +- Removes the footer. +- Removes the colored line from the top of the app. + +For granular control over the embedding behavior, Streamlit allows you to specify one or more instances of the `?embed_options` query parameter (e.g. to show the toolbar, open the app in dark theme, etc). [Click here for a full list of Embed options.](#embed-options) + +## Embedding with oEmbed + +Streamlit's oEmbed support allows for a simpler embedding experience. You can directly drop a Streamlit app's URL into a Medium, Ghost, or Notion page (or any of more than 700 content providers that supports oEmbed or embed.ly). The embedded app will automatically appear! This helps Streamlit Community Cloud apps seamlessly integrate into these platforms, improving the visibility and accessibility of your apps. + +### Example + +When creating content in a Notion page, Medium article, or Ghost blog, you only need to paste the app's URL and hit "**Enter**". The app will then render automatically at that spot in your content. You can use your undecorated app URL without the `?embed=true` query parameter. + +``` +https://30days.streamlit.app/ +``` + +Here's an example of @chrieke's Prettymapp app embedded in a Medium article: + +Example: Embed an app in a Medium article with oEmbed + + + +Ensure the platform hosting the embedded Streamlit app supports oEmbed or embed.ly. + + + +### Key Sites for oEmbed + +oEmbed should work out of the box for several platforms including but not limited to: + +- Medium +- Notion +- Looker +- Tableau +- Ghost +- Discourse +- StackOverflow +- W3 +- Reddit + +Please check the specific platform's documentation to verify support for oEmbed. + +### iframe versus oEmbed + +The only noteworthy differences between the methods is that iframing allows you to customize the app's embedding behavior (e.g. showing the toolbar, opening the app in dark theme, etc) using the various `?embed_options` described in the next section. + +## Embed options + +When [Embedding with iframes](#embedding-with-iframes), Streamlit allows you to specify one or more instances of the `?embed_options` query parameter for granular control over the embedding behavior. + +Both `?embed` and `?embed_options` are invisible to [`st.experimental_get_query_params`](/library/api-reference/utilities/st.experimental_get_query_params) and [`st.experimental_set_query_params`](/library/api-reference/utilities/st.experimental_set_query_params). The former ignores the embed query parameters and does not return them, while the latter disallows setting embed query parameters. + +The supported values for `?embed_options` are listed below: + +1. Show the toolbar at the top right of the app which includes the app menu (more_vert), running man, and link to GitHub. + + ```javascript + /?embed=true&embed_options=show_toolbar + ``` + +2. Show padding at the top and bottom of the app. + + ```javascript + /?embed=true&embed_options=show_padding + ``` + +3. Show the footer reading "Made with Streamlit." + + ```javascript + /?embed=true&embed_options=show_footer + ``` + +4. Show the colored line at the top of the app. + + ```javascript + /?embed=true&embed_options=show_colored_line + ``` + +5. Disable scrolling for the main body of the app. (The sidebar will still be scrollable.) + + ```javascript + /?embed=true&embed_options=disable_scrolling + ``` + +6. Open the app with light theme. + + ```javascript + /?embed=true&embed_options=light_theme + ``` + +7. Open the app with dark theme. + + ```javascript + /?embed=true&embed_options=dark_theme + ``` + +You can also combine the params: + +```javascript +/?embed=true&embed_options=show_toolbar&embed_options=show_padding&embed_options=show_footer&embed_options=show_colored_line&embed_options=disable_scrolling +``` + +### Build an embed link + +You can conveniently build an embed link for your app — right from your app! + +1. From your app at `.streamlit.app`, click "**Share**" in the upper-right corner. +2. Click "**Embed**" to access a list of selectable embed options. + + ![Access embed options from the share button](/images/streamlit-community-cloud/share-menu-embed.png) + +3. Select your embed options and click "**Get embed link**" to copy the embed link to your clipboard. + + ![Build a customized embed link for your app from the share button](/images/streamlit-community-cloud/share-menu-embed-url.png) diff --git a/content/streamlit-cloud/share-your-app/index.md b/content/streamlit-cloud/share-your-app/index.md new file mode 100644 index 000000000..0db61028b --- /dev/null +++ b/content/streamlit-cloud/share-your-app/index.md @@ -0,0 +1,151 @@ +--- +title: Share your app +slug: /streamlit-community-cloud/share-your-app +--- + +# Share your app + +Now that your app is deployed you can easily share it and collaborate on it. But first, let's take a moment and do a little joy dance for getting that app deployed! 🕺💃 + +Your app is now live at a fixed URL, so go wild and share it with whomever you want. Your app will inherit permissions from your GitHub repo, meaning that if your repo is private your app will be private and if your repo is public your app will be public. If you want to change that you can simply do so from the app settings menu. + +You are only allowed one private app at a time. If you've deployed from a private repository, you will have to make that app public or delete it before you can deploy another app from a private repository. Only developers can change your app between public and private. + +- [Make your app public or private](#make-your-app-public-or-private) +- [Share your public app](#share-your-public-app) +- [Share your private app](#share-your-private-app) + +## Make your app public or private + +If you deployed your app from a public repository, your app will be public by default. If you deployed your app from a private repository, you will need to make the app public if you want to freely share it with the community at large. + +### Set privacy from your app settings + +1. Access your [App settings](/streamlit-community-cloud/manage-your-app/app-settings) and go to the "**Sharing**" section. + + ![Share settings on Streamlit Community Cloud](/images/streamlit-community-cloud/workspace-app-settings-sharing.png) + +2. Set your app's privacy under "Who can view this app." Select "**This app is public and searchable**" to make your app public. Select "**Only specific people can view this app**" to make your app private. + + ![Set your app's privacy in share settings](/images/streamlit-community-cloud/workspace-app-settings-sharing-change.png) + +### Set privacy from the share button + +1. From your app at `.streamlit.app`, click "**Share**" in the upper-right corner. + + ![Access the share button from your app](/images/streamlit-community-cloud/share-open.png) + +2. Toggle your app between public and private by clicking "**Make this app public**". + + ![Toggle your app between public and private from the share button](/images/streamlit-community-cloud/share-menu-public-toggle.png) + +## Share your public app + +Once your app is public, just give anyone your app's URL and they view it! Streamlit Community Cloud has several convenient shortcuts for sharing your app. + +### Share your app on social media + +1. From your app at `.streamlit.app`, click "**Share**" in the upper-right corner. +2. Click "**Social**" to access convenient social media share buttons. + + ![Social media sharing links from the share button](/images/streamlit-community-cloud/share-menu-social.png) + + + +Use the social media sharing buttons to post your app on our forum! We'd love to see what you make and perhaps feature your app as our app of the month. 💖 + + + +### Invite viewers by email + +Whether your app is public or private, you can send an email invite to your app directly from Streamlit Community Cloud. This grants the viewer access to analytics for all your public apps and the ability to invite other viewers to your workspace. Developers and invited viewers are identified by their email in analytics instead of appearing anonymously (if they view any of your apps while logged in). Read more about viewers in [App analytics](/streamlit-community-cloud/manage-your-app/app-analytics). + +1. From your app at `.streamlit.app`, click "**Share**" in the upper-right corner. +2. Enter an email address and click "**Invite**". + + ![Invite viewers from the share button](/images/streamlit-community-cloud/share-invite-public.png) + +3. Invited users will get a direct link to your app in their inbox. + + ![Invitation email sent to viewers](/images/streamlit-community-cloud/share-invite-email.png) + +### Copy your app's URL + +You can convenitiently copy your app's URL from the share menu or from your workspace. + +* From your app click "**Share**" in the upper-right corner then click "**Copy link**". + + ![Copy your app's URL from the share button](/images/streamlit-community-cloud/share-copy.png) + +* From your workspace click the overflow menu icon (more_vert) then click "**Copy URL**". + + ![Copy your app's URL from your workspace](/images/streamlit-community-cloud/workspace-app-copy.png) + +### Add a badge to your GitHub repository + +To help others find and play with your Streamlit app, you can add Streamlit's GitHub badge to your repo. Below is an enlarged example of what the badge looks like. Clicking on the badge takes you to—in this case—Streamlit's Face-GAN Demo. + +
+ +
+ + +Once you deploy your app, you can embed this badge right into your GitHub README.md by adding the following Markdown: + +```markdown +[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://.streamlit.app) +``` + + + +Be sure to replace `https://.streamlit.app` with the URL of your deployed app! + + + +## Share your private app + +By default an app deployed from a private repository will be private to the developers in the workspace. A private app will not be visible to anyone else unless you grant them explicit permission. You can grant permission by adding them as a developer on GitHub or by adding them as a viewer on Streamlit Community Cloud. + +Once you have added someone's email address to your app's viewer list, that person will be able to sign in and view your private app. If their email is associated to a Google account, they will be able to sign in with Google OAuth. Otherwise, they will be able to sign in with single-use, emailed links. Streamlit sends an email invitation with a link to your app every time you invite someone. + + + +When you add a viewer to any app in your workspace, they are granted access to analytics for that app as well as analytics for all your public apps. They can also pass these permissions to others by inviting more viewers. All viewers and developers in your workspace are identified by their email in analytics. Furthermore, their emails show in analytics for every app in your workspace and not just apps they are explicitly invited to. Read more about viewers in [App analytics](/streamlit-community-cloud/manage-your-app/app-analytics) + + + +### Invite viewers from the share button + +1. From your app at `.streamlit.app`, click "**Share**" in the upper-right corner. + + ![Access the share button from your app](/images/streamlit-community-cloud/share-open.png) + +2. Enter the email to send an invitation to and click "**Invite**". + + ![Invite viewers from the share button](/images/streamlit-community-cloud/share-invite.png) + +3. Invited users appear in the list below. + + ![View invited users from the share button](/images/streamlit-community-cloud/share-invited.png) + +4. Invited users will get a direct link to your app in their inbox. + + ![Invitation email sent to viewers](/images/streamlit-community-cloud/share-invite-email.png) + +* To remove a viewer, simply access the share menu as above and click the close next to their name. + + ![Remove viewers from the share button](/images/streamlit-community-cloud/share-remove.png) + +### Invite viewers from your app settings + +1. Access your [App settings](/streamlit-community-cloud/manage-your-app/app-settings) and go to the "**Sharing**" section. + + ![Access sharing settings from your app settings](/images/streamlit-community-cloud/workspace-app-settings-sharing.png) + +2. Add or remove users from the list of viewers. Click "**Save**". + + ![Invite and remove viewers from your app settings](/images/streamlit-community-cloud/workspace-app-settings-sharing-invite.png) diff --git a/content/streamlit-cloud/get-started/share-your-app/indexability.md b/content/streamlit-cloud/share-your-app/indexability.md similarity index 51% rename from content/streamlit-cloud/get-started/share-your-app/indexability.md rename to content/streamlit-cloud/share-your-app/indexability.md index e4bc68299..dd47d163c 100644 --- a/content/streamlit-cloud/get-started/share-your-app/indexability.md +++ b/content/streamlit-cloud/share-your-app/indexability.md @@ -1,11 +1,11 @@ --- -title: App indexability -slug: /streamlit-community-cloud/get-started/share-your-app/indexability +title: SEO and search indexability +slug: /streamlit-community-cloud/share-your-app/indexability --- -# App indexability +# SEO and search indexability -When you deploy a public app to Community Cloud, it is automatically indexed by search engines like Google and Bing on a weekly basis. 🎈 This means that anyone can find your app by searching for its custom subdomain (e.g. ) or by searching for the app's title. +When you deploy a public app to Streamlit Community Cloud, it is automatically indexed by search engines like Google and Bing on a weekly basis. 🎈 This means that anyone can find your app by searching for its custom subdomain (e.g. "traingenerator.streamlit.app") or by searching for the app's title. ## Get the most out of app indexability @@ -18,15 +18,15 @@ Here are some tips to help you get the most out of app indexability: ### Make sure your app is public -All public apps hosted on Community Cloud are indexed by search engines. If your app is private, it will not be indexed by search engines. To make your private app public, read [Share your app](/streamlit-community-cloud/get-started/share-your-app). +All public apps hosted on Streamlit Community Cloud are indexed by search engines. If your app is private, it will not be indexed by search engines. To make your private app public, read [Share your app](/streamlit-community-cloud/share-your-app). ### Choose a custom subdomain early -Community Cloud automatically generates a random subdomain for your app based on the structure of the app's GitHub repo. To learn more about app URLs, see [Your app URL](/streamlit-community-cloud/get-started/deploy-an-app#your-app-url). However, subdomains are customizable! Custom subdomains modify your app URLs to reflect your app content, personal branding, or whatever you’d like. Read more about custom subdomains in [Custom subdomains](streamlit-cloud/get-started/deploy-an-app#custom-subdomains). +Streamlit Community Cloud automatically generates a random subdomain for your app. However, subdomains are customizable! Custom subdomains modify your app URLs to reflect your app content, personal branding, or whatever you’d like. Read more about custom subdomains in [Custom subdomains](/streamlit-community-cloud/deploy-your-app#custom-subdomains). -By choosing a custom subdomain, you can use it to help people find your app. For example, if you're deploying an app that generates training data, you might choose a subdomain like `traingenerator.streamlit.app`. This makes it easy for people to find your app by searching for "training generator" or "train generator streamlit app" +By choosing a custom subdomain, you can use it to help people find your app. For example, if you're deploying an app that generates training data, you might choose a subdomain like `traingenerator.streamlit.app`. This makes it easy for people to find your app by searching for "training generator" or "train generator streamlit app." -We recommend choosing a custom subdomain early, right after you deploy your app. This ensures that your app is indexed by search engines using your custom subdomain, rather than the automatically generated one. If you choose a custom subdomain later, your app may first be indexed by search engines using the default subdomain. This means that your app will be indexed multiple times, once using the default subdomain (which will lead to a 404) and once using your custom subdomain. This can confuse users who are searching for your app. +We recommend choosing a custom subdomain when you deploy your app. This ensures that your app is indexed by search engines using your custom subdomain, rather than the automatically generated one. If you choose a custom subdomain later, your app may be indexed multiple times—once using the default subdomain and once using your custom subdomain. In this case, your old URL will result in a 404 error which can confuse users who are searching for your app. ### Choose a descriptive app title @@ -51,7 +51,7 @@ From our observations, search engines seem to favor the content in both `st.head If you're curious about what your app looks like in search engine results, you can type the following into Google Search: ``` -site: +site:.streamlit.app ``` Example: `site:traingenerator.streamlit.app` @@ -60,10 +60,6 @@ Example: `site:traingenerator.streamlit.app` ## What if I don't want my app to be indexed? -If you don't want your app to be indexed by search engines, you can make it private. Read [Share your app](/streamlit-community-cloud/get-started/share-your-app) to learn more about making your app private. Note: each workspace can only have one private app. If you want to make your app private, you must first delete any other private apps in your workspace. +If you don't want your app to be indexed by search engines, you can make it private. Read [Share your app](/streamlit-community-cloud/share-your-app) to learn more about making your app private. Note: each workspace can only have one private app. If you want to make your app private, you must first delete any other private app in your workspace or make it public. -That said, Community Cloud is an open and free platform for the community to deploy, discover, and share Streamlit apps and code with each other. As such, we encourage you to make your app public so that it can be indexed by search engines and discovered by other Streamlit users and community members. - -## Have questions or feedback? - -If you run into issues with app indexability or have any questions or feedback about it, we’d love to hear from you! Please post on our [Community forum](https://discuss.streamlit.io) so that our team and community members can help you. 🤗 +That said, Streamlit Community Cloud is an open and free platform for the community to deploy, discover, and share Streamlit apps and code with each other. As such, we encourage you to make your app public so that it can be indexed by search engines and discovered by other Streamlit users and community members. diff --git a/content/streamlit-cloud/get-started/share-your-app/share-previews.md b/content/streamlit-cloud/share-your-app/share-previews.md similarity index 80% rename from content/streamlit-cloud/get-started/share-your-app/share-previews.md rename to content/streamlit-cloud/share-your-app/share-previews.md index 6d1a57af9..8b3aa58ba 100644 --- a/content/streamlit-cloud/get-started/share-your-app/share-previews.md +++ b/content/streamlit-cloud/share-your-app/share-previews.md @@ -1,6 +1,6 @@ --- title: Share previews -slug: /streamlit-community-cloud/get-started/share-your-app/share-previews +slug: /streamlit-community-cloud/share-your-app/share-previews --- # Share previews @@ -15,7 +15,7 @@ Social media sites generate a card with a title, preview image, and description -Share previews are generated only for public apps deployed on Community Cloud. +Share previews are generated only for public apps deployed on Streamlit Community Cloud. @@ -35,7 +35,7 @@ There are two ways to set the title of a share preview: # ... rest of your app ``` -2. If you don't set the `page_title` parameter, the title of the share preview will be the name of your app's GitHub repository. E.g., if you don't set the `page_title` parameter in `st.set_page_config()`, the title of the share preview for an app hosted on GitHub at https://github.com/jrieke/traingenerator will be "traingenerator". +2. If you don't set the `page_title` parameter, the title of the share preview will be the name of your app's GitHub repository. For example, the default title for an app hosted on GitHub at github.com/jrieke/traingenerator will be "traingenerator". ## Descriptions @@ -57,8 +57,8 @@ If you want your share previews to look great and want users to share your app a ## Preview images -Community Cloud takes a screenshot of your app once a day and uses it as the preview image, unlike titles and descriptions, which are pulled directly from your app's code or GitHub repository. This screenshot may take up to 24 hours to update. +Streamlit Community Cloud takes a screenshot of your app once a day and uses it as the preview image, unlike titles and descriptions which are pulled directly from your app's code or GitHub repository. This screenshot may take up to 24 hours to update. -## Switching your app from public to private +### Switching your app from public to private If you initially made your app public and later decided to make it private, we will stop generating share previews for the app. However, it may take up to 24 hours for the share previews to stop appearing. diff --git a/content/streamlit-cloud/troubleshooting.md b/content/streamlit-cloud/troubleshooting.md index 5d7d53cc4..c3fd935c0 100644 --- a/content/streamlit-cloud/troubleshooting.md +++ b/content/streamlit-cloud/troubleshooting.md @@ -13,7 +13,6 @@ Sorry to hear you're having issues! Please take a look at some frequently asked 2. [Deploying apps](#deploying-apps) 3. [Sharing and accessing apps](/streamlit-community-cloud/troubleshooting#sharing-and-accessing-apps) 4. [Data and app security](/streamlit-community-cloud/troubleshooting#data-and-app-security) - 5. [GitHub integration](/streamlit-community-cloud/troubleshooting#github-integration) 6. [Limitations and known issues](/streamlit-community-cloud/troubleshooting#limitations-and-known-issues) @@ -23,11 +22,6 @@ Sorry to hear you're having issues! Please take a look at some frequently asked If you have any questions, feedback, run into any issues, or need to reach us, you can ask on our [Community forum](https://discuss.streamlit.io/). This is best suited for any questions related to the open source library and Community Cloud - debugging code, deployment, resource limits, etc. - - ## Deploying apps ### My repo isn't showing on the Deploy page @@ -46,7 +40,7 @@ To deploy an app for the first time you must have admin-level access to the repo When deploying an app, under advanced settings, you can choose which version of Python you wish your app to use. -![Streamlit Community Cloud Advanced settings](/images/streamlit-community-cloud/advanced-settings.png) +![Streamlit Community Cloud Advanced settings](/images/streamlit-community-cloud/deploy-an-app-advanced.png) ### How do I store files locally? @@ -62,9 +56,7 @@ If you have really big or binary data that you change frequently, and git is fee ### My app is running into issues while deploying -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](/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies). - - +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](/streamlit-community-cloud/deploy-your-app/app-dependencies). If that's not the issue, then please send the logs and warning you are seeing to our [Community forum](https://discuss.streamlit.io/) and we'll help get you sorted! @@ -75,7 +67,7 @@ If your app is running slowly or you're hitting the 'Argh' page, we first highly - [Common app problems: Resource limits](https://blog.streamlit.io/common-app-problems-resource-limits/) - [3 steps to fix app memory leaks](https://blog.streamlit.io/3-steps-to-fix-app-memory-leaks/) -If you're still having issues, click [here](/streamlit-community-cloud/get-started/manage-your-app#app-resources-and-limits) to learn more about resource limits. +If you're still having issues, click [here](/streamlit-community-cloud/manage-your-app#app-resources-and-limits) to learn more about resource limits. ### Can I get a custom URL for my app? @@ -83,21 +75,13 @@ Yes! You can find [instructions for setting a custom subdomain here](/knowledge- ## Sharing and accessing apps -### I don't have SSO. How do I sign in to Streamlit? - -Don't have SSO? No problem! You can sign in to Streamlit with your email address. [Click here](/streamlit-community-cloud/get-started#sign-in-with-email) for step-by-step instructions on how to sign in with email. - - +Don't have SSO? No problem! You can sign in to Streamlit with your email address. [Click here](/streamlit-community-cloud/get-started#sign-in-with-email) for step-by-step instructions on how to sign in with email. --> ### How do I add viewers to my Streamlit apps? - - -Viewer auth allows you to restrict the viewers of your private app. To access your app, users have to authenticate using an email-based passwordless login or Google OAuth. To learn more about how to share your public and private apps with viewers, click [here](/streamlit-community-cloud/get-started/share-your-app). +Viewer auth allows you to restrict the viewers of your private app. To access your app, users have to authenticate using an email-based passwordless login or Google OAuth. To learn more about how to share your public and private apps with viewers, click [here](/streamlit-community-cloud/share-your-app). ### Do viewers need access to the GitHub repo? @@ -107,11 +91,10 @@ Nope! You only need access to the GitHub repo if you want to push changes to the 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](/streamlit-community-cloud/get-started/share-your-app#adding-viewers-from-the-app-dashboard) provided in the app settings. +- User is not logged in with their primary identity. +- User is not included in the [list of allowed viewers](/streamlit-community-cloud/share-your-app#share-your-private-app) provided in the app settings. - User lacks read access to your app's GitHub repo. - -- User has read access to your app's GitHub repo but is not enrolled in Community Cloud. +- User has read access to your app's GitHub repo but is not enrolled in Streamlit Community Cloud. ![Four Oh Four](/images/streamlit-community-cloud/404.png) @@ -129,38 +112,16 @@ If a user is still seeing a 404 error after their email address has been added t ### How will Streamlit secure my data? -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](/streamlit-community-cloud/trust-and-security). +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](/streamlit-community-cloud/get-started/trust-and-security). ### How do I set up SSO for my organization? - - Community Cloud uses Google OAuth, by default. If you use Google for authentication you're all set. ## Billing and administration The Community Cloud is a free service. You don't have to worry about setting up billing or being charged. - - ## GitHub integration ### Why does Streamlit require additional OAuth scope? @@ -177,7 +138,7 @@ Once a user is added to a repository on GitHub, it will take at most 15 minutes ## Limitations and known issues -Here are some limitations and known issues that we're actively working to resolve. If you find an issue [please let us know](mailto:support@streamlit.io)! +Here are some limitations and known issues that we're actively working to resolve. - When you print something to the Cloud logs, you may need to do a `sys.stdout.flush()` before it shows up. - Matplotlib [doesn't work well with threads](https://matplotlib.org/3.3.2/faq/howto_faq.html#working-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. diff --git a/public/_redirects b/public/_redirects index 00b497827..44cbc782f 100644 --- a/public/_redirects +++ b/public/_redirects @@ -6,7 +6,7 @@ /en/latest/caching.html /library/api-reference/performance/st.cache /en/latest/changelog.html /library/changelog /streamlit-cloud /streamlit-community-cloud -/en/latest/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/latest/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/latest/develop_streamlit_components.html /library/components /en/latest/getting_started.html /library/get-started /en/latest/index.html / @@ -42,7 +42,7 @@ /en/stable/api.html /library/api-reference /en/stable/caching.html /library/advanced-features/caching /en/stable/changelog.html /library/changelog -/en/stable/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/stable/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/stable/develop_streamlit_components.html /library/components/components-api /en/stable/getting_started.html /library/get-started /en/stable/index.html / @@ -213,7 +213,7 @@ /en/0.68.0/api.md /library/get-started /en/0.68.0/caching.html /library/advanced-features/caching /en/0.68.0/changelog.html /library/changelog -/en/0.68.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.68.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.68.0/develop_streamlit_components.html /library/components/components-api /en/0.68.0/getting_started.html /library/get-started /en/0.68.0/getting_started.md /library/get-started @@ -236,7 +236,7 @@ /en/0.69.0/api.md /library/get-started /en/0.69.0/caching.html /library/advanced-features/caching /en/0.69.0/changelog.html /library/changelog -/en/0.69.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.69.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.69.0/develop_streamlit_components.html /library/components/components-api /en/0.69.0/getting_started.html /library/get-started /en/0.69.0/getting_started.md /library/get-started @@ -259,7 +259,7 @@ /en/0.70.0/api.md /library/get-started /en/0.70.0/caching.html /library/advanced-features/caching /en/0.70.0/changelog.html /library/changelog -/en/0.70.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.70.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.70.0/develop_streamlit_components.html /library/components/components-api /en/0.70.0/getting_started.html /library/get-started /en/0.70.0/getting_started.md /library/get-started @@ -282,7 +282,7 @@ /en/0.71.0/api.md /library/get-started /en/0.71.0/caching.html /library/advanced-features/caching /en/0.71.0/changelog.html /library/changelog -/en/0.71.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.71.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.71.0/develop_streamlit_components.html /library/components/components-api /en/0.71.0/getting_started.html /library/get-started /en/0.71.0/getting_started.md /library/get-started @@ -305,7 +305,7 @@ /en/0.72.0/api.md /library/get-started /en/0.72.0/caching.html /library/advanced-features/caching /en/0.72.0/changelog.html /library/changelog -/en/0.72.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.72.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.72.0/develop_streamlit_components.html /library/components/components-api /en/0.72.0/getting_started.html /library/get-started /en/0.72.0/getting_started.md /library/get-started @@ -328,7 +328,7 @@ /en/0.73.0/api.md /library/get-started /en/0.73.0/caching.html /library/advanced-features/caching /en/0.73.0/changelog.html /library/changelog -/en/0.73.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.73.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.73.0/develop_streamlit_components.html /library/components/components-api /en/0.73.0/getting_started.html /library/get-started /en/0.73.0/getting_started.md /library/get-started @@ -351,7 +351,7 @@ /en/0.74.0/api.md /library/get-started /en/0.74.0/caching.html /library/advanced-features/caching /en/0.74.0/changelog.html /library/changelog -/en/0.74.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.74.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.74.0/develop_streamlit_components.html /library/components/components-api /en/0.74.0/getting_started.html /library/get-started /en/0.74.0/getting_started.md /library/get-started @@ -374,7 +374,7 @@ /en/0.75.0/api.md /library/get-started /en/0.75.0/caching.html /library/advanced-features/caching /en/0.75.0/changelog.html /library/changelog -/en/0.75.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.75.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.75.0/develop_streamlit_components.html /library/components/components-api /en/0.75.0/getting_started.html /library/get-started /en/0.75.0/getting_started.md /library/get-started @@ -397,7 +397,7 @@ /en/0.76.0/api.md /library/get-started /en/0.76.0/caching.html /library/advanced-features/caching /en/0.76.0/changelog.html /library/changelog -/en/0.76.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.76.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.76.0/develop_streamlit_components.html /library/components/components-api /en/0.76.0/getting_started.html /library/get-started /en/0.76.0/getting_started.md /library/get-started @@ -420,7 +420,7 @@ /en/0.77.0/api.md /library/get-started /en/0.77.0/caching.html /library/advanced-features/caching /en/0.77.0/changelog.html /library/changelog -/en/0.77.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.77.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.77.0/develop_streamlit_components.html /library/components/components-api /en/0.77.0/getting_started.html /library/get-started /en/0.77.0/getting_started.md /library/get-started @@ -443,7 +443,7 @@ /en/0.78.0/api.md /library/get-started /en/0.78.0/caching.html /library/advanced-features/caching /en/0.78.0/changelog.html /library/changelog -/en/0.78.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.78.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.78.0/develop_streamlit_components.html /library/components/components-api /en/0.78.0/getting_started.html /library/get-started /en/0.78.0/getting_started.md /library/get-started @@ -465,7 +465,7 @@ /en/0.79.0/api.html /library/api-reference /en/0.79.0/caching.html /library/advanced-features/caching /en/0.79.0/changelog.html /library/changelog -/en/0.79.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.79.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.79.0/develop_streamlit_components.html /library/components/components-api /en/0.79.0/getting_started.html /library/get-started /en/0.79.0/index.html / @@ -487,7 +487,7 @@ /en/0.80.0/api.html /library/api-reference /en/0.80.0/caching.html /library/advanced-features/caching /en/0.80.0/changelog.html /library/changelog -/en/0.80.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.80.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.80.0/develop_streamlit_components.html /library/components/components-api /en/0.80.0/getting_started.html /library/get-started /en/0.80.0/index.html / @@ -509,7 +509,7 @@ /en/0.81.0/api.html /library/api-reference /en/0.81.0/caching.html /library/advanced-features/caching /en/0.81.0/changelog.html /library/changelog -/en/0.81.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.81.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.81.0/develop_streamlit_components.html /library/components/components-api /en/0.81.0/getting_started.html /library/get-started /en/0.81.0/index.html / @@ -531,7 +531,7 @@ /en/0.81.1/api.html /library/api-reference /en/0.81.1/caching.html /library/advanced-features/caching /en/0.81.1/changelog.html /library/changelog -/en/0.81.1/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.81.1/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.81.1/develop_streamlit_components.html /library/components/components-api /en/0.81.1/getting_started.html /library/get-started /en/0.81.1/index.html / @@ -553,7 +553,7 @@ /en/0.82.0/api.html /library/api-reference /en/0.82.0/caching.html /library/advanced-features/caching /en/0.82.0/changelog.html /library/changelog -/en/0.82.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.82.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.82.0/develop_streamlit_components.html /library/components/components-api /en/0.82.0/getting_started.html /library/get-started /en/0.82.0/index.html / @@ -575,7 +575,7 @@ /en/0.83.0/api.html /library/api-reference /en/0.83.0/caching.html /library/advanced-features/caching /en/0.83.0/changelog.html /library/changelog -/en/0.83.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.83.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.83.0/develop_streamlit_components.html /library/components/components-api /en/0.83.0/getting_started.html /library/get-started /en/0.83.0/index.html / @@ -606,7 +606,7 @@ /en/0.84.0/api.html /library/api-reference /en/0.84.0/caching.html /library/advanced-features/caching /en/0.84.0/changelog.html /library/changelog -/en/0.84.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.84.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.84.0/develop_streamlit_components.html /library/components/components-api /en/0.84.0/getting_started.html /library/get-started /en/0.84.0/index.html / @@ -638,7 +638,7 @@ /en/0.85.0/api.html /library/api-reference /en/0.85.0/caching.html /library/advanced-features/caching /en/0.85.0/changelog.html /library/changelog -/en/0.85.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.85.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.85.0/develop_streamlit_components.html /library/components/components-api /en/0.85.0/getting_started.html /library/get-started /en/0.85.0/index.html / @@ -671,7 +671,7 @@ /en/0.86.0/api.html /library/api-reference /en/0.86.0/caching.html /library/advanced-features/caching /en/0.86.0/changelog.html /library/changelog -/en/0.86.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.86.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.86.0/develop_streamlit_components.html /library/components/components-api /en/0.86.0/getting_started.html /library/get-started /en/0.86.0/index.html / @@ -704,7 +704,7 @@ /en/0.87.0/api.html /library/api-reference /en/0.87.0/caching.html /library/advanced-features/caching /en/0.87.0/changelog.html /library/changelog -/en/0.87.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.87.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.87.0/develop_streamlit_components.html /library/components/components-api /en/0.87.0/getting_started.html /library/get-started /en/0.87.0/index.html / @@ -737,7 +737,7 @@ /en/0.88.0/api.html /library/api-reference /en/0.88.0/caching.html /library/advanced-features/caching /en/0.88.0/changelog.html /library/changelog -/en/0.88.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.88.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.88.0/develop_streamlit_components.html /library/components/components-api /en/0.88.0/getting_started.html /library/get-started /en/0.88.0/index.html / @@ -770,7 +770,7 @@ /en/0.89.0/api.html /library/api-reference /en/0.89.0/caching.html /library/advanced-features/caching /en/0.89.0/changelog.html /library/changelog -/en/0.89.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/0.89.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/0.89.0/develop_streamlit_components.html /library/components/components-api /en/0.89.0/getting_started.html /library/get-started /en/0.89.0/index.html / @@ -803,7 +803,7 @@ /en/1.0.0/api.html /library/api-reference /en/1.0.0/caching.html /library/advanced-features/caching /en/1.0.0/changelog.html /library/changelog -/en/1.0.0/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/en/1.0.0/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /en/1.0.0/develop_streamlit_components.html /library/components/components-api /en/1.0.0/getting_started.html /library/get-started /en/1.0.0/index.html / @@ -830,7 +830,7 @@ /en/1.0.0/tutorial/private_gsheet.html /knowledge-base/tutorials/databases/private-gsheet /en/1.0.0/tutorial/public_gsheet.html /knowledge-base/tutorials/databases/public-gsheet /en/1.0.0/tutorial/tableau.html /knowledge-base/tutorials/databases/tableau -/deploy_streamlit_app.html /streamlit-community-cloud/get-started/deploy-an-app +/deploy_streamlit_app.html /streamlit-community-cloud/deploy-your-app /tutorial/create_a_data_explorer_app.html /library/get-started/create-an-app /getting_started.html /library/get-started /develop_streamlit_components.html /library/components/create @@ -843,8 +843,8 @@ /en/latest/advanced_caching.html /library/advanced-features/caching /en/stable/advanced_caching.html /library/advanced-features/caching /troubleshooting/caching_issues.html /knowledge-base/using-streamlit/caching-issues -/streamlit-community-cloud/enterprise/single-sign-on-sso /streamlit-community-cloud/get-started/share-your-app/configuring-single-on-sso -/streamlit-community-cloud/enterprise/single-sign-on-sso/streamlit-okta-sso /streamlit-community-cloud/get-started/share-your-app/configuring-single-on-sso/streamlit-okta-sso +/streamlit-community-cloud/enterprise/single-sign-on-sso /streamlit-community-cloud/get-started +/streamlit-community-cloud/enterprise/single-sign-on-sso/streamlit-okta-sso /streamlit-community-cloud/get-started /streamlit-community-cloud/enterprise /streamlit-community-cloud /streamlit-community-cloud/get-started/share-your-app/configuring-single-on-sso /streamlit-community-cloud/get-started /streamlit-community-cloud/get-started/share-your-app/configuring-single-on-sso/streamlit-active-directory-adfs /streamlit-community-cloud/get-started @@ -853,21 +853,32 @@ /streamlit-community-cloud/get-started/share-your-app/configuring-single-on-sso/streamlit-auth0-sso /streamlit-community-cloud/get-started /streamlit-community-cloud/get-started/share-your-app/configuring-single-on-sso/streamlit-general-saml-authentication /streamlit-community-cloud/get-started /streamlit-cloud/get-started /streamlit-community-cloud/get-started -/streamlit-cloud/get-started/deploy-an-app /streamlit-community-cloud/get-started/deploy-an-app -/streamlit-cloud/get-started/deploy-an-app/app-dependencies /streamlit-community-cloud/get-started/deploy-an-app/app-dependencies -/streamlit-cloud/get-started/deploy-an-app/connect-to-data-sources /streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources -/streamlit-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management /streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management -/streamlit-cloud/get-started/deploy-an-app/connect-to-data-sources/stable-outbound-ip-addresses /streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/stable-outbound-ip-addresses -/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/stable-outbound-ip-addresses /streamlit-community-cloud/get-started/ -/streamlit-cloud/get-started/share-your-app /streamlit-community-cloud/get-started/share-your-app -/streamlit-cloud/get-started/share-your-app/indexability /streamlit-community-cloud/get-started/share-your-app/indexability -/streamlit-cloud/get-started/share-your-app/share-previews /streamlit-community-cloud/get-started/share-your-app/share-previews -/streamlit-cloud/get-started/manage-your-app /streamlit-community-cloud/get-started/manage-your-app -/streamlit-cloud/trust-and-security /streamlit-community-cloud/trust-and-security +/streamlit-cloud/get-started/deploy-an-app /streamlit-community-cloud/deploy-your-app +/streamlit-cloud/get-started/deploy-an-app/app-dependencies /streamlit-community-cloud/deploy-your-app/app-dependencies +/streamlit-cloud/get-started/deploy-an-app/connect-to-data-sources /knowledge-base/tutorials/databases +/streamlit-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management /streamlit-community-cloud/deploy-your-app/secrets-management +/streamlit-cloud/get-started/deploy-an-app/connect-to-data-sources/stable-outbound-ip-addresses /knowledge-base/tutorials/databases +/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/stable-outbound-ip-addresses /knowledge-base/tutorials/databases +/streamlit-cloud/get-started/share-your-app /streamlit-community-cloud/share-your-app +/streamlit-cloud/get-started/share-your-app/indexability /streamlit-community-cloud/share-your-app/indexability +/streamlit-cloud/get-started/share-your-app/share-previews /streamlit-community-cloud/share-your-app/share-previews +/streamlit-cloud/get-started/manage-your-app /streamlit-community-cloud/manage-your-app +/streamlit-cloud/trust-and-security /streamlit-community-cloud/get-started/trust-and-security /streamlit-cloud/troubleshooting /streamlit-community-cloud/troubleshooting /streamlit-community-cloud/get-started/delete-your-account /streamlit-community-cloud/manage-your-account/delete-your-account /knowledge-base/using-streamlit/how-host-static-files /library/advanced-features/static-file-serving /library/api-reference/widgets/st.experimental_data_editor /library/api-reference/data/st.data_editor /knowledge-base/using-streamlit/how-hide-hamburger-menu-app /library/advanced-features/app-menu#customize-the-menu /knowledge-base/using-streamlit/record-screencast /library/advanced-features/app-menu#record-a-screencast -/knowledge-base/using-streamlit/hide-row-indices-displaying-dataframe http://localhost:3000/library/advanced-features/dataframes#additional-formatting-options \ No newline at end of file +/knowledge-base/using-streamlit/hide-row-indices-displaying-dataframe /library/advanced-features/dataframes#additional-formatting-options +/knowledge-base/deploy/share-apps-with-viewers-outside-organization /streamlit-community-cloud/share-your-app +/streamlit-community-cloud/get-started/deploy-an-app /streamlit-community-cloud/deploy-your-app +/streamlit-community-cloud/get-started/deploy-an-app/app-dependencies /streamlit-community-cloud/deploy-your-app/app-dependencies +/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources /knowledge-base/tutorials/databases +/streamlit-community-cloud/get-started/deploy-an-app/connect-to-data-sources/secrets-management /streamlit-community-cloud/deploy-your-app/secrets-management +/streamlit-community-cloud/get-started/embed-your-app /streamlit-community-cloud/share-your-app/embed-your-app +/streamlit-community-cloud/get-started/share-your-app /streamlit-community-cloud/share-your-app +/streamlit-community-cloud/get-started/share-your-app/indexability /streamlit-community-cloud/share-your-app/indexability +/streamlit-community-cloud/get-started/share-your-app/share-previews /streamlit-community-cloud/share-your-app/share-previews +/streamlit-community-cloud/get-started/manage-your-app /streamlit-community-cloud/manage-your-app +/streamlit-community-cloud/trust-and-security /streamlit-community-cloud/get-started/trust-and-security diff --git a/public/images/streamlit-cloud/404.png b/public/images/streamlit-cloud/404.png deleted file mode 100644 index db2f28f3e..000000000 Binary files a/public/images/streamlit-cloud/404.png and /dev/null differ diff --git a/public/images/streamlit-cloud/add-viewers.png b/public/images/streamlit-cloud/add-viewers.png deleted file mode 100644 index e5f2efe9f..000000000 Binary files a/public/images/streamlit-cloud/add-viewers.png and /dev/null differ diff --git a/public/images/streamlit-cloud/advanced-settings.png b/public/images/streamlit-cloud/advanced-settings.png deleted file mode 100644 index 98e0c070f..000000000 Binary files a/public/images/streamlit-cloud/advanced-settings.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-dashboard.png b/public/images/streamlit-cloud/app-dashboard.png deleted file mode 100644 index b1a158fb8..000000000 Binary files a/public/images/streamlit-cloud/app-dashboard.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-invite-notification.png b/public/images/streamlit-cloud/app-invite-notification.png deleted file mode 100644 index bf87f27c5..000000000 Binary files a/public/images/streamlit-cloud/app-invite-notification.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-viewers-analytics-modal.png b/public/images/streamlit-cloud/app-viewers-analytics-modal.png deleted file mode 100644 index 8013f9b20..000000000 Binary files a/public/images/streamlit-cloud/app-viewers-analytics-modal.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-viewers-dashboard.png b/public/images/streamlit-cloud/app-viewers-dashboard.png deleted file mode 100644 index 631328ae5..000000000 Binary files a/public/images/streamlit-cloud/app-viewers-dashboard.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-viewers-data.gif b/public/images/streamlit-cloud/app-viewers-data.gif deleted file mode 100644 index 529b00db4..000000000 Binary files a/public/images/streamlit-cloud/app-viewers-data.gif and /dev/null differ diff --git a/public/images/streamlit-cloud/app-viewers-dropdown-options.png b/public/images/streamlit-cloud/app-viewers-dropdown-options.png deleted file mode 100644 index 7fc8518fc..000000000 Binary files a/public/images/streamlit-cloud/app-viewers-dropdown-options.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-viewers-header.png b/public/images/streamlit-cloud/app-viewers-header.png deleted file mode 100644 index 7773cc64f..000000000 Binary files a/public/images/streamlit-cloud/app-viewers-header.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-viewers-in-app.png b/public/images/streamlit-cloud/app-viewers-in-app.png deleted file mode 100644 index 81d9ef8ca..000000000 Binary files a/public/images/streamlit-cloud/app-viewers-in-app.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-workspace.png b/public/images/streamlit-cloud/app-workspace.png deleted file mode 100644 index fbf3c4179..000000000 Binary files a/public/images/streamlit-cloud/app-workspace.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-workspaces-1.gif b/public/images/streamlit-cloud/app-workspaces-1.gif deleted file mode 100644 index 1abf69da8..000000000 Binary files a/public/images/streamlit-cloud/app-workspaces-1.gif and /dev/null differ diff --git a/public/images/streamlit-cloud/app-workspaces-2.png b/public/images/streamlit-cloud/app-workspaces-2.png deleted file mode 100644 index f566cb38d..000000000 Binary files a/public/images/streamlit-cloud/app-workspaces-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-workspaces-3.jpg b/public/images/streamlit-cloud/app-workspaces-3.jpg deleted file mode 100644 index 11b6d6d92..000000000 Binary files a/public/images/streamlit-cloud/app-workspaces-3.jpg and /dev/null differ diff --git a/public/images/streamlit-cloud/app-workspaces-4.png b/public/images/streamlit-cloud/app-workspaces-4.png deleted file mode 100644 index 21881ded4..000000000 Binary files a/public/images/streamlit-cloud/app-workspaces-4.png and /dev/null differ diff --git a/public/images/streamlit-cloud/app-workspaces-5.png b/public/images/streamlit-cloud/app-workspaces-5.png deleted file mode 100644 index 6ef4176f7..000000000 Binary files a/public/images/streamlit-cloud/app-workspaces-5.png and /dev/null differ diff --git a/public/images/streamlit-cloud/auth-without-sso-global.png b/public/images/streamlit-cloud/auth-without-sso-global.png deleted file mode 100644 index 317b48fca..000000000 Binary files a/public/images/streamlit-cloud/auth-without-sso-global.png and /dev/null differ diff --git a/public/images/streamlit-cloud/auth-without-sso-individual.png b/public/images/streamlit-cloud/auth-without-sso-individual.png deleted file mode 100644 index 826ed200e..000000000 Binary files a/public/images/streamlit-cloud/auth-without-sso-individual.png and /dev/null differ diff --git a/public/images/streamlit-cloud/authorization-1.png b/public/images/streamlit-cloud/authorization-1.png deleted file mode 100644 index 457d9f18e..000000000 Binary files a/public/images/streamlit-cloud/authorization-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/authorization-2.png b/public/images/streamlit-cloud/authorization-2.png deleted file mode 100644 index f032a4968..000000000 Binary files a/public/images/streamlit-cloud/authorization-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/cloud-logs-overflow.png b/public/images/streamlit-cloud/cloud-logs-overflow.png deleted file mode 100644 index 72c632ef1..000000000 Binary files a/public/images/streamlit-cloud/cloud-logs-overflow.png and /dev/null differ diff --git a/public/images/streamlit-cloud/cloud-logs.png b/public/images/streamlit-cloud/cloud-logs.png deleted file mode 100644 index 8f084031e..000000000 Binary files a/public/images/streamlit-cloud/cloud-logs.png and /dev/null differ diff --git a/public/images/streamlit-cloud/cloud-sign-in.png b/public/images/streamlit-cloud/cloud-sign-in.png deleted file mode 100644 index ba1510cb8..000000000 Binary files a/public/images/streamlit-cloud/cloud-sign-in.png and /dev/null differ diff --git a/public/images/streamlit-cloud/custom-subdomain-error.png b/public/images/streamlit-cloud/custom-subdomain-error.png deleted file mode 100644 index 112fb1d50..000000000 Binary files a/public/images/streamlit-cloud/custom-subdomain-error.png and /dev/null differ diff --git a/public/images/streamlit-cloud/custom-subdomain-pick.png b/public/images/streamlit-cloud/custom-subdomain-pick.png deleted file mode 100644 index 7557c6b54..000000000 Binary files a/public/images/streamlit-cloud/custom-subdomain-pick.png and /dev/null differ diff --git a/public/images/streamlit-cloud/custom-subdomain-save.png b/public/images/streamlit-cloud/custom-subdomain-save.png deleted file mode 100644 index 555028815..000000000 Binary files a/public/images/streamlit-cloud/custom-subdomain-save.png and /dev/null differ diff --git a/public/images/streamlit-cloud/custom-subdomain-settings.png b/public/images/streamlit-cloud/custom-subdomain-settings.png deleted file mode 100644 index d995b0098..000000000 Binary files a/public/images/streamlit-cloud/custom-subdomain-settings.png and /dev/null differ diff --git a/public/images/streamlit-cloud/deploy-an-app.gif b/public/images/streamlit-cloud/deploy-an-app.gif deleted file mode 100644 index ecfa09f9a..000000000 Binary files a/public/images/streamlit-cloud/deploy-an-app.gif and /dev/null differ diff --git a/public/images/streamlit-cloud/deploy-an-app.png b/public/images/streamlit-cloud/deploy-an-app.png deleted file mode 100644 index 69a1c00cd..000000000 Binary files a/public/images/streamlit-cloud/deploy-an-app.png and /dev/null differ diff --git a/public/images/streamlit-cloud/developer-view.png b/public/images/streamlit-cloud/developer-view.png deleted file mode 100644 index 78dc0005f..000000000 Binary files a/public/images/streamlit-cloud/developer-view.png and /dev/null differ diff --git a/public/images/streamlit-cloud/edit-secrets-1.png b/public/images/streamlit-cloud/edit-secrets-1.png deleted file mode 100644 index ffcbe45ef..000000000 Binary files a/public/images/streamlit-cloud/edit-secrets-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/edit-secrets.png b/public/images/streamlit-cloud/edit-secrets.png deleted file mode 100644 index a2d8816f9..000000000 Binary files a/public/images/streamlit-cloud/edit-secrets.png and /dev/null differ diff --git a/public/images/streamlit-cloud/email-signin-1.png b/public/images/streamlit-cloud/email-signin-1.png deleted file mode 100644 index 5aad01d7a..000000000 Binary files a/public/images/streamlit-cloud/email-signin-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/email-signin-2.png b/public/images/streamlit-cloud/email-signin-2.png deleted file mode 100644 index c441ac6b0..000000000 Binary files a/public/images/streamlit-cloud/email-signin-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/email-signin-3.png b/public/images/streamlit-cloud/email-signin-3.png deleted file mode 100644 index b12d6df09..000000000 Binary files a/public/images/streamlit-cloud/email-signin-3.png and /dev/null differ diff --git a/public/images/streamlit-cloud/email-signin-4.png b/public/images/streamlit-cloud/email-signin-4.png deleted file mode 100644 index 7ae4908d9..000000000 Binary files a/public/images/streamlit-cloud/email-signin-4.png and /dev/null differ diff --git a/public/images/streamlit-cloud/favorite-app-dashboard-hover.png b/public/images/streamlit-cloud/favorite-app-dashboard-hover.png deleted file mode 100644 index 2a5e376c6..000000000 Binary files a/public/images/streamlit-cloud/favorite-app-dashboard-hover.png and /dev/null differ diff --git a/public/images/streamlit-cloud/favorite-app-dashboard-menu.png b/public/images/streamlit-cloud/favorite-app-dashboard-menu.png deleted file mode 100644 index ce0e821ff..000000000 Binary files a/public/images/streamlit-cloud/favorite-app-dashboard-menu.png and /dev/null differ diff --git a/public/images/streamlit-cloud/favorited-view.png b/public/images/streamlit-cloud/favorited-view.png deleted file mode 100644 index e34af446b..000000000 Binary files a/public/images/streamlit-cloud/favorited-view.png and /dev/null differ diff --git a/public/images/streamlit-cloud/github-signin-1.png b/public/images/streamlit-cloud/github-signin-1.png deleted file mode 100644 index b06bb456d..000000000 Binary files a/public/images/streamlit-cloud/github-signin-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/github-signin-2.png b/public/images/streamlit-cloud/github-signin-2.png deleted file mode 100644 index decb1509a..000000000 Binary files a/public/images/streamlit-cloud/github-signin-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/github-signin-3.png b/public/images/streamlit-cloud/github-signin-3.png deleted file mode 100644 index 7ae4908d9..000000000 Binary files a/public/images/streamlit-cloud/github-signin-3.png and /dev/null differ diff --git a/public/images/streamlit-cloud/google-signin-1.png b/public/images/streamlit-cloud/google-signin-1.png deleted file mode 100644 index 707491144..000000000 Binary files a/public/images/streamlit-cloud/google-signin-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/google-signin-2.png b/public/images/streamlit-cloud/google-signin-2.png deleted file mode 100644 index cf0a157e2..000000000 Binary files a/public/images/streamlit-cloud/google-signin-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/google-signin-3.png b/public/images/streamlit-cloud/google-signin-3.png deleted file mode 100644 index 7ae4908d9..000000000 Binary files a/public/images/streamlit-cloud/google-signin-3.png and /dev/null differ diff --git a/public/images/streamlit-cloud/in-app-share-menu-1.png b/public/images/streamlit-cloud/in-app-share-menu-1.png deleted file mode 100644 index a361ae9cf..000000000 Binary files a/public/images/streamlit-cloud/in-app-share-menu-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/in-app-share-menu-2.png b/public/images/streamlit-cloud/in-app-share-menu-2.png deleted file mode 100644 index adb64bc96..000000000 Binary files a/public/images/streamlit-cloud/in-app-share-menu-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/in-app-share-menu-3.png b/public/images/streamlit-cloud/in-app-share-menu-3.png deleted file mode 100644 index 725bd5644..000000000 Binary files a/public/images/streamlit-cloud/in-app-share-menu-3.png and /dev/null differ diff --git a/public/images/streamlit-cloud/indexability-app-title.png b/public/images/streamlit-cloud/indexability-app-title.png deleted file mode 100644 index 6b6cb5784..000000000 Binary files a/public/images/streamlit-cloud/indexability-app-title.png and /dev/null differ diff --git a/public/images/streamlit-cloud/indexability-search-result.png b/public/images/streamlit-cloud/indexability-search-result.png deleted file mode 100644 index 06daf0409..000000000 Binary files a/public/images/streamlit-cloud/indexability-search-result.png and /dev/null differ diff --git a/public/images/streamlit-cloud/manage-app.png b/public/images/streamlit-cloud/manage-app.png deleted file mode 100644 index 5b338f04f..000000000 Binary files a/public/images/streamlit-cloud/manage-app.png and /dev/null differ diff --git a/public/images/streamlit-cloud/open-settings.png b/public/images/streamlit-cloud/open-settings.png deleted file mode 100644 index c04bc418d..000000000 Binary files a/public/images/streamlit-cloud/open-settings.png and /dev/null differ diff --git a/public/images/streamlit-cloud/reboot-an-app.png b/public/images/streamlit-cloud/reboot-an-app.png deleted file mode 100644 index 011f299e6..000000000 Binary files a/public/images/streamlit-cloud/reboot-an-app.png and /dev/null differ diff --git a/public/images/streamlit-cloud/resource-limits-dev-1.png b/public/images/streamlit-cloud/resource-limits-dev-1.png deleted file mode 100644 index d4361c59e..000000000 Binary files a/public/images/streamlit-cloud/resource-limits-dev-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/resource-limits-dev-2.png b/public/images/streamlit-cloud/resource-limits-dev-2.png deleted file mode 100644 index d01fb2778..000000000 Binary files a/public/images/streamlit-cloud/resource-limits-dev-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/resource-limits-email-1.png b/public/images/streamlit-cloud/resource-limits-email-1.png deleted file mode 100644 index bcc6cc088..000000000 Binary files a/public/images/streamlit-cloud/resource-limits-email-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/resource-limits-email-2.png b/public/images/streamlit-cloud/resource-limits-email-2.png deleted file mode 100644 index 76e5d9fe0..000000000 Binary files a/public/images/streamlit-cloud/resource-limits-email-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/resource-limits-viewer-1.png b/public/images/streamlit-cloud/resource-limits-viewer-1.png deleted file mode 100644 index 753513dbd..000000000 Binary files a/public/images/streamlit-cloud/resource-limits-viewer-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/resource-limits-viewer-2.png b/public/images/streamlit-cloud/resource-limits-viewer-2.png deleted file mode 100644 index 876384b80..000000000 Binary files a/public/images/streamlit-cloud/resource-limits-viewer-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/secrets-management.png b/public/images/streamlit-cloud/secrets-management.png deleted file mode 100644 index ad41ad882..000000000 Binary files a/public/images/streamlit-cloud/secrets-management.png and /dev/null differ diff --git a/public/images/streamlit-cloud/settings-menu.png b/public/images/streamlit-cloud/settings-menu.png deleted file mode 100644 index af2341626..000000000 Binary files a/public/images/streamlit-cloud/settings-menu.png and /dev/null differ diff --git a/public/images/streamlit-cloud/setup-billing.png b/public/images/streamlit-cloud/setup-billing.png deleted file mode 100644 index 4fc27cb08..000000000 Binary files a/public/images/streamlit-cloud/setup-billing.png and /dev/null differ diff --git a/public/images/streamlit-cloud/share-preview-private-app.png b/public/images/streamlit-cloud/share-preview-private-app.png deleted file mode 100644 index f73ef7c6b..000000000 Binary files a/public/images/streamlit-cloud/share-preview-private-app.png and /dev/null differ diff --git a/public/images/streamlit-cloud/share-preview-twitter-annotated.png b/public/images/streamlit-cloud/share-preview-twitter-annotated.png deleted file mode 100644 index 674017a70..000000000 Binary files a/public/images/streamlit-cloud/share-preview-twitter-annotated.png and /dev/null differ diff --git a/public/images/streamlit-cloud/sharing-private-apps.png b/public/images/streamlit-cloud/sharing-private-apps.png deleted file mode 100644 index 23fe0ca1e..000000000 Binary files a/public/images/streamlit-cloud/sharing-private-apps.png and /dev/null differ diff --git a/public/images/streamlit-cloud/soc-logo.png b/public/images/streamlit-cloud/soc-logo.png deleted file mode 100644 index 3cb083ecd..000000000 Binary files a/public/images/streamlit-cloud/soc-logo.png and /dev/null differ diff --git a/public/images/streamlit-cloud/troubleshooting-deploy-page.png b/public/images/streamlit-cloud/troubleshooting-deploy-page.png deleted file mode 100644 index 3b1341066..000000000 Binary files a/public/images/streamlit-cloud/troubleshooting-deploy-page.png and /dev/null differ diff --git a/public/images/streamlit-cloud/un-favorited.png b/public/images/streamlit-cloud/un-favorited.png deleted file mode 100644 index 069e9600d..000000000 Binary files a/public/images/streamlit-cloud/un-favorited.png and /dev/null differ diff --git a/public/images/streamlit-cloud/watch-app-launch.png b/public/images/streamlit-cloud/watch-app-launch.png deleted file mode 100644 index f7622f034..000000000 Binary files a/public/images/streamlit-cloud/watch-app-launch.png and /dev/null differ diff --git a/public/images/streamlit-cloud/workspace-1.png b/public/images/streamlit-cloud/workspace-1.png deleted file mode 100644 index 03dcf4275..000000000 Binary files a/public/images/streamlit-cloud/workspace-1.png and /dev/null differ diff --git a/public/images/streamlit-cloud/workspace-2.png b/public/images/streamlit-cloud/workspace-2.png deleted file mode 100644 index 0a6a5f644..000000000 Binary files a/public/images/streamlit-cloud/workspace-2.png and /dev/null differ diff --git a/public/images/streamlit-cloud/workspace-analytics-header.png b/public/images/streamlit-cloud/workspace-analytics-header.png deleted file mode 100644 index e6e0d7bc5..000000000 Binary files a/public/images/streamlit-cloud/workspace-analytics-header.png and /dev/null differ diff --git a/public/images/streamlit-cloud/workspace-analytics-modal.png b/public/images/streamlit-cloud/workspace-analytics-modal.png deleted file mode 100644 index 8f142a314..000000000 Binary files a/public/images/streamlit-cloud/workspace-analytics-modal.png and /dev/null differ diff --git a/public/images/streamlit-cloud/workspace-analytics.gif b/public/images/streamlit-cloud/workspace-analytics.gif deleted file mode 100644 index e7d581d63..000000000 Binary files a/public/images/streamlit-cloud/workspace-analytics.gif and /dev/null differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth-denied-XL.png b/public/images/streamlit-community-cloud/GitHub-auth-denied-XL.png new file mode 100644 index 000000000..db4dc525f Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth-denied-XL.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth-grant.png b/public/images/streamlit-community-cloud/GitHub-auth-grant.png new file mode 100644 index 000000000..0203e1fa8 Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth-grant.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth-granted-XL.png b/public/images/streamlit-community-cloud/GitHub-auth-granted-XL.png new file mode 100644 index 000000000..33046cbad Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth-granted-XL.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth-none.png b/public/images/streamlit-community-cloud/GitHub-auth-none.png new file mode 100644 index 000000000..96184911f Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth-none.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth-pending-XL.png b/public/images/streamlit-community-cloud/GitHub-auth-pending-XL.png new file mode 100644 index 000000000..492354a10 Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth-pending-XL.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth-request-XL.png b/public/images/streamlit-community-cloud/GitHub-auth-request-XL.png new file mode 100644 index 000000000..564a6c5a5 Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth-request-XL.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth1-none.png b/public/images/streamlit-community-cloud/GitHub-auth1-none.png new file mode 100644 index 000000000..16853df19 Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth1-none.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-auth2-none.png b/public/images/streamlit-community-cloud/GitHub-auth2-none.png new file mode 100644 index 000000000..be781adb2 Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-auth2-none.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-fork1.png b/public/images/streamlit-community-cloud/GitHub-fork1.png new file mode 100644 index 000000000..2c7cbf3f6 Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-fork1.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-fork2.png b/public/images/streamlit-community-cloud/GitHub-fork2.png new file mode 100644 index 000000000..f9f95a7a6 Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-fork2.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-revoke-confirm.png b/public/images/streamlit-community-cloud/GitHub-revoke-confirm.png new file mode 100644 index 000000000..5520c8b4d Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-revoke-confirm.png differ diff --git a/public/images/streamlit-community-cloud/GitHub-revoke.png b/public/images/streamlit-community-cloud/GitHub-revoke.png new file mode 100644 index 000000000..a096997ac Binary files /dev/null and b/public/images/streamlit-community-cloud/GitHub-revoke.png differ diff --git a/public/images/streamlit-community-cloud/account-change-email-7.png b/public/images/streamlit-community-cloud/account-change-email-7.png index a0730083b..378e790b7 100644 Binary files a/public/images/streamlit-community-cloud/account-change-email-7.png and b/public/images/streamlit-community-cloud/account-change-email-7.png differ diff --git a/public/images/streamlit-community-cloud/account-change-email-8.png b/public/images/streamlit-community-cloud/account-change-email-8.png index 6bcb4375c..9f801da9a 100644 Binary files a/public/images/streamlit-community-cloud/account-change-email-8.png and b/public/images/streamlit-community-cloud/account-change-email-8.png differ diff --git a/public/images/streamlit-community-cloud/account-delete-confirm.png b/public/images/streamlit-community-cloud/account-delete-confirm.png new file mode 100644 index 000000000..9f86b266a Binary files /dev/null and b/public/images/streamlit-community-cloud/account-delete-confirm.png differ diff --git a/public/images/streamlit-community-cloud/account-delete.png b/public/images/streamlit-community-cloud/account-delete.png new file mode 100644 index 000000000..11cd02123 Binary files /dev/null and b/public/images/streamlit-community-cloud/account-delete.png differ diff --git a/public/images/streamlit-community-cloud/account-deleted.png b/public/images/streamlit-community-cloud/account-deleted.png index 5ac5dd050..ab2ff981d 100644 Binary files a/public/images/streamlit-community-cloud/account-deleted.png and b/public/images/streamlit-community-cloud/account-deleted.png differ diff --git a/public/images/streamlit-community-cloud/account-no-primary.png b/public/images/streamlit-community-cloud/account-no-primary.png new file mode 100644 index 000000000..eb98ec900 Binary files /dev/null and b/public/images/streamlit-community-cloud/account-no-primary.png differ diff --git a/public/images/streamlit-community-cloud/account-no-source.png b/public/images/streamlit-community-cloud/account-no-source.png new file mode 100644 index 000000000..69dfc945a Binary files /dev/null and b/public/images/streamlit-community-cloud/account-no-source.png differ diff --git a/public/images/streamlit-community-cloud/account-settings-header-warning.png b/public/images/streamlit-community-cloud/account-settings-header-warning.png new file mode 100644 index 000000000..0361513c3 Binary files /dev/null and b/public/images/streamlit-community-cloud/account-settings-header-warning.png differ diff --git a/public/images/streamlit-community-cloud/account-sign-out.png b/public/images/streamlit-community-cloud/account-sign-out.png new file mode 100644 index 000000000..12923f802 Binary files /dev/null and b/public/images/streamlit-community-cloud/account-sign-out.png differ diff --git a/public/images/streamlit-community-cloud/account-unauthorized-source.png b/public/images/streamlit-community-cloud/account-unauthorized-source.png new file mode 100644 index 000000000..4efc66ce7 Binary files /dev/null and b/public/images/streamlit-community-cloud/account-unauthorized-source.png differ diff --git a/public/images/streamlit-community-cloud/advanced-settings.png b/public/images/streamlit-community-cloud/advanced-settings.png deleted file mode 100644 index 98e0c070f..000000000 Binary files a/public/images/streamlit-community-cloud/advanced-settings.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/app-menu-settings.png b/public/images/streamlit-community-cloud/app-menu-settings.png new file mode 100644 index 000000000..1cf4a9d54 Binary files /dev/null and b/public/images/streamlit-community-cloud/app-menu-settings.png differ diff --git a/public/images/streamlit-community-cloud/app-menu.png b/public/images/streamlit-community-cloud/app-menu.png new file mode 100644 index 000000000..2cdcebfef Binary files /dev/null and b/public/images/streamlit-community-cloud/app-menu.png differ diff --git a/public/images/streamlit-community-cloud/app-state-oh-no-developer.png b/public/images/streamlit-community-cloud/app-state-oh-no-developer.png new file mode 100644 index 000000000..1b7afa980 Binary files /dev/null and b/public/images/streamlit-community-cloud/app-state-oh-no-developer.png differ diff --git a/public/images/streamlit-community-cloud/app-state-oh-no.png b/public/images/streamlit-community-cloud/app-state-oh-no.png new file mode 100644 index 000000000..e35ee1cca Binary files /dev/null and b/public/images/streamlit-community-cloud/app-state-oh-no.png differ diff --git a/public/images/streamlit-community-cloud/app-state-zzzz-workspace.png b/public/images/streamlit-community-cloud/app-state-zzzz-workspace.png new file mode 100644 index 000000000..b59c1be70 Binary files /dev/null and b/public/images/streamlit-community-cloud/app-state-zzzz-workspace.png differ diff --git a/public/images/streamlit-community-cloud/app-state-zzzz.png b/public/images/streamlit-community-cloud/app-state-zzzz.png new file mode 100644 index 000000000..a0e1fe910 Binary files /dev/null and b/public/images/streamlit-community-cloud/app-state-zzzz.png differ diff --git a/public/images/streamlit-community-cloud/authorization-1.png b/public/images/streamlit-community-cloud/authorization-1.png deleted file mode 100644 index 457d9f18e..000000000 Binary files a/public/images/streamlit-community-cloud/authorization-1.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/authorization-2.png b/public/images/streamlit-community-cloud/authorization-2.png deleted file mode 100644 index f032a4968..000000000 Binary files a/public/images/streamlit-community-cloud/authorization-2.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/cloud-logs-menu-XL.png b/public/images/streamlit-community-cloud/cloud-logs-menu-XL.png new file mode 100644 index 000000000..53a989b15 Binary files /dev/null and b/public/images/streamlit-community-cloud/cloud-logs-menu-XL.png differ diff --git a/public/images/streamlit-community-cloud/cloud-logs-menu-analytics.png b/public/images/streamlit-community-cloud/cloud-logs-menu-analytics.png new file mode 100644 index 000000000..92cdce208 Binary files /dev/null and b/public/images/streamlit-community-cloud/cloud-logs-menu-analytics.png differ diff --git a/public/images/streamlit-community-cloud/cloud-logs-menu-delete.png b/public/images/streamlit-community-cloud/cloud-logs-menu-delete.png new file mode 100644 index 000000000..613d8e91d Binary files /dev/null and b/public/images/streamlit-community-cloud/cloud-logs-menu-delete.png differ diff --git a/public/images/streamlit-community-cloud/cloud-logs-menu-download.png b/public/images/streamlit-community-cloud/cloud-logs-menu-download.png new file mode 100644 index 000000000..716e9c76a Binary files /dev/null and b/public/images/streamlit-community-cloud/cloud-logs-menu-download.png differ diff --git a/public/images/streamlit-community-cloud/cloud-logs-menu-reboot.png b/public/images/streamlit-community-cloud/cloud-logs-menu-reboot.png new file mode 100644 index 000000000..473ca3b0c Binary files /dev/null and b/public/images/streamlit-community-cloud/cloud-logs-menu-reboot.png differ diff --git a/public/images/streamlit-community-cloud/cloud-logs-menu-settings.png b/public/images/streamlit-community-cloud/cloud-logs-menu-settings.png new file mode 100644 index 000000000..211702873 Binary files /dev/null and b/public/images/streamlit-community-cloud/cloud-logs-menu-settings.png differ diff --git a/public/images/streamlit-community-cloud/cloud-logs-open.png b/public/images/streamlit-community-cloud/cloud-logs-open.png new file mode 100644 index 000000000..087340fc0 Binary files /dev/null and b/public/images/streamlit-community-cloud/cloud-logs-open.png differ diff --git a/public/images/streamlit-community-cloud/cloud-logs.png b/public/images/streamlit-community-cloud/cloud-logs.png index 8f084031e..f2e75618a 100644 Binary files a/public/images/streamlit-community-cloud/cloud-logs.png and b/public/images/streamlit-community-cloud/cloud-logs.png differ diff --git a/public/images/streamlit-community-cloud/cloud-sign-in.png b/public/images/streamlit-community-cloud/cloud-sign-in.png deleted file mode 100644 index ba1510cb8..000000000 Binary files a/public/images/streamlit-community-cloud/cloud-sign-in.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/custom-subdomain-error.png b/public/images/streamlit-community-cloud/custom-subdomain-error.png deleted file mode 100644 index 112fb1d50..000000000 Binary files a/public/images/streamlit-community-cloud/custom-subdomain-error.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/custom-subdomain-pick.png b/public/images/streamlit-community-cloud/custom-subdomain-pick.png deleted file mode 100644 index 7557c6b54..000000000 Binary files a/public/images/streamlit-community-cloud/custom-subdomain-pick.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/custom-subdomain-save.png b/public/images/streamlit-community-cloud/custom-subdomain-save.png deleted file mode 100644 index 555028815..000000000 Binary files a/public/images/streamlit-community-cloud/custom-subdomain-save.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/custom-subdomain-settings.png b/public/images/streamlit-community-cloud/custom-subdomain-settings.png deleted file mode 100644 index d995b0098..000000000 Binary files a/public/images/streamlit-community-cloud/custom-subdomain-settings.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/deploy-an-app-advanced-settings.png b/public/images/streamlit-community-cloud/deploy-an-app-advanced-settings.png new file mode 100644 index 000000000..ce7b54468 Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-an-app-advanced-settings.png differ diff --git a/public/images/streamlit-community-cloud/deploy-an-app-advanced.png b/public/images/streamlit-community-cloud/deploy-an-app-advanced.png new file mode 100644 index 000000000..b0c631e5e Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-an-app-advanced.png differ diff --git a/public/images/streamlit-community-cloud/deploy-an-app-provisioning.png b/public/images/streamlit-community-cloud/deploy-an-app-provisioning.png new file mode 100644 index 000000000..5afbb3e60 Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-an-app-provisioning.png differ diff --git a/public/images/streamlit-community-cloud/deploy-demo-done.png b/public/images/streamlit-community-cloud/deploy-demo-done.png new file mode 100644 index 000000000..4318bd40e Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-demo-done.png differ diff --git a/public/images/streamlit-community-cloud/deploy-demo-provisioning.png b/public/images/streamlit-community-cloud/deploy-demo-provisioning.png new file mode 100644 index 000000000..88646aabc Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-demo-provisioning.png differ diff --git a/public/images/streamlit-community-cloud/deploy-demo.png b/public/images/streamlit-community-cloud/deploy-demo.png new file mode 100644 index 000000000..388d81aed Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-demo.png differ diff --git a/public/images/streamlit-community-cloud/deploy-example-1.png b/public/images/streamlit-community-cloud/deploy-example-1.png new file mode 100644 index 000000000..663b1bd45 Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-example-1.png differ diff --git a/public/images/streamlit-community-cloud/deploy-example-2.png b/public/images/streamlit-community-cloud/deploy-example-2.png new file mode 100644 index 000000000..421f6604e Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-example-2.png differ diff --git a/public/images/streamlit-community-cloud/deploy-example-deploy.png b/public/images/streamlit-community-cloud/deploy-example-deploy.png new file mode 100644 index 000000000..af60b9074 Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-example-deploy.png differ diff --git a/public/images/streamlit-community-cloud/deploy-example-done.png b/public/images/streamlit-community-cloud/deploy-example-done.png new file mode 100644 index 000000000..2e9e5d754 Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-example-done.png differ diff --git a/public/images/streamlit-community-cloud/deploy-example-fork.png b/public/images/streamlit-community-cloud/deploy-example-fork.png new file mode 100644 index 000000000..12ce7ea2d Binary files /dev/null and b/public/images/streamlit-community-cloud/deploy-example-fork.png differ diff --git a/public/images/streamlit-community-cloud/email-signin-1.png b/public/images/streamlit-community-cloud/email-signin-1.png deleted file mode 100644 index 5aad01d7a..000000000 Binary files a/public/images/streamlit-community-cloud/email-signin-1.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/email-signin-2.png b/public/images/streamlit-community-cloud/email-signin-2.png deleted file mode 100644 index c441ac6b0..000000000 Binary files a/public/images/streamlit-community-cloud/email-signin-2.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/email-signin-3.png b/public/images/streamlit-community-cloud/email-signin-3.png deleted file mode 100644 index b12d6df09..000000000 Binary files a/public/images/streamlit-community-cloud/email-signin-3.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/email-signin-4.png b/public/images/streamlit-community-cloud/email-signin-4.png deleted file mode 100644 index 7ae4908d9..000000000 Binary files a/public/images/streamlit-community-cloud/email-signin-4.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/favorite-select.png b/public/images/streamlit-community-cloud/favorite-select.png new file mode 100644 index 000000000..97b106039 Binary files /dev/null and b/public/images/streamlit-community-cloud/favorite-select.png differ diff --git a/public/images/streamlit-community-cloud/github-badge.svg b/public/images/streamlit-community-cloud/github-badge.svg new file mode 100644 index 000000000..61858d774 --- /dev/null +++ b/public/images/streamlit-community-cloud/github-badge.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/public/images/streamlit-community-cloud/github-signin-1.png b/public/images/streamlit-community-cloud/github-signin-1.png deleted file mode 100644 index b06bb456d..000000000 Binary files a/public/images/streamlit-community-cloud/github-signin-1.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/github-signin-2.png b/public/images/streamlit-community-cloud/github-signin-2.png deleted file mode 100644 index decb1509a..000000000 Binary files a/public/images/streamlit-community-cloud/github-signin-2.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/github-signin-3.png b/public/images/streamlit-community-cloud/github-signin-3.png deleted file mode 100644 index 7ae4908d9..000000000 Binary files a/public/images/streamlit-community-cloud/github-signin-3.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/google-signin-1.png b/public/images/streamlit-community-cloud/google-signin-1.png deleted file mode 100644 index 707491144..000000000 Binary files a/public/images/streamlit-community-cloud/google-signin-1.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/google-signin-2.png b/public/images/streamlit-community-cloud/google-signin-2.png deleted file mode 100644 index cf0a157e2..000000000 Binary files a/public/images/streamlit-community-cloud/google-signin-2.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/google-signin-3.png b/public/images/streamlit-community-cloud/google-signin-3.png deleted file mode 100644 index 7ae4908d9..000000000 Binary files a/public/images/streamlit-community-cloud/google-signin-3.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/secrets-management.png b/public/images/streamlit-community-cloud/secrets-management.png deleted file mode 100644 index ad41ad882..000000000 Binary files a/public/images/streamlit-community-cloud/secrets-management.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/share-copy.png b/public/images/streamlit-community-cloud/share-copy.png new file mode 100644 index 000000000..4855129bf Binary files /dev/null and b/public/images/streamlit-community-cloud/share-copy.png differ diff --git a/public/images/streamlit-community-cloud/share-invite-email.png b/public/images/streamlit-community-cloud/share-invite-email.png new file mode 100644 index 000000000..7de2fec55 Binary files /dev/null and b/public/images/streamlit-community-cloud/share-invite-email.png differ diff --git a/public/images/streamlit-community-cloud/share-invite-public.png b/public/images/streamlit-community-cloud/share-invite-public.png new file mode 100644 index 000000000..97b7eb0f1 Binary files /dev/null and b/public/images/streamlit-community-cloud/share-invite-public.png differ diff --git a/public/images/streamlit-community-cloud/share-invite.png b/public/images/streamlit-community-cloud/share-invite.png new file mode 100644 index 000000000..3889e7abb Binary files /dev/null and b/public/images/streamlit-community-cloud/share-invite.png differ diff --git a/public/images/streamlit-community-cloud/share-invited.png b/public/images/streamlit-community-cloud/share-invited.png new file mode 100644 index 000000000..9abac2aef Binary files /dev/null and b/public/images/streamlit-community-cloud/share-invited.png differ diff --git a/public/images/streamlit-community-cloud/share-menu-embed-url.png b/public/images/streamlit-community-cloud/share-menu-embed-url.png new file mode 100644 index 000000000..eafb94cd7 Binary files /dev/null and b/public/images/streamlit-community-cloud/share-menu-embed-url.png differ diff --git a/public/images/streamlit-community-cloud/share-menu-embed.png b/public/images/streamlit-community-cloud/share-menu-embed.png new file mode 100644 index 000000000..c25118eaa Binary files /dev/null and b/public/images/streamlit-community-cloud/share-menu-embed.png differ diff --git a/public/images/streamlit-community-cloud/share-menu-public-toggle.png b/public/images/streamlit-community-cloud/share-menu-public-toggle.png new file mode 100644 index 000000000..e1e6e68de Binary files /dev/null and b/public/images/streamlit-community-cloud/share-menu-public-toggle.png differ diff --git a/public/images/streamlit-community-cloud/share-menu-social.png b/public/images/streamlit-community-cloud/share-menu-social.png new file mode 100644 index 000000000..8f00c53ad Binary files /dev/null and b/public/images/streamlit-community-cloud/share-menu-social.png differ diff --git a/public/images/streamlit-community-cloud/share-open.png b/public/images/streamlit-community-cloud/share-open.png new file mode 100644 index 000000000..ec1749a1d Binary files /dev/null and b/public/images/streamlit-community-cloud/share-open.png differ diff --git a/public/images/streamlit-community-cloud/share-remove.png b/public/images/streamlit-community-cloud/share-remove.png new file mode 100644 index 000000000..8a0fa21d6 Binary files /dev/null and b/public/images/streamlit-community-cloud/share-remove.png differ diff --git a/public/images/streamlit-community-cloud/sign-in-GitHub-1.png b/public/images/streamlit-community-cloud/sign-in-GitHub-1.png new file mode 100644 index 000000000..646425eb3 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in-GitHub-1.png differ diff --git a/public/images/streamlit-community-cloud/sign-in-GitHub-2.png b/public/images/streamlit-community-cloud/sign-in-GitHub-2.png new file mode 100644 index 000000000..9f98e6fe5 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in-GitHub-2.png differ diff --git a/public/images/streamlit-community-cloud/sign-in-Google-1.png b/public/images/streamlit-community-cloud/sign-in-Google-1.png new file mode 100644 index 000000000..2b180756c Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in-Google-1.png differ diff --git a/public/images/streamlit-community-cloud/sign-in-Google-2.png b/public/images/streamlit-community-cloud/sign-in-Google-2.png new file mode 100644 index 000000000..e1d8632d9 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in-Google-2.png differ diff --git a/public/images/streamlit-community-cloud/sign-in-email-1.png b/public/images/streamlit-community-cloud/sign-in-email-1.png new file mode 100644 index 000000000..e8eb15cb2 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in-email-1.png differ diff --git a/public/images/streamlit-community-cloud/sign-in-email-2.png b/public/images/streamlit-community-cloud/sign-in-email-2.png new file mode 100644 index 000000000..b56ba5d47 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in-email-2.png differ diff --git a/public/images/streamlit-community-cloud/sign-in-email-3.png b/public/images/streamlit-community-cloud/sign-in-email-3.png new file mode 100644 index 000000000..4730b45a7 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in-email-3.png differ diff --git a/public/images/streamlit-community-cloud/sign-in.png b/public/images/streamlit-community-cloud/sign-in.png new file mode 100644 index 000000000..da404ed03 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-in.png differ diff --git a/public/images/streamlit-community-cloud/sign-up-2.png b/public/images/streamlit-community-cloud/sign-up-2.png new file mode 100644 index 000000000..ba0994a39 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-up-2.png differ diff --git a/public/images/streamlit-community-cloud/sign-up-3.png b/public/images/streamlit-community-cloud/sign-up-3.png new file mode 100644 index 000000000..919eefe09 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-up-3.png differ diff --git a/public/images/streamlit-community-cloud/sign-up-Google-XL.png b/public/images/streamlit-community-cloud/sign-up-Google-XL.png new file mode 100644 index 000000000..143d0589c Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-up-Google-XL.png differ diff --git a/public/images/streamlit-community-cloud/sign-up-XL.png b/public/images/streamlit-community-cloud/sign-up-XL.png new file mode 100644 index 000000000..feb6ef3cc Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-up-XL.png differ diff --git a/public/images/streamlit-community-cloud/sign-up-email-XL.png b/public/images/streamlit-community-cloud/sign-up-email-XL.png new file mode 100644 index 000000000..ae3222b84 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-up-email-XL.png differ diff --git a/public/images/streamlit-community-cloud/sign-up.png b/public/images/streamlit-community-cloud/sign-up.png new file mode 100644 index 000000000..36ecadcf7 Binary files /dev/null and b/public/images/streamlit-community-cloud/sign-up.png differ diff --git a/public/images/streamlit-community-cloud/watch-app-launch.png b/public/images/streamlit-community-cloud/watch-app-launch.png deleted file mode 100644 index f7622f034..000000000 Binary files a/public/images/streamlit-community-cloud/watch-app-launch.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/workspace-1.png b/public/images/streamlit-community-cloud/workspace-1.png deleted file mode 100644 index 03dcf4275..000000000 Binary files a/public/images/streamlit-community-cloud/workspace-1.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/workspace-2.png b/public/images/streamlit-community-cloud/workspace-2.png deleted file mode 100644 index 0a6a5f644..000000000 Binary files a/public/images/streamlit-community-cloud/workspace-2.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/workspace-analytics-header.png b/public/images/streamlit-community-cloud/workspace-analytics-header.png deleted file mode 100644 index e6e0d7bc5..000000000 Binary files a/public/images/streamlit-community-cloud/workspace-analytics-header.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/workspace-analytics-modal.png b/public/images/streamlit-community-cloud/workspace-analytics-modal.png deleted file mode 100644 index 8f142a314..000000000 Binary files a/public/images/streamlit-community-cloud/workspace-analytics-modal.png and /dev/null differ diff --git a/public/images/streamlit-community-cloud/workspace-analytics.gif b/public/images/streamlit-community-cloud/workspace-analytics.gif deleted file mode 100644 index e7d581d63..000000000 Binary files a/public/images/streamlit-community-cloud/workspace-analytics.gif and /dev/null differ diff --git a/public/images/streamlit-community-cloud/workspace-analytics.png b/public/images/streamlit-community-cloud/workspace-analytics.png new file mode 100644 index 000000000..f46845718 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-analytics.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-analytics-switch.png b/public/images/streamlit-community-cloud/workspace-app-analytics-switch.png new file mode 100644 index 000000000..f582f6af7 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-analytics-switch.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-analytics-viewers.png b/public/images/streamlit-community-cloud/workspace-app-analytics-viewers.png new file mode 100644 index 000000000..caeb51f0c Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-analytics-viewers.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-analytics.png b/public/images/streamlit-community-cloud/workspace-app-analytics.png new file mode 100644 index 000000000..6d3ed14cb Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-analytics.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-copy.png b/public/images/streamlit-community-cloud/workspace-app-copy.png new file mode 100644 index 000000000..a1ffd054b Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-copy.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-delete-confirm.png b/public/images/streamlit-community-cloud/workspace-app-delete-confirm.png new file mode 100644 index 000000000..ed7fd3f25 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-delete-confirm.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-delete.png b/public/images/streamlit-community-cloud/workspace-app-delete.png new file mode 100644 index 000000000..b67bd5c8a Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-delete.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-favorite.png b/public/images/streamlit-community-cloud/workspace-app-favorite.png new file mode 100644 index 000000000..7cede632e Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-favorite.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-favorited.png b/public/images/streamlit-community-cloud/workspace-app-favorited.png new file mode 100644 index 000000000..38e97f5b2 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-favorited.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-favorites-top.png b/public/images/streamlit-community-cloud/workspace-app-favorites-top.png new file mode 100644 index 000000000..fb6c3538a Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-favorites-top.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-overflow.png b/public/images/streamlit-community-cloud/workspace-app-overflow.png new file mode 100644 index 000000000..7cebdebf7 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-overflow.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-reboot-confirm.png b/public/images/streamlit-community-cloud/workspace-app-reboot-confirm.png new file mode 100644 index 000000000..8d10d20a8 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-reboot-confirm.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-reboot.png b/public/images/streamlit-community-cloud/workspace-app-reboot.png new file mode 100644 index 000000000..44ddc4996 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-reboot.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings-general-invalid-domain.png b/public/images/streamlit-community-cloud/workspace-app-settings-general-invalid-domain.png new file mode 100644 index 000000000..e17597178 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings-general-invalid-domain.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings-general-valid-domain.png b/public/images/streamlit-community-cloud/workspace-app-settings-general-valid-domain.png new file mode 100644 index 000000000..0763f31b4 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings-general-valid-domain.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings-general.png b/public/images/streamlit-community-cloud/workspace-app-settings-general.png new file mode 100644 index 000000000..cac23d6ba Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings-general.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings-secrets.png b/public/images/streamlit-community-cloud/workspace-app-settings-secrets.png new file mode 100644 index 000000000..b09d3e405 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings-secrets.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings-sharing-change.png b/public/images/streamlit-community-cloud/workspace-app-settings-sharing-change.png new file mode 100644 index 000000000..ee04f4ed0 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings-sharing-change.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings-sharing-invite.png b/public/images/streamlit-community-cloud/workspace-app-settings-sharing-invite.png new file mode 100644 index 000000000..27629ed1f Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings-sharing-invite.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings-sharing.png b/public/images/streamlit-community-cloud/workspace-app-settings-sharing.png new file mode 100644 index 000000000..208157f47 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings-sharing.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-settings.png b/public/images/streamlit-community-cloud/workspace-app-settings.png new file mode 100644 index 000000000..3ef1287a5 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-settings.png differ diff --git a/public/images/streamlit-community-cloud/workspace-app-unfavorite.png b/public/images/streamlit-community-cloud/workspace-app-unfavorite.png new file mode 100644 index 000000000..9fe04d0cb Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-app-unfavorite.png differ diff --git a/public/images/streamlit-community-cloud/workspace-empty-switch.png b/public/images/streamlit-community-cloud/workspace-empty-switch.png new file mode 100644 index 000000000..31907070f Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-empty-switch.png differ diff --git a/public/images/streamlit-community-cloud/workspace-empty-warning-annotated.png b/public/images/streamlit-community-cloud/workspace-empty-warning-annotated.png new file mode 100644 index 000000000..e96bf9647 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-empty-warning-annotated.png differ diff --git a/public/images/streamlit-community-cloud/workspace-empty-warning.png b/public/images/streamlit-community-cloud/workspace-empty-warning.png new file mode 100644 index 000000000..266fd6aa3 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-empty-warning.png differ diff --git a/public/images/streamlit-community-cloud/workspace-empty.png b/public/images/streamlit-community-cloud/workspace-empty.png new file mode 100644 index 000000000..6a1316555 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-empty.png differ diff --git a/public/images/streamlit-community-cloud/workspace-limits.png b/public/images/streamlit-community-cloud/workspace-limits.png new file mode 100644 index 000000000..2fd49dfea Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-limits.png differ diff --git a/public/images/streamlit-community-cloud/workspace-support.png b/public/images/streamlit-community-cloud/workspace-support.png new file mode 100644 index 000000000..b7c0e7a0d Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-support.png differ diff --git a/public/images/streamlit-community-cloud/workspace-switch.png b/public/images/streamlit-community-cloud/workspace-switch.png new file mode 100644 index 000000000..445f99fda Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-switch.png differ diff --git a/public/images/streamlit-community-cloud/workspace-view-only.png b/public/images/streamlit-community-cloud/workspace-view-only.png new file mode 100644 index 000000000..cf570e520 Binary files /dev/null and b/public/images/streamlit-community-cloud/workspace-view-only.png differ