# enso-org/enso

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/enso-org-enso).**

7,439 stars · 343 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/enso-org/enso
- Homepage: https://ensoanalytics.com
- awesome-repositories: https://awesome-repositories.com/repository/enso-org-enso.md

## Topics

`compiler` `enso` `functional` `graalvm` `hybrid` `interpreter` `jit` `language` `polyglot` `rts` `textual` `visual`

## Description

Enso is a visual dataflow programming environment and multi-language data processing engine that compiles Enso, Python, Java, and JavaScript into a unified representation with a shared memory model for zero-overhead inter-language calls. It functions as a self-service data preparation and analysis platform where users can build data pipelines by connecting nodes in a graph, switching between a no-code visual interface and a code view while keeping all changes reviewable. The platform also serves as a cloud data workflow scheduler and API exposer, allowing workflows to run on a timetable or be deployed to the cloud and exposed as REST APIs with dynamic parameters.

The environment distinguishes itself through an explainable AI data chat interface that answers questions about data conversationally while tracing and annotating each transformation step in a generated flow graph. It provides compiler-level safety verification to automatically verify program correctness and security properties, and supports in-database query pushdown that detects when data originates in a database and pushes subsequent transformation steps into the database engine to avoid data movement. The platform includes an incremental live preview engine that recomputes only affected nodes in the dataflow graph when parameters change, and a versioned data link proxy that creates versioned proxies for files, databases, and APIs to redirect data sources without interrupting running workflows.

The platform offers capabilities for cleaning, transforming, and blending structured and unstructured data from multiple sources, building visual data pipelines, and cataloging workflows and data assets in a centralized repository for easy discovery and reuse across teams. It includes features for scheduled execution, team collaboration through sharing workflows and secrets, and automatic parallelization of computations across available CPUs and GPUs. The environment supports dual-mode editing between text and graph representations, custom component building, and multi-format data ingestion from structured sources like databases and spreadsheets as well as unstructured sources like files and APIs.

Documentation and licensing options include beta program access, personal use licensing, small business licensing, SaaS access, and trial evaluation periods.

## Tags

### Data & Databases

