Cauldron is called the unnotebook because it
differs from traditional notebooks two key ways:
Cauldron notebooks are made up of multiple files
Notebooks were first developed at a time when sharing code was cumbersome.
The single-file format made it easier send code.
But today code-hosting services like
are the much better solution. The single-file format has now become the
cumbersome way to share code because they don't play nicely with these code
hosting services in a number of ways. Collaboration results in unnecessary
merge conflicts. Code can't be easily reviewed by peers. And extra display
data is stored in every commit whether you want it or not.
Cauldron notebooks are folders that contain multiple project files instead of
storing everything in one file. A typical notebook would look something like:
is the folder for all of the notebook's files
stores all of the notebook's settings
locally stored data and other files reside in the notebook folder
for easy access
S01-Preamble.md, S02-Load-Data.py & S03-Plot-Data.py
Each notebook cell is stored in its own file
Display data is also stored in separate files. They can be saved, or
not, when and where you choose to avoid polluting the version control system
with meaningless updates caused by re-running unmodified steps.
Editing and Display Separation
Cauldron separates authoring from display and lets you use the code editor
of your choice
Cauldron has no code editing capabilities of its own. There is absolutely no
reason to reinvent the wheel with so many fantastic code editors with
productivity features that far exceed anything available in notebooks. The
process of developing an analysis in Cauldron works like this:
in the code editor of your choice
in Cauldron and see the results in the display
iterating and expanding on on the analysis like all notebooks like
any other notebook until you're finished