Alternatives to Streamlit logo

Alternatives to Streamlit

Dash, Jupyter, Flask, Shiny, and Bokeh are the most popular alternatives and competitors to Streamlit.
260
384
+ 1
11

What is Streamlit and what are its top alternatives?

Streamlit is a popular open-source framework used for building and sharing data apps in Python effortlessly. Its key features include easy-to-use APIs, interactive widgets, and automatic updates on code changes. However, Streamlit has limitations in terms of scalability for large datasets and lack of built-in support for complex visualizations.

  1. Dash: Dash is a web application framework that enables the creation of interactive, web-based dashboards in Python. It offers a wide range of interactive components, support for complex visualizations, and easy deployment. However, the learning curve may be steeper compared to Streamlit.
  2. Gradio: Gradio is a Python library that allows for rapid prototyping of machine learning models with simple UI components for input and output. It excels in simplicity and ease of use, but it may not have the same level of flexibility as Streamlit.
  3. Panel: Panel is a Python library that allows users to create custom interactive web apps and dashboards from Python objects. It provides a high level of customization and flexibility, but it may require more coding compared to Streamlit.
  4. Bokeh: Bokeh is a Python library for creating interactive data visualizations in web browsers. It offers powerful tools for data exploration and visualization, but it may require more effort in terms of customization compared to Streamlit.
  5. Voilà: Voilà turns Jupyter notebooks into standalone web applications, making it easy to share interactive dashboards and applications. It provides seamless integration with Jupyter notebooks, but it may have limitations in terms of flexibility for custom app development.
  6. R Shiny: R Shiny is an R package that enables the creation of interactive web applications directly from R. It offers a wide range of interactive elements and customization options, but it may not be as user-friendly as Streamlit for Python developers.
  7. S Streamlit for Julia: Streamlit for Julia brings the Streamlit experience to the Julia programming language, allowing for easy creation of data apps and dashboards. It leverages the simplicity of Streamlit with the power of Julia, but it may have fewer resources and community support compared to Streamlit for Python.
  8. Anvil: Anvil is a platform that allows for building full-stack web apps with nothing but Python. It provides drag-and-drop components for building web interfaces and database management, but it may not offer the same level of control and customization as Streamlit.
  9. Plotly Dash: Plotly Dash is a Python framework for building analytical web applications. It offers a wide range of interactive components, support for complex visualizations, and easy deployment, but it may require more coding compared to Streamlit.
  10. Flexdashboard: Flexdashboard is an R package that enables the creation of interactive dashboards with R Markdown. It provides a simple and flexible way to create dashboards, but it may not offer the same level of interactivity and ease of use as Streamlit.

Top Alternatives to Streamlit

  • Dash
    Dash

    Dash is an API Documentation Browser and Code Snippet Manager. Dash stores snippets of code and instantly searches offline documentation sets for 150+ APIs. You can even generate your own docsets or request docsets to be included. ...

  • Jupyter
    Jupyter

    The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media. ...

  • Flask
    Flask

    Flask is intended for getting started very quickly and was developed with best intentions in mind. ...

  • Shiny
    Shiny

    It is an open source R package that provides an elegant and powerful web framework for building web applications using R. It helps you turn your analyses into interactive web applications without requiring HTML, CSS, or JavaScript knowledge. ...

  • Bokeh
    Bokeh

    Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords high-performance interactivity over large or streaming datasets. ...

  • Django
    Django

    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...

  • Plotly.js
    Plotly.js

    It is a standalone Javascript data visualization library, and it also powers the Python and R modules named plotly in those respective ecosystems (referred to as Plotly.py and Plotly.R). It can be used to produce dozens of chart types and visualizations, including statistical charts, 3D graphs, scientific charts, SVG and tile maps, financial charts and more. ...

  • TensorFlow
    TensorFlow

    TensorFlow is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. ...

Streamlit alternatives & related posts

Dash logo

Dash

319
410
63
Gives your Mac instant offline access to 150+ API documentation sets
319
410
+ 1
63
PROS OF DASH
  • 17
    Dozens of API docs and Cheat-Sheets
  • 12
    Great for offline use
  • 8
    Works with Alfred
  • 8
    Excellent documentation
  • 8
    Quick API search
  • 5
    Fast
  • 3
    Good integration with Xcode and AppCode
  • 2
    Great for mobile dev work
CONS OF DASH
    Be the first to leave a con

    related Dash posts

    Jupyter logo

    Jupyter

    2.4K
    1.3K
    57
    Multi-language interactive computing environments.
    2.4K
    1.3K
    + 1
    57
    PROS OF JUPYTER
    • 19
      In-line code execution using blocks
    • 11
      In-line graphing support
    • 8
      Can be themed
    • 7
      Multiple kernel support
    • 3
      LaTex Support
    • 3
      Best web-browser IDE for Python
    • 3
      Export to python code
    • 2
      HTML export capability
    • 1
      Multi-user with Kubernetes
    CONS OF JUPYTER
      Be the first to leave a con

      related Jupyter posts

      Jan Vlnas
      Developer Advocate at Superface · | 5 upvotes · 329.7K views

      From my point of view, both OpenRefine and Apache Hive serve completely different purposes. OpenRefine is intended for interactive cleaning of messy data locally. You could work with their libraries to use some of OpenRefine features as part of your data pipeline (there are pointers in FAQ), but OpenRefine in general is intended for a single-user local operation.

      I can't recommend a particular alternative without better understanding of your use case. But if you are looking for an interactive tool to work with big data at scale, take a look at notebook environments like Jupyter, Databricks, or Deepnote. If you are building a data processing pipeline, consider also Apache Spark.

      Edit: Fixed references from Hadoop to Hive, which is actually closer to Spark.

      See more
      Guillaume Simler

      Jupyter Anaconda Pandas IPython

      A great way to prototype your data analytic modules. The use of the package is simple and user-friendly and the migration from ipython to python is fairly simple: a lot of cleaning, but no more.

      The negative aspect comes when you want to streamline your productive system or does CI with your anaconda environment: - most tools don't accept conda environments (as smoothly as pip requirements) - the conda environments (even with miniconda) have quite an overhead

      See more
      Flask logo

      Flask

      18.7K
      15.8K
      82
      A microframework for Python based on Werkzeug, Jinja 2 and good intentions
      18.7K
      15.8K
      + 1
      82
      PROS OF FLASK
      • 14
        Flexibilty
      • 10
        For it flexibility
      • 9
        Flexibilty and easy to use
      • 8
        Flask
      • 7
        User friendly
      • 6
        Secured
      • 5
        Unopinionated
      • 3
        Orm
      • 2
        Secure
      • 1
        Beautiful code
      • 1
        Easy to get started
      • 1
        Easy to develop and maintain applications
      • 1
        Not JS
      • 1
        Easy to use
      • 1
        Documentation
      • 1
        Python
      • 1
        Minimal
      • 1
        Lightweight
      • 1
        Easy to setup and get it going
      • 1
        Perfect for small to large projects with superb docs.
      • 1
        Easy to integrate
      • 1
        Speed
      • 1
        Get started quickly
      • 1
        Customizable
      • 1
        Simple to use
      • 1
        Powerful
      • 1
        Rapid development
      • 0
        Open source
      • 0
        Well designed
      • 0
        Productive
      • 0
        Awesome
      • 0
        Expressive
      • 0
        Love it
      CONS OF FLASK
      • 10
        Not JS
      • 7
        Context
      • 5
        Not fast
      • 1
        Don't has many module as in spring

      related Flask posts

      James Man
      Software Engineer at Pinterest · | 45 upvotes · 2.8M views
      Shared insights
      on
      FlaskFlaskReactReact
      at

      One of our top priorities at Pinterest is fostering a safe and trustworthy experience for all Pinners. As Pinterest’s user base and ads business grow, the review volume has been increasing exponentially, and more content types require moderation support. To solve greater engineering and operational challenges at scale, we needed a highly-reliable and performant system to detect, report, evaluate, and act on abusive content and users and so we created Pinqueue.

      Pinqueue-3.0 serves as a generic platform for content moderation and human labeling. Under the hood, Pinqueue3.0 is a Flask + React app powered by Pinterest’s very own Gestalt UI framework. On the backend, Pinqueue3.0 heavily relies on PinLater, a Pinterest-built reliable asynchronous job execution system, to handle the requests for enqueueing and action-taking. Using PinLater has significantly strengthened Pinqueue3.0’s overall infra with its capability of processing a massive load of events with configurable retry policies.

      Hundreds of millions of people around the world use Pinterest to discover and do what they love, and our job is to protect them from abusive and harmful content. We’re committed to providing an inspirational yet safe experience to all Pinners. Solving trust & safety problems is a joint effort requiring expertise across multiple domains. Pinqueue3.0 not only plays a critical role in responsively taking down unsafe content, it also has become an enabler for future ML/automation initiatives by providing high-quality human labels. Going forward, we will continue to improve the review experience, measure review quality and collaborate with our machine learning teams to solve content moderation beyond manual reviews at an even larger scale.

      See more

      Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

      See more
      Shiny logo

      Shiny

      205
      218
      13
      An R package that makes it easy to build interactive web apps
      205
      218
      + 1
      13
      PROS OF SHINY
      • 8
        R Compatibility
      • 3
        Free
      • 2
        Highly customizable and extensible
      CONS OF SHINY
        Be the first to leave a con

        related Shiny posts

        Bokeh logo

        Bokeh

        95
        182
        12
        An interactive visualization library
        95
        182
        + 1
        12
        PROS OF BOKEH
        • 12
          Beautiful Interactive charts in seconds
        CONS OF BOKEH
          Be the first to leave a con

          related Bokeh posts

          Shared insights
          on
          MatplotlibMatplotlibBokehBokehDjangoDjango

          Hi - I am looking to develop an app accessed by a browser that will display interactive networks (including adding or deleting nodes, edges, labels (or changing labels) based on user input. Look to use Django at the backend. Also need to manage graph versions if one person makes a graph change while another person is looking at it. Mainly tree networks for starters anyway. I probably will use the Networkx package. Not sure what the pros and cons are using Bokeh vs Matplotlib. I would be grateful for any comments or suggestions. Thanks.

          See more
          Django logo

          Django

          36.8K
          33.3K
          4.2K
          The Web framework for perfectionists with deadlines
          36.8K
          33.3K
          + 1
          4.2K
          PROS OF DJANGO
          • 670
            Rapid development
          • 487
            Open source
          • 424
            Great community
          • 379
            Easy to learn
          • 276
            Mvc
          • 232
            Beautiful code
          • 223
            Elegant
          • 206
            Free
          • 203
            Great packages
          • 194
            Great libraries
          • 79
            Restful
          • 79
            Comes with auth and crud admin panel
          • 78
            Powerful
          • 75
            Great documentation
          • 71
            Great for web
          • 57
            Python
          • 43
            Great orm
          • 41
            Great for api
          • 32
            All included
          • 28
            Fast
          • 25
            Web Apps
          • 23
            Easy setup
          • 23
            Clean
          • 21
            Used by top startups
          • 19
            Sexy
          • 19
            ORM
          • 15
            The Django community
          • 14
            Allows for very rapid development with great libraries
          • 14
            Convention over configuration
          • 11
            King of backend world
          • 10
            Full stack
          • 10
            Great MVC and templating engine
          • 8
            Fast prototyping
          • 8
            Mvt
          • 7
            Easy to develop end to end AI Models
          • 7
            Batteries included
          • 7
            Its elegant and practical
          • 6
            Have not found anything that it can't do
          • 6
            Very quick to get something up and running
          • 6
            Cross-Platform
          • 5
            Easy Structure , useful inbuilt library
          • 5
            Great peformance
          • 5
            Zero code burden to change databases
          • 5
            Python community
          • 4
            Map
          • 4
            Just the right level of abstraction
          • 4
            Easy to change database manager
          • 4
            Modular
          • 4
            Many libraries
          • 4
            Easy to use
          • 4
            Easy
          • 4
            Full-Text Search
          • 3
            Scaffold
          • 1
            Fastapi
          • 1
            Built in common security
          • 1
            Scalable
          • 1
            Great default admin panel
          • 1
            Node js
          • 1
            Gigante ta
          • 0
            Rails
          CONS OF DJANGO
          • 26
            Underpowered templating
          • 22
            Autoreload restarts whole server
          • 22
            Underpowered ORM
          • 15
            URL dispatcher ignores HTTP method
          • 10
            Internal subcomponents coupling
          • 8
            Not nodejs
          • 8
            Configuration hell
          • 7
            Admin
          • 5
            Not as clean and nice documentation like Laravel
          • 4
            Python
          • 3
            Not typed
          • 3
            Bloated admin panel included
          • 2
            Overwhelming folder structure
          • 2
            InEffective Multithreading
          • 1
            Not type safe

          related Django posts

          Dmitry Mukhin
          Engineer at Uploadcare · | 25 upvotes · 2.4M views

          Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

          Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

          For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

          However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

          All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

          See more

          Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

          See more
          Plotly.js logo

          Plotly.js

          349
          685
          69
          A high-level, declarative charting library
          349
          685
          + 1
          69
          PROS OF PLOTLY.JS
          • 16
            Bindings to popular languages like Python, Node, R, etc
          • 10
            Integrated zoom and filter-out tools in charts and maps
          • 9
            Great support for complex and multiple axes
          • 8
            Powerful out-of-the-box featureset
          • 6
            Beautiful visualizations
          • 4
            Active user base
          • 4
            Impressive support for webgl 3D charts
          • 3
            Charts are easy to share with a cloud account
          • 3
            Webgl chart types are extremely performant
          • 2
            Interactive charts
          • 2
            Easy to use online editor for creating plotly.js charts
          • 2
            Publication quality image export
          CONS OF PLOTLY.JS
          • 17
            Terrible document

          related Plotly.js posts

          Tim Abbott
          Shared insights
          on
          Plotly.jsPlotly.jsD3.jsD3.js
          at

          We use Plotly (just their open source stuff) for Zulip's user-facing and admin-facing statistics graphs because it's a reasonably well-designed JavaScript graphing library.

          If you've tried using D3.js, it's a pretty poor developer experience, and that translates to spending a bunch of time getting the graphs one wants even for things that are conceptually pretty basic. Plotly isn't amazing (it's decent), but it's way better than than D3 unless you have very specialized needs.

          See more

          Here is my stack on #Visualization. @FusionCharts and Highcharts are easy to use but only free for non-commercial. Chart.js and Plotly are two lovely tools for commercial use under the MIT license. And D3.js would be my last choice only if a complex customized plot is needed.

          See more
          TensorFlow logo

          TensorFlow

          3.7K
          3.5K
          106
          Open Source Software Library for Machine Intelligence
          3.7K
          3.5K
          + 1
          106
          PROS OF TENSORFLOW
          • 32
            High Performance
          • 19
            Connect Research and Production
          • 16
            Deep Flexibility
          • 12
            Auto-Differentiation
          • 11
            True Portability
          • 6
            Easy to use
          • 5
            High level abstraction
          • 5
            Powerful
          CONS OF TENSORFLOW
          • 9
            Hard
          • 6
            Hard to debug
          • 2
            Documentation not very helpful

          related TensorFlow posts

          Conor Myhrvold
          Tech Brand Mgr, Office of CTO at Uber · | 8 upvotes · 2.7M views

          Why we built an open source, distributed training framework for TensorFlow , Keras , and PyTorch:

          At Uber, we apply deep learning across our business; from self-driving research to trip forecasting and fraud prevention, deep learning enables our engineers and data scientists to create better experiences for our users.

          TensorFlow has become a preferred deep learning library at Uber for a variety of reasons. To start, the framework is one of the most widely used open source frameworks for deep learning, which makes it easy to onboard new users. It also combines high performance with an ability to tinker with low-level model details—for instance, we can use both high-level APIs, such as Keras, and implement our own custom operators using NVIDIA’s CUDA toolkit.

          Uber has introduced Michelangelo (https://eng.uber.com/michelangelo/), an internal ML-as-a-service platform that democratizes machine learning and makes it easy to build and deploy these systems at scale. In this article, we pull back the curtain on Horovod, an open source component of Michelangelo’s deep learning toolkit which makes it easier to start—and speed up—distributed deep learning projects with TensorFlow:

          https://eng.uber.com/horovod/

          (Direct GitHub repo: https://github.com/uber/horovod)

          See more

          In mid-2015, Uber began exploring ways to scale ML across the organization, avoiding ML anti-patterns while standardizing workflows and tools. This effort led to Michelangelo.

          Michelangelo consists of a mix of open source systems and components built in-house. The primary open sourced components used are HDFS, Spark, Samza, Cassandra, MLLib, XGBoost, and TensorFlow.

          !

          See more