• Stars
    star
    983
  • Rank 46,580 (Top 1.0 %)
  • Language Mathematica
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Wolfram Language kernel for Jupyter notebooks

Wolfram Language kernel for Jupyter notebooks

Jupyter provides a protocol (ZMQ) to connect their notebooks to various languages. This project defines a Wolfram Language kernel which can be used in Jupyter notebooks.

Prerequisites

On your machine, you will need:

  • Jupyter
  • Wolfram Engine, i.e., a Wolfram Desktop or Mathematica installation
  • Optional, but recommended: wolframscript

Installation

There are two ways to make the Wolfram Language available in Jupyter:

  • Using the wolframscript command line script interpreter
  • Using Wolfram Language commands from the WolframLanguageForJupyter paclet.

Method 1: Using wolframscript

On macOS/Unix: Clone the repository

git clone https://github.com/WolframResearch/WolframLanguageForJupyter.git

Run the following command in your shell to make the Wolfram Language engine available to Jupyter:

./configure-jupyter.wls add

On Windows: Follow the fist two steps here, and on the the third step select Download Zip, and unzip the file using a tool for Windows. Open PowerShell in the directory of the unzipped folder

Run the following command in your shell to make the Wolfram Language engine available to Jupyter:

.\configure-jupyter.wls add

Notes:

  • If the location of the Wolfram Engine changes, you will have to run configure-jupyter.wls again.

  • configure-jupyter.wls gives an error if the Wolfram Engine could not be added.

For more configuration options run:

./configure-jupyter.wls help

Method 2: Using Wolfram Language

You can download the latest version of the paclet here:

https://github.com/WolframResearch/WolframLanguageForJupyter/releases

To install the paclet, run the following command with Wolfram Language (replacing x, y, and z with the correct values):

PacletInstall["WolframLanguageForJupyter-x.y.z.paclet"]

To load the paclet, run:

Needs["WolframLanguageForJupyter`"]

To add the Wolfram Language to Jupyter, run:

ConfigureJupyter["Add"]

To specify a specific Jupyter binary, run:

ConfigureJupyter["Add", "JupyterInstallation" -> "..."]

To specify a specific Wolfram Engine binary, run:

ConfigureJupyter["Add", "WolframEngineBinary" -> "..." ]

Please note, however, that the value for the "WolframEngineBinary" option should not be a wolframscript path.

Testing your installation

The following command should now list the Wolfram Engine:

jupyter kernelspec list

The output should include a line like this:

wolframlanguage12    C:\ProgramData\jupyter\kernels\wolframlanguage12

To test your installation in a notebook, run the following command:

jupyter notebook

Then select Wolfram Language from the drop down menu:

menu

After the In[] prompt you can now type a Wolfram Language command (use shift-enter to evaluate):

in-out-1

Outputs are either strings, for simple textual results, or images, for graphics and typeset results:

in-out-2

Any messages that occur during evaluation are displayed:

in-out-3

To test your installation in the terminal, run the following command:

jupyter-console --kernel=wolframlanguage12

Building the WolframLanguageForJupyter paclet

To build the WolframLanguageForJupyter paclet file yourself, run:

./configure-jupyter.wls build

This creates the WolframLanguageForJupyter-x.y.z.paclet file (use the PacletInfo.m to increment the version).

Removing your installation

Method 1: Using wolframscript

Run the following command to remove the Wolfram Language engine from Jupyter:

./configure-jupyter.wls remove

Method 2: Using Wolfram Language

Run the following command:

ConfigureJupyter["Remove"]

Links

More Repositories

1

Arrival-Movie-Live-Coding

Documents from a live coding session by Christopher Wolfram related to content from the 2016 film Arrival
Mathematica
940
star
2

WolframClientForPython

Call Wolfram Language functions from Python
Python
426
star
3

codeparser

Parse Wolfram Language source code as abstract syntax trees (ASTs) or concrete syntax trees (CSTs)
Rust
117
star
4

GitLink

Git integration for the Wolfram Language
C++
112
star
5

vscode-wolfram

Official Visual Studio Code extension for Wolfram Language
CMake
96
star
6

WolframWebEngineForPython

Integrates the Wolfram Language seamlessly with Python AIOHTTP
Python
88
star
7

Chatbook

Wolfram Notebooks + LLMs
Mathematica
78
star
8

codeinspector

Find and report problems in Wolfram Language code
Mathematica
63
star
9

wolfram-notebook-embedder

JavaScript embedder for Wolfram Cloud notebooks
JavaScript
56
star
10

FEMAddOns

Finite Element Method addons for Wolfram Language
Mathematica
52
star
11

wolfram-library-link-rs

Safe, efficient, and ergonomic bindings to Wolfram LibraryLink and the Wolfram Language
Rust
47
star
12

LSPServer

LSPServer is a package that implements the Language Server Protocol for Wolfram Language and allows a Wolfram Language kernel to run as an LSP server.
Mathematica
45
star
13

codeformatter

Format Wolfram Language source code
Mathematica
44
star
14

LibraryLinkUtilities

C++ wrappers for conveniently wrapping Wolfram LibraryLink code.
C++
33
star
15

draw

Vector drawing program with the Wolfram Language
Mathematica
33
star
16

OpenCascadeLink

Open source package for OpenCascadeLink, which is bundled with Wolfram Language products as of version 12.1
C++
31
star
17

RhinoLink

Wolfram Language interface to Rhino3D
C#
25
star
18

AWSLambda-WolframLanguage

Wolfram Language container image runtime for AWS Lambda
Mathematica
25
star
19

WL-FunctionCompile-CI-Template

Compile Wolfram Language functions using GitHub Actions continuous integration
Mathematica
23
star
20

GurobiLink

Wolfram Language interface to the Gurobi numerical optimization library
C++
23
star
21

WAS-Kubernetes

Shell
20
star
22

Sublime-WolframLanguage

Official Sublime Text package for Wolfram Language
Python
20
star
23

GitLink-Talk

Talk introducing GitLink given at the 2015 Wolfram Technology Conference
Mathematica
20
star
24

DistMesh

Mathematica
19
star
25

wstp-rs

Rust bindings to the Wolfram Symbolic Transport Protocol (WSTP)
Rust
18
star
26

CSSTools

A package for importing CSS files into the Wolfram Language
Mathematica
17
star
27

MongoLink

MongoLink is a package for interacting with MongoDB inside the Wolfram Language.
Mathematica
17
star
28

wolfram-expr-rs

Representing Wolfram Language expressions in Rust.
Rust
14
star
29

semantic-math

Mathematica
13
star
30

PacletCICD

Continuous integration and deployment for Wolfram Language Paclets
Mathematica
13
star
31

BioFormatsLink

Package for interacting with Bio-Formats library in the Wolfram Language
Mathematica
13
star
32

wolfram-app-discovery-rs

Locate local installations of the Wolfram Language.
Rust
12
star
33

Data-Curation-Training

Mathematica
12
star
34

build-paclet

Shell
4
star
35

check-paclet

Shell
3
star
36

wolframresearch.github.io

HTML
3
star
37

submit-paclet

Shell
3
star
38

sync-promise-js

TypeScript
2
star
39

test-paclet

Shell
2
star
40

PacletCICD-Examples-AdvancedSample

Mathematica
2
star
41

loggers-js

TypeScript
1
star
42

PacletCICD-Examples-FewIssues

Mathematica
1
star
43

PacletCICD-Examples-MoreIssues

Mathematica
1
star
44

PacletCICD-Examples-CompiledLibrary

Mathematica
1
star
45

reback-js

TypeScript
1
star
46

PacletCICD-Examples-Sample

Mathematica
1
star