Welcome, and development news / roadmap (July 2026)

1 view
Skip to first unread message

Luca de Alfaro

unread,
Jul 24, 2026, 1:41:39 PMJul 24
to Plainbook
Dear All, 

welcome to the Plainbook mailing list. 

As a reminder, this is a _public_ mailing list: anyone can read the messages, and anyone can ask to join.  The purpose of the list is to help coordinate Plainbook development. 

Here are some news: 

Released snapshot-kernel 0.2.0
This version of the snapshot kernel contains additional methods that are used to avoid unnecessary code regeneration and re-execution.  This is now released and available on pypi. 

Release candidate Plainbook 0.3.0 is available from branch main. 
The new code is in branch main (and develop) but not yet released on pypi.  It depends on snapshot-kernel 0.2.0, so you need to update snapshot-kernel before you can use this.
I would very much welcome help testing this; I plan to release on pypi in a couple of days.  The main changes are: 
  • We now regenerate code only when either (a) the description of a cell changes, or (b) the hashes of some variable values read by the code change.  Hence, we use variable values as a proxy for variable semantics.  This avoids unnecessary code regeneration and greatly speeds up notebook usage. 
  • We now re-execute code only when either (a) the code has changed, or (b) some of the values it reads are changed.  Well it's slightly more complicated than this, as we do a provably-correct alias analysis, but let's not get into that here. 
There are several other code changes associated with this.  But this means that now Plainbook does not only enforce a linear semantics, but it is also now efficient in both code generation and code re-execution, inspired by Marimo! 

Please help test this, and let's have this in before we put in the other changes (see below). 

Upcoming contributions

The following changes / PRs will be incoming, once the above is tested: 
  • Ability to amend descriptions (Dhyan)
  • Clarifying questions for descriptions (Dhyan)
  • Button reorganization (Luca)
  • Ability to upload and convert Jupyter notebooks (Dhyan)
  • Explain code in cell (Uchechi)
Technical details

We keep hashes of explanations, generated code, and variable values, to help us drive the efficient code re-generation and re-execution.  So please have a look at how this changed, for the above contributions.  For example, when a description is amended, we need to update its hash.  Claude should be able to pick up on this. 

Also note that I made a place in the settings where we can put, well, settings.  For instance, now there's a toggle that controls code re-execution there.  If we need other settings toggles they can go there. 

Luca
Reply all
Reply to author
Forward
0 new messages