Skip to content

Commit

Permalink
Complete first draft
Browse files Browse the repository at this point in the history
  • Loading branch information
jnywong committed Jun 18, 2024
1 parent 0af7a07 commit 2a80a32
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
Binary file not shown.
34 changes: 28 additions & 6 deletions content/blog/2024/project-pythia-cookoff/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ During the first half of the day, we quickly identified a number of issues that
- [ ] Configuration files for each cookbook were difficult to update at scale. Project Pythia currently have a gallery of over 30 cookbooks!
- [ ] Changes to Sphinx-based themes inherited from upstream were prone to breaking custom Project Pythia branding downstream.
- [ ] Executable content was not able to run on the Project Pythia's dedicated BinderHub hosted on [JetStream2](https://jetstream-cloud.org/index.html) (operated by NSF).
- [ ] Cookbooks frequently cross-referenced materials from other cookbooks to build upon pre-existing knowledge, but this was not easy to author and the user experience was not a smooth as it could be.
- [ ] Cookbooks frequently cross-referenced materials from other cookbooks to build upon pre-existing knowledge, but this was not easy to author and the reader experience was not as smooth as it could be.

Following the recent announcement that [Jupyter Book 2.0 will use MyST](../myst-jupyter-book/index), Rowan (Curvenote) and Angus (2i2c) delivered a compelling demonstration of the [MyST](https://mystmd.org/) ecosystem.
Following the announcement that [Jupyter Book 2.0 will use MyST](../myst-jupyter-book/index) last month, Rowan (Curvenote) and Angus (2i2c) delivered a compelling demonstration of the [MyST](https://mystmd.org/) ecosystem centered around modern web-first technologies (JavaScript/TypeScript) that offers improved interactivity and accessibility.

In the second half of the day, we decided to use the hackathon to explore migrating the Pythia cookbooks from using a Sphinx-based to a MyST-based document structure and engine. Within one afternoon, the group migrated four cookbooks to use MyST MD

Expand All @@ -49,12 +49,34 @@ In the second half of the day, we decided to use the hackathon to explore migrat

![Screenshot of a side by side comparison of the Sphinx (left) and MyST (right) based cookbook.](side-by-side.png)

This was exciting! It was evident that MyST MD supported backwards compatible content out of the box, which alleviated fears of sunk cost into existing Sphinx-based cookbooks.
This moment was palpably exciting! It was evident that MyST MD supported backwards compatible content out of the box, which alleviated fears of sunk cost into existing Sphinx-based cookbooks. The migration workflow was as simple as executing the following commands

Another amazing outcome was the tight feedback loop amongst the team so that we were able to quickly expose small bugs ([e.g. support for HTML video tags](https://github.com/executablebooks/mystmd/issues/1297)) in the MyST MD tooling, which were immediately fixed upstream and released within minutes.
`conda install mystmd`

`myst`.

## Day 3

We spent this day tackling support for managing a gallery of Project Pythia cookbooks.
We spent this day tackling support for managing a gallery of Project Pythia cookbooks at scale. See the Executable Books project blog post for technical details on how we

- [Centralized configuration](https://github.com/projectpythia-mystmd/pythia-config)
- Prototyped a [gallery](https://projectpythia-mystmd.github.io/) plugin in Python
- Fixed a number of bugs related to integrated computation with [Binder](https://mystmd.org/guide/integrating-jupyter#connecting-to-a-binder) and [JupyterLite](https://mystmd.org/guide/integrating-jupyter#jupyterlite)
- Embraced the referencing and reuse of content with [simple markdown syntax for hover-references](https://mystmd.org/guide/external-references#tbl-syntax-xref).

{{< video autoplay="true" loop="true" src="hover-ref.mp4" >}}

## Day 4

Looking to the future, we spent time reflecting on our experiences and discussing the potential, transformative impact MyST MD tooling could have in the hands of the scientific community at large, including the communities served by 2i2c. Knowledge-sharing based on static figures and PDFs would fall obsolete and give way to a dynamic, web-first approach to interactive communication and publishing backed by compute from a Jupyter server.

Throughout the course of the hackathon, the rate of iterated development for both end users of the community cookbook and the developers of the open-source tooling was astounding. For example, we were able to quickly expose small bugs ([e.g. support for HTML video tags](https://github.com/executablebooks/mystmd/issues/1297)) in the MyST MD tooling, which were immediately fixed upstream and released within minutes. The feedback loop that connected the user experience with the software tooling was incredibly synergistic, with immediate impact both upstream and downstream.

Beyond the Project Pythia Cook-off, the breakout group will continue conversations around strengthening their community of practice and hopefully advocating for wider adoption of MyST MD amongst the scientific community (say hello to some of our group members at [SciPy 2024](https://www.scipy2024.scipy.org/) in July!).

## Acknowledgements

## Day 4
- University at Albany (NSF award 2324302): Led the funding acquisition, helped organize and facilitate the event
- UCAR (NSF award 2324303): Led the planning and logistics for the event
- 2i2c / Code for Science and Society (NSF award 2324304): Provided tailored compute services and on-site support
- Curvenote: Contributed engineering cycles to MyST MD development.

0 comments on commit 2a80a32

Please sign in to comment.