Enso: data processing and process automation tool.

Stop processing data by hand. Automate it!

👋 What is Enso?

Enso (https://enso.org) is a visual programming language for Data Science, however, you do not need a programming background to use it. It lets you analyze, visualize, and automate data processing simply by connecting visual components together.

Currently, we’re focused on data analysis – data preparation, blending, and analytics (both in-memory and SQL). Oh, and Enso is, and always will be 100% Open Source and free for desktop use (download it here)!

👀 Demo


🙋🏼♂️ The Problem

According to IDC, data analysts waste 44% of their time on repetitive manual work that can be automated. As a result, turning your data into knowledge is slow and error-prone.

📍 Example use cases

We believe that the best explanation of Enso business applications is by providing a few use cases:

  • Data Quality Management. E.g. We’re working on a pilot with a bank. Their business users (they've got 10k of them) are defining Data Quality Rules by filling up specially prepared Excel files. Then, data analysts are picking up the Excel files, manually translating them to SQL queries, applying to sample data, and sending them back. After a seemingly infinite ping-pong, the Excel is sent to the Data Science team which translates it to Python scripts to start the data cleansing process. We are planning to replace this whole process, which will shorten the development of a new Data Quality Rule from 90 to 30 days.
  • Process automation. E.g. We're talking with a drug discovery company, a company researching new genome editing processes. They have tons of docker images containing algorithms, like DNA sequencing, or CRISPR design. Their scientists are defining the order the programs should be executed and how the data should be passed between them by manually writing XML files. Enso can provide them with a visual way of building such workflows with a live preview of the results.
  • Ad-hoc data analysis. E.g. telecom data analysts are tracking down network coverage errors and are trying to optimize the network redirection process. They need to create custom data queries pretty often to understand the current state of the systems. Enso would allow them to do it interactively and automate the error discovery process.

🙄 Why do most visual programming languages suck and Enso does not?

Most visual programming languages suck because they don't let you express abstractions. Try to build a complex pipeline and you'll end with an unreadable spaghetti of connections. It's like coding a web app in the assembler. I mean, you can do it, but no matter how much time you'd put into that, it will be complex to read, understand and reason about.

Enso is different. It allows you to express abstractions to manage the complexity. As a result, you'd never have more than 10-20 nodes on the stage in Enso (nodes are hierarchical). This is because Enso lets you create custom data types, custom components (functions), catch errors, using control version systems, etc. This is because Enso is a real programming language with a dedicated JIT compiler with some very unique characteristics:

🚧 Enso alpha is out. What will Enso beta look like?

We realize that currently, Enso still feels more like a developers tool rather than a business-user toolkit. We’re in the process of working on improving onboarding, making the documentation better, allowing people to easily share components, and adding interactive widgets on nodes (sliders, drop-down menus):

❤️ If you like Enso, we'd be thankful for your support! ❤️