Skip to content

Files

Latest commit

adbce6d · May 11, 2025

History

History
196 lines (140 loc) · 6.97 KB

README.md

File metadata and controls

196 lines (140 loc) · 6.97 KB

WLJS Notebook

Next-Gen Digital Notebook for Physics, Math, and Data Science

It is the first open-source solution featuring true 2D math input combined with powerful syntax sugar and the fastest granular interactive evaluation engine, making it ideal for advanced mathematical workflows, scientific computing, and data exploration.

Preview

WLJS Notebook is an interactive computing platform, web-based environment for running Wolfram Language (WL) scripts, Javascript. A lightweight, cross-platform alternative to Mathematica, built using open-source tools and the free Wolfram Engine.

The notebook combines live code in WL, JS, Mermaid and many more, GUI blocks for user input, equations, narrative text, visualizations, interactive widgets.

WLJS Notebook is free software based on the Wolfram Engine.

You don’t need Mathematica installed to use WLJS Notebook. No subscription required—just a one-time registration at wolfram.com for personal use.

See the license agreement for commercial use.

Resources

Recommended Wolfram Engine: Version > 13.3

The algorithms, functions, and other components of the Wolfram Language provided by the Wolfram Engine are the intellectual property of Wolfram Research, Inc.

We need your support

As an independent open-source project, we’re unaffiliated with Wolfram or any company. Your support keeps this project alive:

  • +1 ⭐️ on this Github repo
  • Share it with your colleague
  • Buy us a coffee ☕️

Showcase

Pages featuring real-world problems solved using WLJS Notebook, published as interactive notebooks running in your browser.

Notebooks presented as static web pages showcasing various examples demonstrating the power of Wolfram Language and our frontend.

Why WLJS Notebook?

Feels like Mathematica and Jupyter

WLJS Notebook is compatible with Wolfram Mathematica and has a flat and minimal notebook structure like in Jupyter Lab. All power of Wolfram Language standard library is at your hands

Batteries included

More than 200 importers/exporters formats. Vast standard library of Wolfram Mathematica (Language) for every computational need, from data analysis to visualization, symbolic computation, and beyond

Interactive & Powerful

WLJS Notebook is optimized for interactive computing and allows to make complex real-time computations like these ones below

Dynamic Plots

High-Performance Rendering

The entire scene above is generated on the Wolfram Kernel and streamed to WebGL buffers via low-latency binary sockets.

Command Palette & GUI-in-Code Emulation 🎨

Native Math Input/Output in the Code Editor 🧮

Write beautiful equations directly within normal Wolfram Language expressions.

Math Input

🎹 No need to lift your fingers from the keyboard

Math Input

Editable Output Cells & Advanced Shortcuts

  • Alt+2, Cmd+2: Toggle input cell visibility
  • Ctrl+/: Create a fraction from selection
  • Ctrl+6: Create superscript from selection
  • Ctrl+2: Create square root from selection
  • Ctrl+-: Create subscript from selection

Or use toolboxes for complex structures like integrals, summations, and Greek letters.

Rich Command Palette

Command Palette

Javascript Sandbox

First class support of Javascript and with a dedicated IPC channel to Wolfram Kernel

JS Libraries

Share Interactive Notes Effortlessly

  • Write once, use forever
  • No breaking changes upon updates
  • Keep all dependencies within your notebook
  • No CDNs, no external libraries, no WRI services

Export to HTML/Markdown/MDX 🗜️

Export entire notebooks as standalone .html files, retaining all embedded data—no internet required for viewing.

HTML Export

Installation 🛠️

Wolfram Engine

Download Wolfram Engine (Version 13.3+ recommended). Activation is required after installation.

Tested

  • Wolfram Engine 13.1 (no copilot)
  • Wolfram Engine 13.2 (no copilot)
  • Wolfram Engine 13.3 (no copilot)
  • Wolfram Engine 13.4 (no copilot)
  • Wolfram Engine 14.0
  • Wolfram Engine 14.1
  • Wolfram Engine 14.2

macOS Installation via Homebrew:

brew install --cask wolfram-engine

WLJS Notebook App ✨

Download from the releases section.

CLI Installation

WLJS Notebook provides a CLI tool. You can open a folder in WLJS Notebook with:

wljs .

URL Protocol Registration

WLJS Notebook registers the wljs-message URL protocol, allowing you to open published notebooks directly from web pages.

Windows Installation

Use the .exe installer from the releases page.

GNU/Linux Installation

Using deb Package

sudo apt install ./wljs-notebook.deb

For Ubuntu 24.04, disable AppArmor restrictions:

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

Running on a server

Clone this repository

git clone https://github.com/JerryI/wolfram-js-frontend
cd wolfram-js-frontend
wolframscript -f Scripts/start.wls

Docker Image

contributed by @yloose

See instructions here

docker run -it \
  -v wljs_data:/wljs \
  -v ~/wljs:"/home/wljs/WLJS Notebooks" \
  -v ~/wljs/Licensing:/home/wljs/.WolframEngine/Licensing \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -p 8000:3000 \
  --name wljs \
  ghcr.io/jerryi/wolfram-js-frontend:main

Then open http://127.0.0.1:8000

Technology Stack

Languages: Wolfram Language, HTML, CSS, JavaScript, C

License

GNU GPLv3