Giter Site home page Giter Site logo

chmod777john / wolfram-js-frontend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jerryi/wolfram-js-frontend

0.0 0.0 0.0 261.26 MB

Javascript frontend for freeware Wolfram Engine

Home Page: https://jerryi.github.io/wljs-docs/

License: GNU General Public License v3.0

JavaScript 36.56% CSS 27.91% Mathematica 35.24% HTML 0.18% Shell 0.11%

wolfram-js-frontend's Introduction

Open-source Notebook Interface for Wolfram Language

Cover-compressed

Made for scientists by scientists

Written for the freeware Wolfram Engine using JavaScript and WLX

Documentation & Tutorials

Telegram support chat

Recommended Wolfram Engine: 13.3 or higher

Special thanks to @KirillBelovTest (Wolfram Language HTTP Stack developer)

To help maintain this project:

Highlights

Not a typical Jupyter-like notebook environment

It supports dynamics, GUI building blocks, and powerful Mathematica syntax out of the box.

alt text

alt text

No more static graphics! Each primitive of Graphics/Graphics3D was recreated from scratch using d3.js and THREE.js libraries. Most native plotting functions of Mathematica are supported.

AI Assistant

We deeply integrated ChatGPT, so that AI can have a read/write acccess to your notebook

AAI

Command Palette and GUI-in-Code Emulation

Inline Dynamic Tool for Tuning 2D/3D Positions

ezgif com-optipng

Native Math Input in the Code Editor

Write beautiful equations between lines of normal Wolfram Language expressions.

Mathinput-ezgif com-optipng

Compress to HTML

An entire notebook can be exported to a standalone .html file keeping all data inside. No internet dependency, no additional software is required for viewing a notebook

HTML-ezgif com-optipng

Later, once opened using WLJS Notebook application, it is unpacked back to a normal editable format.

Data-Driven Slides

Make a presentation right from the notebook.

slides

Real-Time Interactivity

Follows the mouse pointer and performs complex calculations.

Many More

Autocomplete

JavaScript Cells and Integration with WL

HTML Cells

Markdown Cells

Mermaid Diagrams

Offline documentation ๐Ÿฉบ

WLJS Notebook runs locally and belongs to you (no cloud-based stuff involved). No internet connection is needed.

Motivation

The idea is to implement a minimalistic but easily extendable open-source notebook interface with syntax sugar, interactive objects for the freeware Wolfram Engine.

There is no aim to fully copy Mathematica (it will never be possible), however, there are a few things that can be improved:

  • Stability and speed
  • Independence from WRI
  • Portability (not PDF) - easy to share your work with someone outside the ecosystem keeping your graphics interactive or embedded on a website
  • Event-based approach to dynamics - allow users to build complex dynamic notebooks and to have clear control over all moving parts
  • Natural bridge between other languages - HTML as markup, WL for computations, and JS for stunning visuals

Cloud-based Quick Start

If you encounter difficulties installing Wolfram Engine locally or running this project on your machine, you can directly run it in the cloud as follows.

On this github webpage, press , to create a Codespace. After initialization, execute the following command.

# It will install the wolfram engine automatically
sudo ./engine_installer

# After the installation(it will take a while), you need to request an On-Demand License. Please refer to the specific steps at the following link: https://hub.docker.com/r/wolframresearch/wolframengine#activate-ondemand
# Finally you will get an entitlement ID
export WOLFRAMSCRIPT_ENTITLEMENTID=<Your entitlement ID>

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

Installation

The freeware Wolfram Engine is required (Version 13.3 is preferable).

Desktop App

Download from the releases section.

Standalone Server

Clone this repository and run:

wolframscript -f Scripts/start.wls

or on a specific hostname

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

that will open an HTTP server on 8080 port with 8081, 8082 used for realtime communication and docs pages at 8085

Package System

The frontend uses its own package/plugin system. It doesn't require any software installed except wolframscript. Precompiled plugins are downloaded using URLFetch from GitHub repositories and imported to the system.

Sponsors

@MitsuhaMiyamizu ๐Ÿค

Technology Stack

Wolfram Language, JavaScript

Inspired By

  • Wolfram Mathematica
  • Jupyter Notebook
  • Observable
  • Wolfram Language Notebook VSCode
  • Mathics

License

GNU GPLv3

wolfram-js-frontend's People

Contributors

jerryi avatar chmod777john avatar userrand avatar asukaminato0721 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.