Alternatives to Streamlit logo

Alternatives to Streamlit

Dash, Jupyter, Flask, Shiny, and Bokeh are the most popular alternatives and competitors to Streamlit.
317
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. ...

  • Postman
    Postman

    It is the only complete API development environment, used by nearly five million developers and more than 100,000 companies worldwide. ...

Streamlit alternatives & related posts

Dash logo

Dash

319
408
63
Gives your Mac instant offline access to 150+ API documentation sets
319
408
+ 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.6K
    1.4K
    57
    Multi-language interactive computing environments.
    2.6K
    1.4K
    + 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
      Senior Software Engineer at Mews · | 5 upvotes · 455.5K 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

      19K
      16K
      66
      A microframework for Python based on Werkzeug, Jinja 2 and good intentions
      19K
      16K
      + 1
      66
      PROS OF FLASK
      • 10
        For it flexibility
      • 9
        Flexibilty and easy to use
      • 8
        Flask
      • 7
        User friendly
      • 6
        Secured
      • 5
        Unopinionated
      • 2
        Secure
      • 1
        Customizable
      • 1
        Simple to use
      • 1
        Powerful
      • 1
        Rapid development
      • 1
        Beautiful code
      • 1
        Easy to develop and maintain applications
      • 1
        Easy to setup and get it going
      • 1
        Easy to use
      • 1
        Documentation
      • 1
        Python
      • 1
        Minimal
      • 1
        Lightweight
      • 1
        Easy to get started
      • 1
        Orm
      • 1
        Not JS
      • 1
        Perfect for small to large projects with superb docs.
      • 1
        Easy to integrate
      • 1
        Speed
      • 1
        Get started quickly
      • 0
        Open source
      • 0
        Well designed
      • 0
        Flexibilty
      • 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 · | 47 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

      207
      224
      13
      An R package that makes it easy to build interactive web apps
      207
      224
      + 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

          37.6K
          34K
          4.2K
          The Web framework for perfectionists with deadlines
          37.6K
          34K
          + 1
          4.2K
          PROS OF DJANGO
          • 673
            Rapid development
          • 487
            Open source
          • 425
            Great community
          • 379
            Easy to learn
          • 277
            Mvc
          • 232
            Beautiful code
          • 223
            Elegant
          • 207
            Free
          • 203
            Great packages
          • 194
            Great libraries
          • 80
            Comes with auth and crud admin panel
          • 79
            Restful
          • 78
            Powerful
          • 76
            Great documentation
          • 72
            Great for web
          • 57
            Python
          • 43
            Great orm
          • 41
            Great for api
          • 32
            All included
          • 29
            Fast
          • 25
            Web Apps
          • 23
            Clean
          • 23
            Easy setup
          • 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
            Mvt
          • 8
            Fast prototyping
          • 7
            Its elegant and practical
          • 7
            Easy to develop end to end AI Models
          • 7
            Batteries included
          • 6
            Have not found anything that it can't do
          • 6
            Very quick to get something up and running
          • 6
            Cross-Platform
          • 5
            Zero code burden to change databases
          • 5
            Great peformance
          • 5
            Python community
          • 5
            Easy Structure , useful inbuilt library
          • 4
            Easy to use
          • 4
            Map
          • 4
            Easy to change database manager
          • 4
            Full-Text Search
          • 4
            Just the right level of abstraction
          • 4
            Many libraries
          • 4
            Modular
          • 4
            Easy
          • 3
            Scaffold
          • 1
            Node js
          • 1
            Built in common security
          • 1
            Great default admin panel
          • 1
            Scalable
          • 1
            Cons
          • 1
            Gigante ta
          • 1
            Fastapi
          • 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.6M 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

          358
          690
          69
          A high-level, declarative charting library
          358
          690
          + 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
          • 18
            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
          Postman logo

          Postman

          94.4K
          80.9K
          1.8K
          Only complete API development environment
          94.4K
          80.9K
          + 1
          1.8K
          PROS OF POSTMAN
          • 490
            Easy to use
          • 369
            Great tool
          • 276
            Makes developing rest api's easy peasy
          • 156
            Easy setup, looks good
          • 144
            The best api workflow out there
          • 53
            It's the best
          • 53
            History feature
          • 44
            Adds real value to my workflow
          • 43
            Great interface that magically predicts your needs
          • 35
            The best in class app
          • 12
            Can save and share script
          • 10
            Fully featured without looking cluttered
          • 8
            Collections
          • 8
            Option to run scrips
          • 8
            Global/Environment Variables
          • 7
            Shareable Collections
          • 7
            Dead simple and useful. Excellent
          • 7
            Dark theme easy on the eyes
          • 6
            Awesome customer support
          • 6
            Great integration with newman
          • 5
            Documentation
          • 5
            Simple
          • 5
            The test script is useful
          • 4
            Saves responses
          • 4
            This has simplified my testing significantly
          • 4
            Makes testing API's as easy as 1,2,3
          • 4
            Easy as pie
          • 3
            API-network
          • 3
            I'd recommend it to everyone who works with apis
          • 3
            Mocking API calls with predefined response
          • 2
            Now supports GraphQL
          • 2
            Postman Runner CI Integration
          • 2
            Easy to setup, test and provides test storage
          • 2
            Continuous integration using newman
          • 2
            Pre-request Script and Test attributes are invaluable
          • 2
            Runner
          • 2
            Graph
          • 1
            <a href="http://fixbit.com/">useful tool</a>
          CONS OF POSTMAN
          • 10
            Stores credentials in HTTP
          • 9
            Bloated features and UI
          • 8
            Cumbersome to switch authentication tokens
          • 7
            Poor GraphQL support
          • 5
            Expensive
          • 3
            Not free after 5 users
          • 3
            Can't prompt for per-request variables
          • 1
            Import swagger
          • 1
            Support websocket
          • 1
            Import curl

          related Postman posts

          Noah Zoschke
          Engineering Manager at Segment · | 30 upvotes · 3M views

          We just launched the Segment Config API (try it out for yourself here) — a set of public REST APIs that enable you to manage your Segment configuration. A public API is only as good as its #documentation. For the API reference doc we are using Postman.

          Postman is an “API development environment”. You download the desktop app, and build API requests by URL and payload. Over time you can build up a set of requests and organize them into a “Postman Collection”. You can generalize a collection with “collection variables”. This allows you to parameterize things like username, password and workspace_name so a user can fill their own values in before making an API call. This makes it possible to use Postman for one-off API tasks instead of writing code.

          Then you can add Markdown content to the entire collection, a folder of related methods, and/or every API method to explain how the APIs work. You can publish a collection and easily share it with a URL.

          This turns Postman from a personal #API utility to full-blown public interactive API documentation. The result is a great looking web page with all the API calls, docs and sample requests and responses in one place. Check out the results here.

          Postman’s powers don’t end here. You can automate Postman with “test scripts” and have it periodically run a collection scripts as “monitors”. We now have #QA around all the APIs in public docs to make sure they are always correct

          Along the way we tried other techniques for documenting APIs like ReadMe.io or Swagger UI. These required a lot of effort to customize.

          Writing and maintaining a Postman collection takes some work, but the resulting documentation site, interactivity and API testing tools are well worth it.

          See more
          Simon Reymann
          Senior Fullstack Developer at QUANTUSflow Software GmbH · | 27 upvotes · 5.1M views

          Our whole Node.js backend stack consists of the following tools:

          • Lerna as a tool for multi package and multi repository management
          • npm as package manager
          • NestJS as Node.js framework
          • TypeScript as programming language
          • ExpressJS as web server
          • Swagger UI for visualizing and interacting with the API’s resources
          • Postman as a tool for API development
          • TypeORM as object relational mapping layer
          • JSON Web Token for access token management

          The main reason we have chosen Node.js over PHP is related to the following artifacts:

          • Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
          • Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
          • A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
          • Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
          See more