Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation


Streamlit logo

Welcome to Streamlit 👋

A faster way to build and share data apps.

What is Streamlit?

Streamlit lets you transform Python scripts into interactive web apps in minutes, instead of weeks. Build dashboards, generate reports, or create chat apps. Once you’ve created an app, you can use our Community Cloud platform to deploy, manage, and share your app.

Why choose Streamlit?

  • Simple and Pythonic: Write beautiful, easy-to-read code.
  • Fast, interactive prototyping: Let others interact with your data and provide feedback quickly.
  • Live editing: See your app update instantly as you edit your script.
  • Open-source and free: Join a vibrant community and contribute to Streamlit's future.

Installation

Open a terminal and run:

$ pip install streamlit
$ streamlit hello

If this opens our sweet Streamlit Hello app in your browser, you're all set! If not, head over to our docs for specific installs.

The app features a bunch of examples of what you can do with Streamlit. Jump to the quickstart section to understand how that all works.

Streamlit Hello

Quickstart

A little example

Create a new file streamlit_app.py with the following code:

importstreamlitasstx=st.slider("Select a value")
st.write(x, "squared is", x*x)

Now run it to open the app!

$ streamlit run streamlit_app.py

Little example

Give me more!

Streamlit comes in with a ton of additional powerful elements to spice up your data apps and delight your viewers. Some examples:

Input widgetsDataframesChartsLayoutMulti-page appsFun

Our vibrant creators community also extends Streamlit capabilities using 🧩 Streamlit Components.

Get inspired

There's so much you can build with Streamlit:

Check out our gallery! 🎈

Community Cloud

Deploy, manage and share your apps for free using our Community Cloud! Sign-up here.

Resources

  • Explore our docs to learn how Streamlit works.
  • Ask questions and get help in our community forum.
  • Read our blog for tips from developers and creators.
  • Extend Streamlit's capabilities by installing or creating your own Streamlit Components.
  • Help others find and play with your app by using the Streamlit GitHub badge in your repository:
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](URL_TO_YOUR_APP)

Streamlit App

License

Streamlit is completely free and open-source and licensed under the Apache 2.0 license.

About

Streamlit — A faster way to build and share data apps.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages