JupyterLab Desktop

Building eurAIka for Windows

February 06, 2025 · John Peach

Imagine having an AI-powered research assistant that can help you map concepts, discover relevant papers, generate summaries, and translate your ideas into working code. That’s the vision behind eurAIka, and while we’re building the complete platform, you can already assemble many of its capabilities using freely available tools. This guide will show you how to create your version of eurAIka’s three key modules: The Whiteboard for visual concept mapping, The Librarian for managing research literature, and The Coder for turning ideas into computational results.

In the right combination, many of these tools approach the goals of eurAIka, our AI-powered research platform. The purpose of eurAIka is to have three key modules using these components:

eurAIka

JupyterLab Desktop is only one of the many pieces needed to construct eurAIka. The software we’ll discuss here includes:

You’ll have your favorite tools, but let’s see how these pieces fit together.

Zettlr

Zettlr is the Whiteboard for eurAIka letting you write your notes or documents in Markdown format, including code and equations with KaTeX. It has Pandoc built in so you can export to any desired format such as HTML, PDF, LaTeX, or others. As you write you’ll want to include references, and Zettlr makes it easy with its built-in citation manager and connection to a reference manager such as Zotero or JabRef. Check spelling, grammar, and style with LanguageTool, and format your document with custom templates called Snippets. When you’re ready to submit your paper to a journal, you can create a workflow that will format it according to the journal’s standards. To get started, go to the Setup page to see how to download and install Zettlr.

Zen Browser

Any browser will work for your online research, but you might want to look at Zen, a minimalist Firefox-based browser. The documentation page explains how to create Profiles for each browsing session with unique cookies, accounts, settings, and history, a Zen Web Panel for your favorite web apps—like chats, notes, or to-do lists—right into your browser window for quick, side-by-side multitasking, or Workspaces to organize tabs and projects. If you want to browse two pages at once, try the Split View feature.

Zen split screen
Figure 1.

The Zen browser.

If you use Zotero for your reference manager, install the Zotero Connector for Firefox extension to add items to Zotero with the click of a button. A handy utility is the start.me browser organizer to keep your favorite links on your home page. I set up a start page with links for literature search, AI assistance, references, useful pages for Wild Peaches, and favorite online math utilities.

Start.me
Figure 2.

The Start.me landing page.

JupyterLab Desktop

JupyterLab Desktop is a standalone application for notebook-style computations that mix Markdown text with integrated language kernels allowing you to select the most appropriate computational tool for your project. JupyterLab was originally intended to run in a browser, but I find it convenient to have a separate window for the Zen browser to conduct literature searches while keeping The Coder open. For simple computations, a notebook-type environment can be useful, especially when you include detailed explanations in Markdown cells. Think of JupyterLab as a very powerful calculator, rather than a programming environment.

Download and install JupyterLab Desktop and be sure to check out the Jupyter Blog to stay up-to-date with the project. Select any language kernels (alternate list here) that you want to use in your Jupyter Notebook. To see which kernels are installed, open a command window and type jupyter kernelspec list, and if you want to remove any of them use jupyter kernelspec remove <full name of kernel>. If JupyterLab is open the Launcher window will immediately reflect the changes.

For each language, I’ll explain how to install the kernel. In general, follow the links on the language kernels page to find detailed instructions.

Julia

The Julia Project as a whole is about bringing usable, scalable technical computing to a greater audience: allowing scientists and researchers to use computation more rapidly and effectively; letting businesses do harder and more interesting analyses more easily and cheaply.

Download the latest version and install it. On Windows, if you use WinGet it will also install Juliaup which lets you select the version of your choice or you can get the latest using juliaup update. To complete the installation, open a new command window and type julia, which will check for the latest version, and then start Julia. In the Julia terminal, type ] to launch the package manager and then enter add IJulia to install the required packages. This will automatically create a new button in the JupyterLab Launcher window with the latest version of Julia.

Lean Theorem Prover

Lean is a functional programming language that makes it easy to write correct and maintainable code. You can also use Lean as an interactive theorem prover.

Steps to install lean4_jupyter

Octave

GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.

Install Octave and run mamba install octave_kernel in Miniforge. Check that the Octave kernel exists using jupyter kernelspec list, and then install the kernel with

python -m octave\_kernel install

Some kernels have been developed using Xeus, e.g. Xeus-Octave. Xeus is not itself a kernel, but a framework to help build new kernels for Jupyter. You’ll need to install Miniforge, and then run

mamba install xeus-zmq -c conda-forge

An alternate version of Octave for Jupyter is available using the xeus-octave package, but it isn’t available for Windows.

Python

JupyterLab comes with Python, so you will have it by default.

R

R is a language and environment for statistical computing and graphics. Install R from one of the CRAN mirrors, and optionally install RStudio, and IDE for R built by Posit. Follow the instructions for getting and installing the IRkernel package to connect R and Jupyter.

Wolfram Language (Mathematica)

Wolfram Language is a symbolic language, deliberately designed with the breadth and unity needed to develop powerful programs quickly. By integrating high-level forms—like ImageGeoPolygon, or Molecule—along with advanced superfunctions—such as ImageIdentify or ApplyReaction—Wolfram Language makes it possible to quickly express complex ideas in computational form.

