Socket
Socket
Sign inDemoInstall

@sqlframes/repl-app

Package Overview
Dependencies
110
Maintainers
1
Versions
80
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @sqlframes/repl-app

SQL Frames - REPL App


Version published
Weekly downloads
40
decreased by-67.74%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

SQL Frames - REPL App

SQL Frames provides low-code API to transform dataframes using familiar SQL constructs. The built-in in-memory analytics engine runs within the browser allowing data transformations right within the browser providing milli-seconds latency interactions. It allows off-loading computation from the database to the end user browser bringing cost savings to expensive cloud databases and at the same time improving productivity and user experience to end users letting them explore data with ease and gain better business insights.

This package bundles the SQL Frames low-code API along with a REPL application that can be used to interactively load data, perform data transformations and create powerful visualizations such as pivot tables and charts.

This README provides a quick introduction to the REPL application. Visit SQL Frames API to learn the API.

The REPL contains input and output sections referred to as STDIN and STDOUT.

STDIN

STDIN is provided using the monaco editor. Any valid JavaScript can be specified. Any value that needs to be displayed should be explicitly returned. For example,

const df = DataFrame.fromURL('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_week.csv');
const { groupBy, agg: { max }, where: { eq }} = SQL;
return df.gdf(groupBy('type'),max('mag'));

STDOUT

Any returned value will be displayed in the STDOUT. The return values are displayed as follows

  1. Individual values are displayed using a viewer specific to the type (class) of that value if available. For example, all the Data Frames in SQL Frames have a viewer that can display data in tabular format.
  2. An array is displayed top to bottom with the elemenst stacked vertically.
  3. A JavaScript object (e.g: { x : 42 } ) is displayed with the field names as tabs each containing the corresponding field value.

It is possible to nest arrays and objects to create complex UI.

Special Variables

  1. S - Scratch

Even though this is called REPL, it doesn't provide a LOOP to repeatedly evaluate code. Instead, the existing code needs to be replaced with new code and re-executed. Sometimes it is desirable to retain the values computed for subsequent execution. It is possible to store any value into a special variable called S (for scratch). For example, a DataFrame based on remote data can be fetched once and stored so it is available for subsequent data exploration. For example, the above code is rewritten to make use of storing the Data Frame as a scratch variable for subsequent evaluation.

if(!S.df) {
	const df = DataFrame.fromURL('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_week.csv');
	S.df = df;
}
const df = S.df;
const { groupBy, agg: { max }, where: { eq }} = SQL;
return df.gdf(groupBy('type'),max('mag'));
  1. C - Cell

The C variable provides some utility functions.

i. C.NONE can be returned to display nothing.

ii. await C.delay(milliseconds,value) can be used to delay certain amount of time and then optionally return a value.

iii. C.md can be used to display markup.

return C.md`Hello **SQL Frames**`

Keywords

FAQs

Last updated on 15 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc