Skip to main content

Enso API Reference

This section provides detailed low-level information about the various APIs that are available within Enso.

Enso is divided into a set of libraries, each of which provides some functionality when working with the Enso programming language.

The libraries are:

Standard.Base

This provides the core types and functions such as Number, Boolean, Text, List, Map, Function. Additionally, covers interacting with files, the system, and the internet.

Key Types

  • Number, Boolean, Text
  • Vector and Map
  • JSON

Standard.Table

This library provides functionality when working with tables in the Enso programming language.

The Standard.Table library enables reading, writing, manipulating, and querying tabular data structures, supporting both in-memory and database-backed operations. It includes modules for handling tables, columns, data formatting, and various file formats like delimited files and Excel.

Key Types

  • Table: Represents a tabular data structure with rows and columns.
  • Column: A single column within a table, supporting operations like filtering, sorting, and transformations.

Standard.Database

This library provides functionality for interacting with databases in Enso. It supports establishing connections to various relational database management systems (RDBMS) like PostgreSQL, MySQL, and others. Key capabilities include querying database tables, executing SQL statements, listing schemas and tables, and performing operations like aggregation, filtering, and updates on database-backed tables without necessarily loading data into memory.

Key Types

  • Connection: Represents a connection to a database, used for listing tables and executing queries.
  • DB_Table: A table type backed by a database, enabling lazy evaluation of operations like filtering and aggregation directly on the database.

Standard.Snowflake

This library offers specialized support for Snowflake, a cloud-based data warehousing platform. It enables secure connections to Snowflake accounts, execution of SQL queries, and management of Snowflake-specific features like schemas and warehouses. It builds on the general database functionality while providing tailored types and methods for seamless integration with Snowflake's architecture.

Key Types

  • Snowflake_Connection: A connection type optimized for Snowflake, supporting query execution and schema navigation.

Standard.Tableau

This library facilitates integration with Tableau, focusing on Tableau's Hyper extract format for high-performance data extracts. It allows reading from and writing to Hyper files, managing table schemas, and preparing data for visualization in Tableau. It's particularly useful for teams combining Enso's data processing with Tableau's analytics and dashboarding capabilities.

Key Types

  • Hyper_File: Represents a Tableau Hyper file, enabling schema definition, data insertion, and extract operations.

Standard.AWS

This library enables interaction with Amazon Web Services (AWS), primarily for S3 storage operations and signed requests to AWS APIs. It supports reading and writing files to S3 buckets, handling AWS credentials for authentication, and performing HTTP requests with AWS Signature Version 4 signing. This makes it essential for cloud-based data pipelines involving AWS infrastructure.

Key Types

  • AWS_Credential: Handles AWS authentication details like access keys and session tokens.
  • S3_File: A file abstraction for S3 objects, allowing seamless read/write operations as if they were local files.

Standard.Microsoft

This library provides connectivity and operations for Microsoft services, particularly Azure Blob Storage and SQL Database. It supports uploading/downloading blobs, querying Azure SQL databases, and managing credentials for Azure Active Directory authentication. It's designed for users leveraging Microsoft's cloud ecosystem in their Enso workflows.

Key Types

  • Azure_Credential: Manages authentication for Azure services.
  • Azure_Blob: Represents blobs in Azure storage for file-like operations.

Next Steps

For comprehensive examples and advanced usage, explore the full API documentation or experiment with sample projects in the Enso Community. If you're integrating with specific backends, start with connection setup in the relevant library.