MyST & Thebe: Community-driven tools for awesome open science communication with Jupyter[lite] backed computation
08-17, 14:05–14:35 (Europe/Zurich), HS 120

Imagine a world where there are tools allowing any researcher to easily produce high quality scientific websites. Where it's trivial to include rich interactive figures that connect to Jupyter servers or run in-browser with WASM & pyodide, all from a local folder of markdown files and Jupyter notebooks.

We introduce MyST Markdown (https://mystmd.org/), a set of open-source, community-driven tools designed for open scientific communication.

It's a powerful authoring framework that supports blogs, online books, scientific papers, preprints, reports and journals articles. It includes thebe a minimal connector library for Jupyter, and thebe-lite that bundles a JupyterLite server with pyodide into any web page for in-browser python. It also provides publication-ready tex and pdf generation from the same content base, minimising the rework of publishing to the web and traditional services.


The MyST (Markedly Structured Text) project grew out of the ExecutableBooks team, developers of MyST Markdown and JupyterBook. Originally based on Sphinx and RST, over the past year the ExecutableBooks team has been working on a MyST Specification to coordinate development of the markup language and extensions across multiple languages & parsers (e.g. implementations in Python & Javascript).

The new javascript based MyST tools run directly in the browser, opening up new workflows for components to be used in web-based editors, directly in Jupyter and in JupyterLite. The libraries work with current MyST Markdown documents/projects and can export to LaTeX/PDF, Microsoft Word and JATS as well as multiple website templates using a modern React-based renderer. There are currently over 400 scientific journals that are supported through templates, with new LaTeX templates that can be added easily (using Jinja-based templating) and contributed via an open community repository (https://github.com/myst-templates).

Thebe lets you easily add interactive visualisations, reproducible figures and interactive code editors to any to static HTML web page -- backed by a kernel from a Jupyter server or an in-browser WASM kernel with thebe-lite.

It’s a compact and versatile library that makes it easy to add Jupyter based interactivity, by default code blocks are turned into editors and made ready for execution, just by adding a couple of additional script tags. thebe enables the flexible interleaving of Jupyter cells and output areas with other content (e.g. from myst markdown files), maintaining the ability to run the underlying notebooks or individual code cells.

Over the last year, thebe has seen major upgrades allowing it to be integrated into modern web frameworks and it have been integrated tightly with MyST's web themes, making it easy to add computation into any MyST based online article or publication. Now creating and deploying an interactive ipywidgets based figure as part of an online paper can be achieved in minutes.

And while we've seen interactive figures in web based scientific papers before, the MyST toolchain democratizes their creation and makes it easy for any researcher to publish publication-quality web-based articles from their desktop (or from CI) that the large online journals would need a post-production web development teams to help deliver. MyST's architecture also allows for multiple researchers to contribute to lab websites and computational journals.

In our presentation we will give an overview of the MyST ecosystem, how to use MyST tools in conjunction with existing Jupyter Notebooks, markdown documents, and JupyterBooks to create interactive websites, books, blogs and scientific articles as well as professional PDFs. We give special attention to the additions around structured data, standards in publishing (e.g. efforts in representing Notebooks as JATS XML), rich frontmatter, bringing cross-references and persistent IDs to life with interactive hover-tooltips and making connections to Jupyter based and in-browser python kernels to run interactive figures through the additional of a few simple configuration options. We'll share some compelling examples of online papers and journals published with MyST.

Our presentation is aimed at attendees who are looking to incorporate Jupyter Notebooks with other materials in new and novel ways - to create compelling scientific communication materials whether in the form of books, blogs or articles, for education or research. The talk will cover how and where thebe can be applied effectively, as well as going into some different configurations. Some knowledge of basic web development with HTML, will be beneficial for walk-through element of the talk as we'll cover some code and configuration, but we aim for the talk to be accessible by anyone interested in putting interactive scientific communication on the web, whether they develop themselves or not.


Abstract as a tweet

Transform your science communication with MyST! Create interactive computational scientific websites, blogs, preprints & articles with an open-source, community-driven toolset. Dive in: https://mystmd.org/

Category [Community, Education, and Outreach]

Other

Expected audience expertise: Domain

some

Expected audience expertise: Python

some

Public link to supporting material

https://myst-tools.org

Project Homepage / Git

https://github.com/executablebooks

See also: Examples of publications in MyST (1.1 MB)

I am a scientific software developer, data scientist/researcher and software product developer rolled into one. A team member of the Executable Books project where I work on thebe and CTO and co-founder of Curvenote where we are building tools and infrastructure for [much] better scientific communication and publishing.

An (electronic) engineer by background (Newcastle University, UK), I specialized in signal processing, computer vision, data science and machine learning and spent 20+ years helping both research and industry scientists (a lot of earth and geoscientists, but also data scientists in healthcare, finance, manufacturing, even dentists) build software to solve highly technical and scientific problems. I build apps that worked with huge datasets, 3d visualization and GPU-based HPC for server, desktops and the web.

Now I'm applying all of my time and experience to building software that can help change how we communicate, re-use and build on scientific work for a better future.

Rowan is on the Executable Books team where he develops MyST Markdown (https://myst-tools.org) in the context of scientific writing. Rowan is also the CEO and cofounder of Curvenote, which is an interactive, online writing platform for science, engineering & research teams, with dedicated integrations to Jupyter. Rowan has a Ph.D. in computational geophysics from the University of British Columbia (UBC). While at UBC, Rowan helped start SimPEG, a large-scale simulation and parameter estimation package for geophysical processes (electromagnetics, fluid-flow, gravity, etc.), which is used in industry, national labs, and universities globally. He has won multiple awards for innovative dissemination of research and open-educational resources, including a geoscience modelling application, Visible Geology, that has been used by more than a million geoscience students to interactively explore conceptual geologic models.