Already Use Jupyter? Meet InkRider: Jupyter in Word
If you live in .ipynb files, InkRider is the missing step: same notebook habits, outputs anchored in Word, no nbconvert paste marathon.
You already speak Jupyter: cells, kernels, Shift+Enter, stdout and rich displays, .ipynb on disk, maybe Quarto when the narrative matters.
Your pain is probably not Python. It is the last mile. The memo, the client letter, the board pack, the contract. The place stakeholders actually read is Word, and the notebook is where you proved the number.
So you export, copy screenshots, run nbconvert, fight python-docx, or maintain a render script nobody on the deal team wants to touch. The notebook stays truth. The document drifts.
InkRider in One Sentence for Notebook People
InkRider is a Jupyter workspace inside Microsoft Word. Same cell model. Outputs can live in the document, not only in a side panel.
What Feels Familiar
.ipynbnotebooks` in a tabbed UI: Python, Markdown, raw, HTML cells; visual cell grid like JupyterLab.- Import your work: drag-drop notebooks into the virtual filesystem, paste
.ipynbJSON from the clipboard, optional run-after-import. - Kernels: JupyterLite in the browser (Pyodide, plus R and JavaScript), or connect your own Jupyter Server when you need real
pipand VPN data (Professional plan). .pyscripts and.qmdif you prefer a file-per-section layout.- Markdown with
{{ expression }}, same idea as inline narrative in Quarto, rendered and anchorable in Word.
If you have a report notebook already, you are closer than starting from zero.
What Is Different (and Worth It)
Anchors
In classic Jupyter, output sits in the notebook. In InkRider, you anchor a cell to a location in Word. Re-run the cell; that region updates. The link is stored in the .docx.
That is how you stop re-pasting the same table every quarter.
Mixed documents
Not every cell should own a paragraph. The cover letter stays typed. The cap table is anchored. Drift indicators tell you when someone edited anchored text by hand, so you do not clobber partner changes on the next run.
We wrote more on that philosophy in Not everything should be code. Jupyter users already think in "this cell is code, that markdown is prose." InkRider maps that to Word.
Execution Tool
Queue several notebooks, run top to bottom, refresh every anchor in the file. Closer to a Makefile than clicking through tabs one by one.
A Minimal Migration
- Open the Word template your org actually sends.
- Import last quarter's
.ipynb(or paste from clipboard). - Place the cursor in the doc; run the table cell; anchor it.
- Leave narrative sections as normal Word text.
- Next cycle: update the CSV that travels with the document, re-run the queue.
import pandas as pd
summary = pd.read_csv("/vfs/kpis.csv")
print(summary.loc[summary["metric"] == "revenue", "value"].iloc[0])
Anchor that output to the executive summary. Your colleagues still redline in Word. You still think in notebooks.
What InkRider Is Not
A replacement for Jupyter on a big cluster, or for exploratory analysis on a million-row dataset in a lab machine. It is for people whose notebook is the engine and Word is the deliverable.
If that is you, you do not need a new mental model. You need the runtime beside the file the client sees.
Try the interactive demo, or open a document you already maintain and import one of your notebooks. See if the paste step disappears.
Related Documentation
- Notebook Basics — cell model and first run in InkRider
- Cell Anchoring — outputs that update in Word
- Importing Notebooks and Files — bring existing
.ipynbwork in - Execution Tool — batch-run notebooks in a document