JSPython

Powerful Data Transformations with JSPython.

Python-like syntax, running right where your data is: in the import wizard, in Save to Database and in script tabs.

JSPython is an open-source interpreter that runs Python-style code on the JavaScript runtime. Nothing to install, no environment to manage, and the same language in the desktop app and in the browser.

What JSPython is

JSPython is a Python-like language interpreted in JavaScript. Functions, loops, conditions, lists and dictionaries read like Python; values are JavaScript values, so string, number and date methods work the way web developers expect.

Falcon Data Studio embeds the interpreter. Where the product needs a bit of logic, from a calculated column to a quick script over a result, JSPython is the language, and it runs locally without a server round-trip.

An expression per row

In Import Data and Save to Database, an Expression transform is evaluated for every row. It sees the cell as value, the whole source row as row, plus rowNumber and fileName.

JSPython
# Full name from two source columns
row.FirstName.trim() + ' ' + row.LastName.trim()

# Upper-case country code, with a default when the cell is empty
(value or 'GB').trim().toUpperCase()

# Strip a currency prefix; a Number transform after it does the parsing
value.replace('EUR', '').trim()
The transform editor shows source and result side by side over the first 5,000 rows while you type.

Transform while you import

Available

Most columns need no code: Trim, Upper case, Lower case, Date, Number, Boolean, Replace, Default value and Null if cover the usual cleaning. When a rule is specific to your data, an Expression transform slots into the same chain.

Expressions are parsed once and evaluated per row, and a row that raises an error is rejected with the message instead of failing the batch.

  • Chains of transforms per column, previewed over the sample
  • The same transforms in Import Data and Save to Database
  • Rejected rows carry the expression error as the reason

Script tabs

Preview

New JSPython Script opens a .jspy tab in the Monaco editor. Run it and the Messages panel shows the print output, the elapsed time and errors with the script line, which you can click to jump to.

Scripts are saved in the local workspace next to your SQL. Today they run with print as their only built-in; the planned data and SQL APIs will let a script query a connection, walk a result and write rows back.

  • Monaco editor with run, messages and timing
  • Saved in the local workspace, addressed by URL like every tab
  • Data access and SQL from scripts: in development

JSPython in Falcon Data Studio, today and next

Expressions are production-ready. Scripts are a preview while the data APIs are built; pipelines and scheduling follow.

Available now

  • Expression transforms Available

    Per-column expressions in Import Data and Save to Database.

  • Script tabs Preview

    Run .jspy files with print output; data and SQL APIs are planned.

Planned

  • Pipeline steps in JSPython Coming soon

    A script as a step between an import and a SQL batch.

  • Scheduled scripts Coming soon

    Run a script or a pipeline on a timer on the server host.

From Raw Data to Working Solutions.

One workspace to connect, query, explore, transform, automate and build.

Whether you are managing databases, engineering pipelines or creating applications, Falcon Data Studio helps you get more from your data.

Start with the modern Data IDE: the Windows desktop app, or open it in your browser.