Polynote is written in a combination of Python and Scala (for the backend) and Typescript (for the frontend ui). You will need the development tools outlined under Dependencies prior to attempting to build from source. Alternatively, you can use the development docker image.
- JDK 8
- SBT
- Node.js 13+
- Python 3.7
- Build the frontend
cd polynote-frontend
npm install
npm run dist
- Build the distribution
sbt dist
cd target/dist/polynote
./polynote.py
To run your app using IntelliJ, navigate to Run -> Edit Configuration
and create a new application configuration
performing the following steps:
- Under
Name
, enterpolynote.Main
. - Select
Modify Options
-> SelectAdd VM Options
andAdd depdendencies with provided scope to classpath
- Select
Build and Run
-> Selectcp-spark
- Under
VM Options
, enter-Djava.library.path=<path-to-jep>
- Ex:
-Djava.library.path=/opt/homebrew/lib/python3.9/site-packages/jep
- Ex:
- Under 'Main Class', enter
polynote.Main
- Under
Program Arguments
, enter--watch
Occasionally, IntelliJ will not play nicely with your run configuration. Below is a list of common issues we've noticed - please submit an issue if you encounter any other problems.
- None of my local notebooks load/none of the cells load
- This is an issue with your local build. To fix it, go to
Build -> Rebuild Project
in IntelliJ.
- This is an issue with your local build. To fix it, go to
- Polynote crashes with a Fiber issue at runtime.
- This is most likely because IntelliJ sometimes creates its own run configuration depending on how you launch your
application. To fix this, go to
Run
in your bottom bar and selectModify Run Configuration
and apply the above settings.
- This is most likely because IntelliJ sometimes creates its own run configuration depending on how you launch your
application. To fix this, go to