TNS
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
NEW! Try Stackie AI
AI / Frontend Development / Python

Open Source Library Taipy Turns AI Algorithms, Data into Web Apps

Taipy is a free framework that lets Python developers, data scientists and machine learning engineers create web applications.
Mar 6th, 2024 7:48am by
Featued image for: Open Source Library Taipy Turns AI Algorithms, Data into Web Apps
Photo by Christina Morillo via Pexels

A free open source Python library allows developers to turn data and AI algorithms into production-ready web applications. Called Taipy, the library is designed to support data science and machine learning engineers in building full-stack apps.

The startup was founded by Vincent Gosselin and Albert Antoine, both of whom are veterans of the technology world. Gosselin, who is CEO, spent eight years in IBM’s Data Science and Advanced Analytics, along with heading advanced analytics at DecisionBrain. Antoine, the executive director of Taipy, was the CEO at data analytics firm Avaiga.com and worked in business development at Dataiku, a data science platform.

”The problem they wanted to address when creating Taipy is the failure rate of projects in the data space,” explained Rym Michaut, a data scientist and Taipy’s global community manager, in a written response to The New Stack. “Most of these projects are written in Python. That’s why we moved on from Java to Python.”

Taipy’s Three Components

Developers do not need any prior knowledge of HTML, JavaScript, or CSS to use Taipy, but do need a basic understanding of Python.

The tool is composed of three components, starting with Taipy frontend for building out a Graphical User Interface using simple Markdown language to create interactive pages with graphical elements, according to the Taipy FAQ.

“Devs have a lot of control over look and feel,” Michaut said. “We provide a default CSS style to all our apps and UI components, but these can be modified through Python or CSS code. Our main strength in terms of look and feel is the layout: We provide an easy syntax to customize the design of your app, and we also have a VS Code extension that allows you to preview your page’s design without running Python code.”

She acknowledged that while the library is customizable, the “default layout and look might be less impressive than other, less customizable libraries,” she said. To give developers an idea of a real-world application to build with Taipy, she shared a financial forecasting dashboard mockup completed for a company.

App mockup made with Taipy.

App mockup made with Taipy, courtesy Taipy.

In the coming months, Taipy plans to release a new low-code offering that will allow users to edit frontends without coding using drag-and-drop UI components from a web interface.

Taipy backend is for building and managing data flows, including pipelines that can call upon your code. It can schedule tasks, cache repetitive operations, and parallelize tasks “to optimize performance and streamline management of pipelines and scenarios,” the FAQ stated. “The primary aim of Taipy backend is to translate standard Python code and enhance pipeline and scenario performance and management,” it added.

The third component, Taipy Rest, provides a way to access scenarios, pipelines, and data accessors through a Rest API.

“Taipy also focuses on working in full-scale production applications: As we run the minimum necessary tasks on a user interaction using what we call the callbacks, front end and back end run on different threads so the user can still interact with the app even if a model is running in the background,” Michaut explained.

Taipy can connect by default to pickle, CSV, Excel, JSON, Mongo, SQL and Parquet.

“Of course, if you can connect to a data source using Python, it will also work within Taipy using a few lines of code,” she added.

There’s also documentation for connecting to AWS and DataBricks.

Integration with Existing Data Science, ML Libraries

The New Stack asked Michaut if Taipy can handle large datasets and complex machine learning models efficiently and how easily it can integrate with existing data science and machine learning libraries, such as scikit-learn, TensorFlow or PyTorch.

“Yes, Taipy can handle large datasets and ML algorithms efficiently by integrating other libraries,” she responded. “Since our library mainly focuses on the frontend, we do not interfere with anything that can be written with Python code. Taipy calls the different libraries you need to run your ML algo inside a web page and interacts with it directly. You can, for example, change model parameters from a Taipy interface, run the model using a button and visualize results within a Taipy webpage.”

It also provides features that allow the user to visualize and interact with large datasets in real-time. One such feature is the decimator, which reduces the number of points on a chart that least modify the curves, she explained. “We also have features to run ML models in parallel or on distribute clusters,” she added.

The Goal: Ease of Use Plus Scalability

We also asked how Taipy compares to other, similar frameworks, such as Streamlit, Dash or Flask. Taipy’s goal is to hit a sweet spot of ease of use and scalability that these solutions don’t, Michaut said.

“We found that the Python graphical package scene is split between two poles: On the one side, tools like Streamlit are easy to use but do not scale to production applications. They often fail when confronted with multiple pages/users or large datasets/computations,” she stated. “On the other hand, tools like Dash are scalable but have a steep learning curve. We saw a gap in the market and we seized it.”

Group Created with Sketch.
TNS owner Insight Partners is an investor in: Dataiku.
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.