The Wolfram Engine is free for personal projects and runs in Jupyter. There are some limitations with graphics, but Wolfram Language is a complete Mathematica implementation, so any mathematics that you might do in one is available in the other. The steps to get Wolfram Language running in Jupyter are:

Details are available here: Using Wolfram Language in Jupyter: A free alternative to Mathematica and in the Wolfram Language kernel for Jupyter notebooks.

If you want better graphics, install the Wolfram Language with Java Script (WLJS). The latest release is available from the Assets section. This method provides dynamic graphics and widgets but opens in a separate window. For convenience, I prefer having a single point of entry for everything in Jupyter.

After installing the software and appropriate kernels your JupyterLab Launcher should look something like this:

JupyterLab
Figure 3.

JupyterLab with launch icons for Python, iSetlX, Julia, Lean, Octave, R, and Wolfram Language.

ChatGPT and Claude Desktop

If you want to have separate windows for AI support, install the ChatGPT, Claude, or Poe desktop app. ChatGPT seems to be the most capable model, while Claude is often more conversational and capable of reviewing articles. Poe gives the option of a wide variety of models if you want to experiment, but you may be rate-limited.

When I write articles for Wild Peaches, I let Claude and ChatGPT act as editors before I publish them. The first step was to tell Claude that it is an editor for a STEM blog and it should create a checklist for reviewing any submitted articles. The checklist Claude generated has fifteen items beginning with:

  1. Problem Definition:

    • Is the problem or topic clearly stated?
    • Are the scope and context of the problem well-defined?
    • Has the author explained why this problem is important or relevant?
  2. Technical Accuracy:

    • Are all facts, figures, and scientific concepts accurate and up-to-date?
    • Has the author cited reputable sources for key information?
    • Are mathematical equations and formulas correct and properly formatted?

When I’m ready for an article to be reviewed, I upload the editor checklist and the article and tell the AI to provide feedback based on the checklist. It’s often very good at finding minor errors and suggesting improved wording.

SciPress

SciPress is a new platform for publishing topics on science and technology, which is a perfect match for Wild Peaches. You can create an account and begin publishing for free immediately. Content is in Markdown making writing very easy, and you can edit your article any time, even after publication. Stuart Ritchie argues in The big idea: should we get rid of the scientific paper? that scientific publishing is a flawed process due to:

Publishing in SciPress or some other online site eliminates many of these issues. The best argument in favor of journal publication is the peer review process, even with all of its flaws. Still, your readers are the people who are genuinely interested in the topic, and you can set up a feedback mechanism for questions and suggestions. The document is no longer static and can be updated and revised at any time. As AI systems improve, they may be able to take over much of the peer review process.

Microsoft Power Toys

For Windows users, Microsoft Power Toys can be a useful utility for the eurAIka platform. Some features that you might find useful are:

For MacOS Alfred may be an alternate to Power Toys.

Next Steps

These tools should enable you to build your version of eurAIka, but there may be value in extending capability with hotkey control of some processes using AutoHotKey or a similar tool. For example, Zettlr doesn’t have plugin support, but some of this might be built with AutoHotKey. An alternate to Zettlr is Obsidian which we used for the first version of eurAIka. Obsidian has thousands of plugins and is customizable, but is not open-source. There is a free version for personal use but costs $50/year for commercial use.

To bring eurAIka a step closer to the original vision, we might consider Langchain to apply enhanced AI methods to interact with tools such as Lean and Wolfram Language. Development tools for an AI Langflow application might include LangSmith, “an all-in-one developer platform for every step of the LLM-powered application lifecycle, whether you’re building with LangChain or not”, LangGraph to “design agents that reliably handle complex tasks”, or LangFlow “a low-code tool for developers that makes it easier to build powerful AI agents and workflows that can use any API, model, or database”. All three have free tiers for hobbyists and experimenters.

Code for this article

Visual Studio Code (VSCode) is an integrated development environment (IDE) for writing programs in many popular computer languages. VSCodium is an open-source fork of VSCode with the Microsoft telemetry disabled. To install extensions look at the vertical icon bar on the left side for the Extensions icon. It’s the one with four small squares with the upper right one separated from the other three. Click on that to open the Extensions Manager.

At the top, enter the name of the kernel you want to install, e.g. Julia - Julia Language Support. A new tab will open with instructions for installing the extension, which usually only requires clicking on the “Install” button. Follow any additional instructions on the page, and then start the kernel by clicking View \rightarrow Command Palette, or Ctrl+Shift+P. For Julia, you can either type “Julia” or click Julia: Start REPL.

In many cases, there will be several options for the kernel. For example, there are eight choices for the Wolfram Language in VSCode. Choose whichever one you like, but consider the number of installations and the rating. If you don’t like one, you can quickly uninstall it and try another. VSCode generally has more options than VSCodium because the Visual Studio Marketplace is supported by Microsoft for VSCode, but not for VSCodium.

Software

References and further reading

Image credits