Installing Polynote
Warning!
Polynote is a web-based programming notebook tool. Like other notebook tools, a large part of its usefulness relies on arbitrary remote code execution.
It currently contains no built-in security or authentication of its own, and relies entirely on the user deploying and configuring it in a secure way.
Polynote should only be deployed on a secure server which has its own security and authentication mechanisms which prevent all unauthorized network access.
You are solely responsible for any damage or other loss that occurs as a result of running Polynote.
Download
Polynote consists of a JVM-based server application, which serves a web-based client. To try it locally, find the latest
release on the releases page and download the attached
polynote-dist.tar.gz file (you’ll find it under Assets). Unpack the archive:
tar -zxvpf polynote-dist.tar.gz
cd polynote
Prerequisites
- 
    
Polynote is currently only tested on Linux and MacOS, using the Chrome browser as a client. We hope to be testing other platforms and browsers soon. Feel free to try it on your platform, and be sure to let us know about any issues you encounter by filing a bug report.
Windows: Some users have reported that Polynote runs successfully on Windows Subsystem for Linux. Please see these issues for more information: #555, #671.
Polynote has been successfully tested on both Java 8 and Java 11.
 - Spark support: In order to use Spark with kernel isolation, you’ll need to install Apache Spark™.
If you’ll be using Spark with Polynote, please make sure you read this note about Spark and Polynote for more information.
    
- Polynote will use the 
spark-submitcommand in order to start isolated kernels, so it needs thespark-submitcommand to be working properly and available on thePATHof the environment you used to launch the server.- On a Mac with Homebrew, you can install Spark locally with 
brew install apache-spark. - On Linux, untar Spark wherever you like and configure your environment to have 
SPARK_HOMEpointing to the Spark location. Then add$SPARK_HOME/binto yourPATH. You’ll also need a JDK installed andJAVA_HOMEproperly configured. Here is an example setup for Polynote on Debian. Note that distributions differ, so you may need to modify these instructions for your local setup.- Start with an 
apt-get update - Install Java (this installs Java 11 for me on Debian buster): 
apt-get install default-jdk - download polynote, 
tar -zxvpf polynote-dist.tar.gz - download spark, 
tar -zxvf spark-2.4.4-bin-hadoop2.7.tgz - Set 
JAVA_HOME:export JAVA_HOME=/usr/lib/jvm/default-java/ - Set 
SPARK_HOME:export SPARK_HOME=`pwd`/spark-2.4.4-bin-hadoop2.7/ - Set 
PATH:export PATH="$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin" - Check if Spark is correctly set up by running 
spark-submit, you should see usage information. - Do the Python setup as described below. You might need to install 
build-essentialif jep installation fails. - Run Polynote!
 
 - Start with an 
 
 - On a Mac with Homebrew, you can install Spark locally with 
 
 - Polynote will use the 
 - 
    
Python support: In order to execute Python code, you’ll need to have Python 3 and pip3 installed. Refer to Python’s installation instructions for instructions on installing these packages.
You’ll also need to install Polynote’s Python dependencies:
pip3 install -r ./requirements.txt 
Configure
To change any of the default configuration, you’ll need to copy the included config-template.yml
file to config.yml, and uncomment the sections you’d like to change. Check out the template itself for more information.
Run
To start the server, run the included python script:
./polynote.py
Next
Once the server has started, navigate your browser to http://localhost:8192 (if using the default network configuration).
Next, read about basic usage