Abstract¶
Explanations or analysis that start in a Jupyter Notebook are often required in other contexts - such as reports, presentations, papers, or tutorials. To create these other documents, Notebook content is duplicated using screenshots or copy/paste of text and images. Unfortunately, this copy/paste style of creating documents does not create links to the original notebook, and provides limited avenues for contribution from where that content is used downstream (e.g. improving explanations, fixing typos, etc.). Similarly, if an analysis or explanation is updated (e.g. a new figure), the reports or presentations that make use of that content must manually be made aware of those updates.
To link these downstream documents build-chains are required, which is often too onerous for presentations or reports, and requires context switching for any downstream contribution. For example, an “Edit on GitHub” button in documentation/books requires knowledge of Git, GitHub, and Markdown/RST, which remains a high bar for potential non-technical contributors.
In this presentation we introduce a tool, Curvenote, that allows you to sync content between Jupyter Notebooks and a web-based, collaborative document editor. This allows you to track cells and content between Jupyter Notebooks and edit that content directly in downstream documents - while maintaining attribution, version history, as well as making any updates available in the original notebook through a Jupyter Lab/Notebook extension.
Our goal with these tools is to encourage linking and reuse of content and the integration of interactive, explorable explanations that live in contexts beyond the Jupyter Notebook. In this presentation we will share some of our experience of creating educational materials and software tutorials (e.g. in SimPEG and GeoSci.xyz), where one of our goals is to encourage contribution from non-technical contributors and share the educational content between projects (e.g. through figure, equation and question banks, see a lightning talk here, and a previous JupyterCon talk). We will also describe how these developments interact with recent work in JupyterBook and MyST.
The poster will present the parallels between programming and writing (building upon a SciPy talk), and how concepts like “package managers” for content and standards for “interactive writing” could impact the communication of scientific ideas.
Jupyter Integration¶
Curvenote provides a plugin to Jupyter to allow syncing and versioning of notebooks and their individual cells (see Figure 1). These cells can be updated and synced between notebooks as well as evolve from a notebook into other linked forms of communication (e.g. reports, papers, presentations). The iooxa platform lets researchers create granular versions of their work and bring updates/comments back into their computational notebooks without disrupting other sharing practices (e.g. via GitHub, email, Dropbox). The current version allows integration of charts and dashboards into documents, while remaining interactive (e.g. see https://
The content of the figures below is from a collection of educational notebooks we helped develop for locating groundwater in Myanmar using geophysical methods, the project was in partnership with Geoscientists Without Borders.
Related Posts
Other resources from Curvenote tagged presentationopen-sourceconference
In today's fast-paced scientific environment, the gap between code development and scholarly communication is widening. While scientists increasingly rely on code for analysis and modeling, traditional methods of sharing results—like static PDFs—fail to capture the dynamic and interactive nature of modern research.
A panel discussion with Lorena Barba, Rowan Cockett, Karthik Ram and Arfon Smith explores how open source software practices can reshape the way we communicate scientific discoveries. Adopting open source tools and processes could drastically improve scientific communication, especially with the growing complexity and interconnectedness of research data.
At FORCE11 2024 Curvenote presented on our vision of Continuous Science, where the principles of continuous integration and deployment, well-known in software development, can be applied to scientific publishing to improve speed, reproducibility, and feedback loops.
Curvenote attended and sponsored SciPy2024, hosting the proceedings, presenting on MyST Markdown and sprinting towards new integrations in the wider scientific Python community.
The ability to build upon existing knowledge is fundamental to the process of science. Yet, despite the rapid advancement of science, the methods for citing and referencing content have remained surprisingly static. Curvenote is introducing new tools in MyST Markdown to create rich references and embed open-access content.
Curvenote launches Notebooks Now! at the American Geophysical Union Annual Meeting in San Francisco, where 20,000+ scientists descended on Moscone Center for five days of wide open science.