● Notebook repair, verified

Old ML notebook broke?
Revive fixes it, and proves the numbers didn’t change.

NumPy, pandas and scikit-learn keep removing things. Revive rewrites the broken code with NVIDIA Nemotron, re-runs every cell, and checks each result against the original.

Try a broken notebook 20/20 benchmark notebooks verified
Today
df = df.append(late_signups, ignore_index=True)
AttributeError: 'DataFrame' object has no attribute 'append'
Fix
df = df.append(late_signups, ignore_index=True)
df = pd.concat([df, late_signups], ignore_index=True)
Check
saved accuracy: 0.9406now accuracy: 0.9406matches
01 · Run

Find what broke

Runs the notebook on today’s libraries and stops at the first failing cell.

02 · Fix

Research and patch

Tavily finds the changelog; Nemotron writes the smallest fix that works.

03 · Verify

Prove it

Every output must match the original. No saved outputs? The Time Machine rebuilds the old environment to get them.

Try it on a broken notebook

Replays of real runs: instant, nothing to install.

How Revive checks a notebook with no outputs

The Time Machine

Many notebooks are shared without their outputs. Then nobody knows what the numbers should be, and a fix that quietly changes them looks fine.

  1. Dates itNemotron works out the Python and library versions the notebook was written for, from its code and when it was last changed.
  2. Rebuilds itRevive installs exactly that old setup, for example Python 3.10 with 2023’s scikit-learn.
  3. Runs the originalThe untouched notebook runs there. Its results become the answer key the fixed notebook has to match.

Notebook

failededitedmatchesnumbers changed

Pick a notebook above. Its cells appear here and change colour as Revive runs, fixes and checks them.

What Revive did

    Each step shows up here: the error, the web search, Nemotron’s fix, and the check.