Skip to main content

Open-Source Notebook Interface for Wolfram Language

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

WLJS Notebook

is a lightweight alternative to Mathematica built using open-source tools and the freeware Wolfram Engine aimed on the high-performance dynamics and deep integration with web technologies


πŸš€ What is WLJS Notebook?​

WLJS Notebook is an interactive computing platform, web-based environment for running Wolfram Language (WL) scripts using the freeware Wolfram Engine. No Mathematica installation is requiredβ€”just register once at wolfram.com for personal use. The notebook combines live code in WL, JS, Mermaid and many more, GUI blocks for user input, equations, narrative text, visualizations, interactiveΒ widgets

  • Write reproducible notebooks with no external dependencies
  • Publish interactive notebooks online or give to a college on a thumb-drive
  • Blazingly fast dynamic, realtime 2D/3D graphics and sound output
  • Hackable rich sandbox with 5+ cell types
  • Open-source frontend written in Vanilla JS and Wolfram Language
  • Develop interactive widgets & small apps for your sci-tools collection

Cross-Platform Desktop App​

πŸ’Ύ Download WLJS Notebook

πŸ’» Available for Windows, macOS, and Linux
πŸš€ Comes with an auto-updater


πŸ–– Why Use WLJS Notebook?​

Interactive & Powerful​

WLJS Notebook is optimized for interactive computing and is friendly for mathematicians, physicists and anyone else, who likes to write equations

ManipulatePlot[{
  (*TB[*)Sum[(*|*)(*FB[*)((Sin[2Ο€(2j - 1) x])(*,*)/(*,*)(2j-1))(*]FB*)(*|*), {(*|*)j(*|*),(*|*)1.0(*|*),(*|*)n(*|*)}](*|*)(*1:eJxTTMoPSmNiYGAoZgMSwaW5TvkVmYwgPguQCCkqTQUAeAcHBQ==*)(*]TB*),
  (*TB[*)Sum[(*|*)(*FB[*)((Cos[2Ο€(2j - 1) x])(*,*)/(*,*)(2j-1))(*]FB*)(*|*), {(*|*)j(*|*),(*|*)1.0(*|*),(*|*)n(*|*)}](*|*)(*1:eJxTTMoPSmNiYGAoZgMSwaW5TvkVmYwgPguQCCkqTQUAeAcHBQ==*)(*]TB*)
  
}, {x, -1,1}, {{n,4}, 1,7, 1}]
(*GB[*){{(*VB[*)(FrontEndRef["9f6389d2-fd17-40da-92d3-08113e9bf0ff"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW6aZGVtYphjppqUYmuuaGKQk6loapRjrGlgYGhqnWialGaSlAQCAvxWu"*)(*]VB*)(*|*),(*|*)(*VB[*)(EventObject[<|"Id" -> "58c0627b-34f6-42af-948d-9091f5347a10", "Initial" -> {4}, "View" -> "74516ccf-fb83-47b8-88ce-5328891d77a9"|>])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKm5uYGpolJ6fppiVZGOuamCdZ6FpYJKfqmhobWVhYGqaYmydaAgCCjhVm"*)(*]VB*)}}(*]GB*)

Try to drag a slider

Driven by real-world problem solving​

Developed through the collaboration of physicists and programmers at University of Augsburg πŸ‡©πŸ‡ͺ, it is continuously refined in a feedback loop by solving problems βš—οΈ in science, math, and education.

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

And most common narrative tools are included

My first report​

Here is a regular paragraph, which can be styled.

note

LaTeX\\LaTeX is also supported


πŸ“₯ Installation Guide​

Visit our releases page πŸ’Ύ

Windows​

  • Download and install the latest .exe from the Releases.

Linux​

sudo apt install ./wljs-notebook.deb

⚠ Ubuntu 24.04 users: If you encounter AppArmor issues, run:

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
Using .zip Archive​

Extract and run the wljs-notebook executable.

macOS​

Using .dmg Installer​
  • Apple Silicon users: Download the -arm64.dmg version.
  • Intel Mac users: Use the regular .dmg version.
Using Homebrew​
brew install --cask wljs-notebook

🚒 Running using Docker​

Deploy WLJS Notebook in a single line of code to any machine!

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

πŸ› οΈ GitHub Repo
πŸ“¦ Docker Container Setup

In the case if you do not have docker, clone it directly from the repository as follows.

warning

Some features require WLJS Desktop App:

  • Export[_, _, "PDF"] - export to PDF
  • Rasterize - expressions rasterization
  • SystemOpen - open files/folders using OS system calls
  • SystemInputDialog - open system file dialog
  • automatic core updates

βš™οΈ Running WLJS Notebook as a Local Server​

You can run WLJS Notebook without a desktop appβ€”just using wolframscript.

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

For a specific hostname and port setup:

wolframscript -f Scripts/start.wls host 0.0.0.0 http 8080 ws 8081 ws2 8082 docs 8085

Additional options:

wolframscript -f Scripts/start.wls folder "Demos"  # Set home folder
wolframscript -f Scripts/start.wls noautolaunch True # Disable autolaunch

WLJS Notebook has been featured in various tech communities:

πŸ“– Read more on our Blog


βš–οΈ Licensing​

WLJS Notebooks (including all extensions, frontend and backend) is licensed under GPLv3 πŸ‘©πŸΌβ€βš–οΈ The algorithms, functions, and other components of Wolfram Language provided by the Wolfram Engine are the intellectual property of Wolfram Research, Inc. See the license agreement for details.