Writing a notebook is not just about writing the final document — Pluto empowers the experiments and discoveries that are essential to getting there.
Explore models and share results in a notebook that is
- reactive - when changing a function or variable, Pluto automatically updates all affected cells.
- lightweight - Pluto is written in pure Julia and is easy to install.
- simple - no hidden workspace state; intuitive UI.
A Pluto notebook is made up of small blocks of Julia code (cells) and together they form a reactive notebook. When you change a variable, Pluto automatically re-runs the cells that refer to it. Cells can even be placed in arbitrary order - intelligent syntax analysis figures out the dependencies between them and takes care of execution.
Cells can contain arbitrary Julia code, and you can use external libraries. There are no code rewrites or wrappers, Pluto just looks at your code once before evaluation.
Your notebooks are saved as pure Julia files (sample), which you can then import as if you had been programming in a regular editor all along. You can also export your notebook with cell outputs as attractive HTML and PDF documents. By reordering cells and hiding code, you have full control over how you tell your story.
Pluto offers an environment where changed code takes effect instantly and where deleted code leaves no trace. Unlike Jupyter or Matlab, there is no mutable workspace, but rather, an important guarantee:
At any instant, the program state is completely described by the code you see.No hidden state, no hidden bugs.