- [Workflow API Exposers](https://awesome-repositories.com/f/data-databases/workflow-scheduling-and-orchestration/workflow-api-exposers.md) — Schedules workflows on a timer and exposes them as REST APIs with dynamic parameters.
- [Data Analysis & Visualization](https://awesome-repositories.com/f/data-databases/data-analysis-visualization.md) — Performs powerful analyses through an intuitive visual interface to discover insights without extensive programming. ([source](https://cdn.jsdelivr.net/gh/enso-org/enso@develop/README.md))
- [Polyglot](https://awesome-repositories.com/f/data-databases/data-processing-engines/polyglot.md) — Compiles Enso, Python, Java, and JavaScript into a unified representation for zero-overhead inter-language calls.
- [Workflow Scheduling And Orchestration](https://awesome-repositories.com/f/data-databases/workflow-scheduling-and-orchestration.md) — Schedules workflow execution on a timetable and deploys them to the cloud for automated operation.
- [Activity Auditing](https://awesome-repositories.com/f/data-databases/activity-auditing.md) — Logs every permitted and denied data access and modification for searchable tracing of errors or leaks. ([source](https://ensoanalytics.com))
- [Interactive Cloud Data Processing](https://awesome-repositories.com/f/data-databases/cloud-data-access/interactive-cloud-data-processing.md) — Enables interactive data processing and visualization through a cloud-based platform. ([source](https://ensoanalytics.com/eu-projects))
- [Data Catalogs](https://awesome-repositories.com/f/data-databases/data-catalogs.md) — Tags, documents, and searches data and workflows by format, usage, structure, and location for easy discovery. ([source](https://www.ensoanalytics.com/product))
- [Versioned Data Proxies](https://awesome-repositories.com/f/data-databases/data-management/table-data-managers/data-versioning/versioned-data-proxies.md) — Creates versioned proxies for files, databases, and APIs to redirect data sources without interrupting running workflows. ([source](https://www.ensoanalytics.com/product))
- [Workflow and Data Auto-Versioning](https://awesome-repositories.com/f/data-databases/data-management/table-data-managers/data-versioning/workflow-and-data-auto-versioning.md) — Automatically versions workflows, data files, and data links on every change for full state restoration. ([source](https://ensoanalytics.com))
- [Query Pushdown Engines](https://awesome-repositories.com/f/data-databases/database-query-engines/query-pushdown-engines.md) — Pushes data transformation steps into the source database engine to avoid moving data out of the database.
- [In-Database Query Pushdown](https://awesome-repositories.com/f/data-databases/in-process-analytics/in-database-query-pushdown.md) — Pushes data transformation steps into the database engine to avoid moving data out of the database. ([source](https://www.ensoanalytics.com/product))

### Development Tools & Productivity

- [Visual Programming Environments](https://awesome-repositories.com/f/development-tools-productivity/visual-programming-environments.md) — Provides a visual dataflow programming environment where users build pipelines by connecting nodes in a graph.
- [Dual-Mode Editors](https://awesome-repositories.com/f/development-tools-productivity/no-code-platforms/dual-mode-editors.md) — Switches between a visual interface and a code view while keeping all changes reviewable and auditable. ([source](https://www.ensoanalytics.com/))
- [No-Code to Code Workflow Editors](https://awesome-repositories.com/f/development-tools-productivity/no-code-platforms/no-code-to-code-workflow-editors.md) — Switches between a visual no-code interface and a code view while keeping all changes reviewable.
- [Workflow Repositories](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/workflow-lifecycle-management/workflow-management/workflow-repositories.md) — Stores workflows and data assets in a centralized repository for easy discovery, sharing, and reuse across teams. ([source](https://cdn.jsdelivr.net/gh/enso-org/enso@develop/README.md))
- [Workflow Schedulers](https://awesome-repositories.com/f/development-tools-productivity/workflow-schedulers.md) — Runs workflows on fixed timetables or deploys them to the cloud to reduce manual intervention. ([source](https://cdn.jsdelivr.net/gh/enso-org/enso@develop/README.md))
- [Versioned File History](https://awesome-repositories.com/f/development-tools-productivity/automatic-file-tracking/versioned-file-history.md) — Auto-saves and versions workflows, data files, and data links on every change to enable restoration of any earlier version. ([source](https://cdn.jsdelivr.net/gh/enso-org/enso@develop/README.md))

### Artificial Intelligence & ML

- [Explainable Data Chat Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-chat-interfaces/explainable-data-chat-interfaces.md) — Answers data questions conversationally while tracing and annotating each transformation step in a flow graph.
- [Multi-Source Data Blending](https://awesome-repositories.com/f/artificial-intelligence-ml/data-preparation/multi-source-data-blending.md) — Provides self-service data preparation blending structured and unstructured data from multiple sources without writing code. ([source](https://cdn.jsdelivr.net/gh/enso-org/enso@develop/README.md))
- [Self-Service Data Blending](https://awesome-repositories.com/f/artificial-intelligence-ml/data-preparation/self-service-data-blending.md) — Provides self-service data preparation blending structured and unstructured data from multiple sources without writing code.
- [Conversational Data Explainers](https://awesome-repositories.com/f/artificial-intelligence-ml/explainable-ai/conversational-data-explainers.md) — Answers questions about data conversationally while tracing and annotating each transformation step in a generated flow graph. ([source](https://www.ensoanalytics.com/product))
- [Data Transformation Traceability](https://awesome-repositories.com/f/artificial-intelligence-ml/explainable-ai/data-transformation-traceability.md) — Answers data questions conversationally while tracing and annotating each transformation step in a flow graph.
- [Flow Graph Annotations](https://awesome-repositories.com/f/artificial-intelligence-ml/explainable-ai/flow-graph-annotations.md) — Generates traceable flow graphs with annotated transformation steps to explain AI data query results.

### Part of an Awesome List

- [Data Ingestion and Parsing](https://awesome-repositories.com/f/awesome-lists/data/data-ingestion-and-parsing.md) — Ingests structured and unstructured data from databases, spreadsheets, files, and APIs. ([source](https://ensoanalytics.com))

### DevOps & Infrastructure

- [Self-Service Data Analysis Platforms](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-deployment-platforms/data-platforms/self-service-data-analysis-platforms.md) — Provides a self-service platform for cleaning, transforming, and analyzing data from multiple sources using visual workflows or code.

### Programming Languages & Runtimes

- [Unified Representation Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-compiled-languages/source-to-bytecode-compilers/multi-language-wasm-compilers/unified-representation-compilers.md) — Compiles Enso, Python, Java, and JavaScript into a common representation with a unified memory model for zero-overhead interop. ([source](https://www.ensoanalytics.com/product))
- [Polyglot Method Invocation](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-interop/polyglot-method-invocation.md) — Enables zero-overhead method calls and value passing between Enso, Python, Java, and JavaScript.
- [Zero-Overhead Method Invocations](https://awesome-repositories.com/f/programming-languages-runtimes/multi-language-integration/zero-overhead-method-invocations.md) — Provides zero-overhead method invocation between Enso, Python, Java, and JavaScript via a shared memory model. ([source](https://www.ensoanalytics.com/))
- [Dual-Mode Text and Graph Editors](https://awesome-repositories.com/f/programming-languages-runtimes/visual-programming-representations/dual-mode-text-and-graph-editors.md) — Provides dual-mode editing that switches between textual code and a visual dataflow graph representation. ([source](https://ensoanalytics.com/eu-projects))
- [Compile-Time Correctness Verification](https://awesome-repositories.com/f/programming-languages-runtimes/compile-time-correctness-verification.md) — Uses compiler-level mechanisms to automatically verify program correctness and security properties during compilation.
- [Automatic Functional Parallelism](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/functional/objective-function-execution/parallel-function-execution/automatic-functional-parallelism.md) — Automatically distributes calculations across available CPUs and GPUs without manual intervention. ([source](https://ensoanalytics.com/eu-projects))

### Scientific & Mathematical Computing

- [Polyglot Shared Memory Models](https://awesome-repositories.com/f/scientific-mathematical-computing/unified-memory-systems/polyglot-shared-memory-models.md) — Compiles Enso, Python, Java, and JavaScript into a unified representation with a shared memory model for zero-overhead interop.

### Security & Cryptography

- [Compiler-Level Safety Verifiers](https://awesome-repositories.com/f/security-cryptography/security-safety-resources/compiler-level-safety-verifiers.md) — Uses compiler-level mechanisms to automatically verify program correctness and security properties. ([source](https://ensoanalytics.com/eu-projects))
- [Credential Encryption](https://awesome-repositories.com/f/security-cryptography/end-to-end-encryption/credential-encryption.md) — Holds encrypted credentials within data links to protect against social engineering and credential reuse. ([source](https://www.ensoanalytics.com/product))
- [Granular Access Controls](https://awesome-repositories.com/f/security-cryptography/granular-access-controls.md) — Shares data links at a granular level from complete datasets to single query results governed by classification rules. ([source](https://www.ensoanalytics.com/product))

### Software Engineering & Architecture

- [Visual Dataflow Graph Designers](https://awesome-repositories.com/f/software-engineering-architecture/dataflow-frameworks/visual-dataflow-graph-designers.md) — Compiles visual node graphs into executable programs, enabling no-code workflow construction with full code equivalence.
- [RESTful Workflow APIs](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/api-design-management/api-integration-strategies/restful-workflow-apis.md) — Exposes workflows as RESTful APIs with dynamic parameters for synchronous or asynchronous invocation. ([source](https://www.ensoanalytics.com/))
- [Incremental Recomputations](https://awesome-repositories.com/f/software-engineering-architecture/dataflow-frameworks/live-dataflow-graph-modifiers/incremental-recomputations.md) — Recomputes only affected nodes in the dataflow graph when parameters change, avoiding full workflow re-runs.
- [Versioned Data Proxies](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-management/data-source-proxying/versioned-data-proxies.md) — Creates versioned proxies for files, databases, and APIs to redirect data sources without interrupting running workflows.
- [Team Collaboration Tools](https://awesome-repositories.com/f/software-engineering-architecture/team-collaboration-tools.md) — Shares workflows, secrets, and connections with team members through a cloud-based platform. ([source](https://cdn.jsdelivr.net/gh/enso-org/enso@develop/README.md))

### User Interface & Experience

- [Visual Data Pipeline Builders](https://awesome-repositories.com/f/user-interface-experience/font-configurations/font-configurators/custom-font-build-generators/build-pipelines/visual-data-pipeline-builders.md) — Ships a visual dataflow graph interface for building data pipelines without writing code. ([source](https://ensoanalytics.com/eu-projects))
- [Reusable Graph Components](https://awesome-repositories.com/f/user-interface-experience/custom-component-extensions/reusable-graph-components.md) — Collapses graphs into reusable custom components that can be shared across an organization. ([source](https://www.ensoanalytics.com/product))

### Web Development

- [Incremental Preview Engines](https://awesome-repositories.com/f/web-development/live-preview-systems/editor-live-previews/incremental-preview-engines.md) — Updates results interactively as parameters change without re-running the entire workflow by recomputing only affected nodes. ([source](https://www.ensoanalytics.com/product))
