https://docs.streamlit.io/knowledge-base/tutorials/build-con...
Then I’ll give it a shot
Off the top of my head, bokeh and panel are more oriented towards high performance for large datasets, but have less overall adoption.
Voila is oriented towards making existing jupyter notebooks into interactive dashboards.
I'm always curious as to the runtime model for these interactive frameworks. Building interactivity into a jupyter notebook is fairly straightforward, but it's a very different execution model than the traditional http model. Jupyter notebook widgets need a separate backing kernel for each new user, vs the traditional http server models where all request state is reified normally based on a session cookie to DB state. The complete interpreter per user makes for simpler programming, but it is much more memory and process intensive.
That is why we created Taipy. We wanted an easy-to-learn Python library to create front-end for data applications while remaining production-ready: we use callbacks for user interactions to avoid re-running unnecessary code. Front and back-end run on separate threads so your app does not freeze whenever a computation runs.
We also focus on providing pre-built components to allow the end-user to play around with data pipelines quickly. These components allow the user to visualize the data pipeline in a DAG, input their data, run pipelines, and visualize results...
Streamlit and even more so Gradio are simple tools. They won't make the mark for such projects. They lack so many things: - not really multi-user - event loop is inefficient and creates side effects - no support for large data in graphics - difficult/impossible to call asynchronous functions (u get stuck in the GUI while waiting for the job to complete) - fixed layout / no real way to customize the look&feel - etc.
Don't get me wrong: Streamlit has benefits and was actually the first package to offer Python devs a low-code approach for building GUIs (for non-GUI specialists).
- For example, the scenario and data management feature helps end-users properly manage their various business cases. We can easily configure scenarios to model recurrent business cases. I am thinking of standard industry projects like production planning, demand or inventory forecasting, dynamic pricing, etc. An end-user can easily create and compare KPIs of multiple scenarios over time (e.g., a new demand forecast every week) and multiple scenarios for the same time period for what-if analysis for instance.
- The version management is also a good example. Besides a development mode and an experiment mode for testing, debugging, and tuning my pipelines, a specific production mode is designed to easily operate application version upgrades. It helped me deploy a new release of my Taipy application in a production environment including some data compatibility checks and eventually some data migration. I don't know any other system that helps manage application versions, pipeline versions, and data versions in a single tool. Plus it's really easy to use with git releases for instance.
- The pipeline orchestration is also very production-oriented for multi-user applications. You have visual elements for submitting pipelines, managing job executions, tracking successes and failures, historizing user changes, etc. Which is more than helpful in a multi-user environment. Everything is built-in Taipy.
Just like during the peak crypto hype, people were doing things that clearly had no obvious business model. Some figured it out, maybe pivoted a few times, and are successful. Most silently disappeared.
The AI space is really hard to have a long term business model strategy because the market is evolving insanely fast. Your long term business plan could easily be killed by 1 feature release from OpenAI without notice. Perhaps that's anothe reason people are focussing more on use adoption rather than revenue.
The reality is user adoption in AI has WAY more value than revenue growth. You can always monetize later. But first you need users. Most companies prioritize user adoption and worry about revenue later (that's what VCs want from early seed stage AI startups... users are gold, revenue is just a cherry on top).
Obviously thats not sustainable. But that's ok... most companies don't fail because they didn't generate enough revenue. They fail most commonly because they couldn't build a product that could attract enough users (which made it impossible to generate revenue). So it kind of makes sense to stress out about user adoption, because if you can't get that, your business model doesn't matter.
Ideally these solutions bridge to engineering teams better, who DO have budget and get the best tools. But again they don't have this problem (they can build & deploy web apps)
It’s not generating code or UI using AI (as I initially assumed from the demo)… how is “Data and AI algorithms” into “full web applications”?
It looks like it’s a framework you write code in.
Am I missing something obvious?
(For example, this sentiment analysis just imports transformers => https://github.com/Avaiga/demo-sentiment-analysis/blob/devel...)
It’s a python UI framework targeted at the AI crowd.
> No knowledge of web development is required!
Then right below
> $ pip install taipy
If it's truly no-code and you don't need to know how to use pip, and your audience is people without web dev knowledge, showing a pip install command so high up on the page might scare that audience away.
There's 20 tools to build neat little data / ML dashboards in Python that spit out front-end code but those don't have the features that JS / React have