<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Jupyter Blog - Johan Mabille</title><link href="https://jasongrout.github.io/medium-archive/pelican/" rel="alternate"/><link href="https://jasongrout.github.io/medium-archive/pelican/feeds/author-johan-mabille.atom.xml" rel="self"/><id>https://jasongrout.github.io/medium-archive/pelican/</id><updated>2026-06-26T07:16:00+00:00</updated><subtitle>The Project Jupyter blog: news, releases, and community stories, archived from blog.jupyter.org.</subtitle><entry><title>Congratulations, Distinguished Contributors!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/" rel="alternate"/><published>2026-06-24T15:08:00+00:00</published><updated>2026-06-26T07:16:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2026-06-24:/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/</id><summary type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2025 cohort of contributors.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2025 cohort of contributors.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their substantial contributions to Jupyter itself in both quality and quantity over at least two years. Contributions may include code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, fundraising, branding, marketing, inclusion and diversity, UX design and research, etc.&lt;/p&gt;
&lt;p&gt;Please congratulate the winners of the 2025 cohort of Jupyter Distinguished Contributors!&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Photo of James Colliander" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/001-1_tvqSgVCwpnNq8c4yARxlZQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;James Colliander&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Photo of Florence Haudin" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/002-1_Woii0mAKX49rdgHRdv5tyQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Florence Haudin&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Photo of Greg Mooney" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/003-1_c1eU0cCYGogiSMTlYK3j7Q.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Greg Mooney&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Photo of Kirstie Whitaker" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/004-1_C7R23KzWzt6vhNUyRFeOgA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Kirstie Whitaker&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/005-1_PfvfmCFMF7KRqzqrWrAPZQ.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Congratulations, Distinguished Contributors!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/" rel="alternate"/><published>2025-05-15T15:15:00+00:00</published><updated>2025-05-15T15:22:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2025-05-15:/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/</id><summary type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2024 cohort of contributors.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2024 cohort of contributors.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their substantial contributions to Jupyter itself in both quality and quantity over at least two years. Contributions may include code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, fundraising, branding, marketing, inclusion and diversity, UX design and research, etc.&lt;/p&gt;
&lt;p&gt;Please congratulate the winners of the 2024 cohort of Jupyter Distinguished Contributors!&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Denisa Checiu" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/001-1_NAL0ma8SVR9HGcwBo0RorA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Denisa Checiu&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Rowan Cockett" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/002-1_RrEf4-SrJqlAemyX_adfpg.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Rowan Cockett&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Mahendra Paipuri" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/003-1_tJbjvVBKnd3ulyaTdBtEsQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Mahendra Paipuri&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Isabel Paredes" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/004-1_mpNi0Uqt9egOWkiVzgzr8Q.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Isabel Paredes&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of David L. Qiu" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/005-1_dhQc-wwRu30xZJB5PNLIdg.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;David L. Qiu&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Rick Wagner" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/006-1_gwYPh1yExp-OR0e7q3e5pA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Rick Wagner&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/007-1_nj6HDIgEnZzC9G3bBdnnbg.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Announcing the 2023 Jupyter Distinguished Contributor Award Recipients</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/announcing-the-2023-jupyter-distinguished-contributor/" rel="alternate"/><published>2024-09-04T16:46:00+00:00</published><updated>2024-09-04T16:46:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2024-09-04:/medium-archive/pelican/posts/2024/announcing-the-2023-jupyter-distinguished-contributor/</id><summary type="html">&lt;p&gt;We are delighted to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2023 cohort.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are delighted to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2023 cohort.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their significant and sustained contributions to Jupyter over a period of at least two years. These contributions encompass a wide range of areas, including code development, code review, infrastructure work, participation in mailing lists and chats, community building and support, education and outreach, fundraising, branding and marketing, efforts in inclusion and diversity, UX design, and research.&lt;/p&gt;
&lt;p&gt;Please join us in congratulating the winners of the 2023 cohort of Jupyter Distinguished Contributors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nicolas Brichet&lt;/li&gt;
&lt;li&gt;Piyush Jain&lt;/li&gt;
&lt;li&gt;Duc Trung Le&lt;/li&gt;
&lt;li&gt;Jason Weill&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Their dedication and hard work have been instrumental in advancing the Jupyter project and community.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/announcing-the-2023-jupyter-distinguished-contributor/images/001-0_psjWHR7z2EmlvZlF.webp" alt="“Portraits of the recipients of the JDC award: Nicolas Brichet, Piyush Jain, Duc Trung Le, Jason Weill”." loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Johan Mabille — on behalf of the Jupyter Distinguished Contributors&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Congratulations, Distinguished Contributors!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/" rel="alternate"/><published>2023-06-02T12:41:00+00:00</published><updated>2023-06-02T12:41:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2023-06-02:/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/</id><summary type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2022 cohort of contributors.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2022 cohort of contributors.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their substantial contributions to Jupyter itself in both quality and quantity over at least two years. Contributions may include code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, fundraising, branding, marketing, inclusion and diversity, UX design and research, etc.&lt;/p&gt;
&lt;p&gt;Please congratulate the winners of the &lt;a href="https://jupyter.org/about#2022-cohort"&gt;2022 cohort of Jupyter Distinguished Contributors&lt;/a&gt;!&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Tania Allard" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/001-1_qBAxw1QPlFn0NGTA6w3VQQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Tania Allard&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Carlos Herrero" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/002-1_gqUY-RV-ZHEjEvgBxsRBtQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Carlos Herrero&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Itay Dafna" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/003-1_5ytgEqe9qdSL_S0zwRJcGA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Itay Dafna&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Eric Charles" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/004-1_UZMz3Km915REn82mvVhTqw.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Eric Charles&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Max Klein" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/005-1_NXN4W9sjoFT60wHCWHT2rQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Max Klein&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Ryan Lovett" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/006-1_eMVttLuc9NH2UT7h0Y9vlw.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Ryan Lovett&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Sharan Foga" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/007-1_AIRl3XcCNaddR4dYD8jT8A.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Sharan Foga&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Rollin Thomas" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/008-1__UioMnv1IKqFvOoQRjh8oQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Rollin Thomas&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Ayaz Salikhov" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/009-1_F2Bw8lZIsIfk8hsw_wHGWQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Ayaz Salikhov&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/congratulations-distinguished-contributors/images/010-1_awcttRVT1kQ1dWqJig7DWQ.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Congratulations, Distinguished Contributors!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/" rel="alternate"/><published>2022-03-16T16:23:00+00:00</published><updated>2022-03-16T17:21:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2022-03-16:/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/</id><summary type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2021 cohort of contributors.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2021 cohort of contributors.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their substantial contributions to Jupyter itself in both quality and quantity over at least two years. Contributions may include code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, fundraising, branding, marketing, inclusion and diversity, UX design and research, etc.&lt;/p&gt;
&lt;p&gt;Please congratulate the winners of the &lt;a href="https://jupyter.org/about#2021-cohort"&gt;2021 cohort of Jupyter Distinguished Contributors&lt;/a&gt;!&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Mehmet Bektas" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/001-0_LZx735MQPDZmcWG-.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Mehmet Bektas&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="David Brochart" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/002-0_gB-nomoquRZLokGn.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;David Brochart&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="S. Chris Colbert" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/003-1_EowDp-ZU8rBaOslA6SJc2Q.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;S. Chris Colbert&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Frédéric Collonval" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/004-1_oxLYUYCQAQ1Hj04mr8ABdg.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Frédéric Collonval&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Martha Cryan" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/005-0_cZ2ca3X4_J35xQz2.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Martha Cryan&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Wayne Decatur" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/006-0_0fOIeXNIXqjP4l2E.jpg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Wayne Decatur&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Sarah Gibson" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/007-0_bpGVZZyohxtpSngk.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Sarah Gibson&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Mariana Meireles" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/008-0_5wS1KBvwFVn0hyrW.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Mariana Meireles&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Isabela Presedo-Floyd" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/009-0_u_DJ1U3Xf7g-m1xV.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Isabela Presedo-Floyd&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Nicolas Thiéry" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/010-1_t761M0eIk-LY-tLy25csQQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Nicolas Thiéry&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/congratulations-distinguished-contributors/images/011-1_Cw8VcAfJKv42NLtAN6v-rw.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Xeus 2.0</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2021/xeus-2-0/" rel="alternate"/><published>2021-09-28T09:41:00+00:00</published><updated>2021-09-28T09:41:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2021-09-28:/medium-archive/pelican/posts/2021/xeus-2-0/</id><summary type="html">&lt;p&gt;Announcing a major release of the Xeus library&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Announcing a major release of the Xeus library&lt;/p&gt;
&lt;p&gt;We have just released &lt;a href="https://github.com/jupyter-xeus/xeus"&gt;Xeus&lt;/a&gt; 2. This is a major release of the library. While it includes backward-incompatible changes, they are very limited and upgrading your kernels should be relatively easy.&lt;/p&gt;
&lt;h2 id="how-to-upgrade-xeus-based-kernels"&gt;How to upgrade Xeus-based kernels&lt;/h2&gt;
&lt;p&gt;Let’s illustrate that with the code of a simple kernel before and after upgrading to Version 2. Most typically, only the kernel’s main file will have to be updated:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="w"&gt; &lt;/span&gt;25 diff --git a/example/src/main.cpp b/example/src/main.cpp
&lt;span class="w"&gt; &lt;/span&gt;26 index 29de437..eb8fdba 100644
&lt;span class="w"&gt; &lt;/span&gt;27 --- a/example/src/main.cpp
&lt;span class="w"&gt; &lt;/span&gt;28 +++ b/example/src/main.cpp
&lt;span class="w"&gt; &lt;/span&gt;29 @@ -21,12 +21,14 @@ int main(int argc, char* argv[])
&lt;span class="w"&gt; &lt;/span&gt;30      std::string file_name = (argc == 1) ? &amp;quot;connection.json&amp;quot; : argv[2];
&lt;span class="w"&gt; &lt;/span&gt;31      xeus::xconfiguration config = xeus::load_configuration(file_name);
&lt;span class="w"&gt; &lt;/span&gt;32 
&lt;span class="w"&gt; &lt;/span&gt;33 +    auto context = xeus::make_context&amp;lt;zmq::context_t&amp;gt;();
&lt;span class="w"&gt; &lt;/span&gt;34 +
&lt;span class="w"&gt; &lt;/span&gt;35      // Create interpreter instance
&lt;span class="w"&gt; &lt;/span&gt;36      using interpreter_ptr = std::unique_ptr&amp;lt;custom::custom_interpreter&amp;gt;;
&lt;span class="w"&gt; &lt;/span&gt;37      interpreter_ptr interpreter = interpreter_ptr(new custom::custom_interpreter());
&lt;span class="w"&gt; &lt;/span&gt;38 
&lt;span class="w"&gt; &lt;/span&gt;39      // Create kernel instance and start it
&lt;span class="w"&gt; &lt;/span&gt;40 -    xeus::xkernel kernel(config, xeus::get_user_name(), std::move(interpreter), xeus::make_xs    erver_zmq);
&lt;span class="w"&gt; &lt;/span&gt;41 +    xeus::xkernel kernel(config, xeus::get_user_name(), std::move(context), std::move(interpr    eter), xeus::make_xserver_zmq);
&lt;span class="w"&gt; &lt;/span&gt;42      kernel.start();
&lt;span class="w"&gt; &lt;/span&gt;43 
&lt;span class="w"&gt; &lt;/span&gt;44      return 0;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The first change is that you now have to instantiate and pass an additional argument to the kernel constructor: the &lt;em&gt;context&lt;/em&gt;. Fortunately, Xeus provides a function to build such a context object, making the update straightforward. We will detail the reason for this change in the next section.&lt;/p&gt;
&lt;p&gt;The second change is that the kernel constructor now &lt;em&gt;requires&lt;/em&gt; a function to build the server while a default value was provided for it in Xeus 1.x. Again, the motivations for this change will be detailed in the next section. Finally the functions for building the servers have moved to different headers.&lt;/p&gt;
&lt;p&gt;To summarize, here is the list of the breaking changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The kernel’s constructor now requires an additional argument, the context. Xeus provides a function to easily instantiate it.&lt;/li&gt;
&lt;li&gt;The order of kernel’s constructor arguments has changed, and the function for building the server is now required.&lt;/li&gt;
&lt;li&gt;The functions for building the servers have moved to the headers where the corresponding servers are defined.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="motivation-for-these-changes"&gt;Motivation for these changes&lt;/h2&gt;
&lt;p&gt;When we created &lt;a href="https://github.com/jupyter-xeus/xeus"&gt;Xeus&lt;/a&gt;, kernels were expected to run in separate processes. The communication between the kernels and the client was achieved with the &lt;a href="https://zeromq.org/"&gt;ZeroMQ&lt;/a&gt; middleware framework, and it was natural to heavily rely on it in Xeus.&lt;/p&gt;
&lt;p&gt;Recent &lt;a href="/posts/2021/jupyterlite-jupyter-webassembly-python/"&gt;developments&lt;/a&gt; have pushed in a different direction, where the &lt;a href="https://jupyterlite.readthedocs.io/en/latest/"&gt;kernel can run directly in the browser&lt;/a&gt;. In that case, a middleware library is not required anymore to communicate with the frontend. The architecture of Xeus was not suitable for this new kind of kernels. An update was required so that it is possible to build Xeus without the dependency on ZeroMQ.&lt;/p&gt;
&lt;h2 id="about-the-developers"&gt;About the developers&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2021/xeus-2-0/images/001-0_tHIyMRx_JbgkU2xy.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Johan Mabille&lt;/strong&gt; is a scientific software developer at QuantStack. Johan is a co-author of Xeus, and developed the debugger extension to xeus-python.&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2021/xeus-2-0/images/002-0_zUMSbNcno1BZSfjO.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sylvain Corlay&lt;/strong&gt; is the founder and CEO of QuantStack, and a core Jupyter developer. He co-authored Xeus and xeus-python.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2021/xeus-2-0/images/003-1_kGCA9WV-Gf5tiNqqy9vTMQ.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="xeus"/></entry><entry><title>Xeus is now a Jupyter subproject</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2020/xeus-is-now-a-jupyter-subproject/" rel="alternate"/><published>2020-02-04T12:08:00+00:00</published><updated>2020-02-08T13:30:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2020-02-04:/medium-archive/pelican/posts/2020/xeus-is-now-a-jupyter-subproject/</id><summary type="html">&lt;p&gt;The Xeus project has been incorporated as a Jupyter subproject.&lt;/p&gt;
</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;It is a great pleasure to announce that the Xeus project has been incorporated as a Jupyter subproject. Xeus will now be subject to the&lt;/em&gt; &lt;a href="https://github.com/jupyter/governance/blob/master/governance.md"&gt;&lt;em&gt;Jupyter governance&lt;/em&gt;&lt;/a&gt; &lt;em&gt;and&lt;/em&gt; &lt;a href="https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md"&gt;&lt;em&gt;code of conduct&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For reference, the Jupyter Enhancement Proposal (JEP) for the Xeus incorporation is available &lt;a href="https://github.com/jupyter/enhancement-proposals/pull/44"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="what-is-xeus"&gt;What is Xeus?&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://github.com/jupyter-xeus/xeus/"&gt;Xeus&lt;/a&gt; project is a C++ implementation of the Jupyter kernel protocol. Xeus is not a kernel, but a library meant to facilitate the authoring of kernels.&lt;br&gt;
Several Jupyter kernels have been created with Xeus:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-xeus/xeus-cling"&gt;xeus-cling&lt;/a&gt;, a kernel for the C++ programming language, based on the Cling C++ interpreter. The &lt;a href="https://github.com/root-project/cling"&gt;cling&lt;/a&gt; project comes from CERN and is at the foundation of the &lt;a href="https://github.com/root-project/root.git"&gt;ROOT&lt;/a&gt; project.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
&lt;img alt="The xeus-cling Jupyter kernel for the C++ programming language." src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/xeus-is-now-a-jupyter-subproject/images/001-0_SSdFFWmES-6AW8Yo.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The xeus-cling Jupyter kernel for the C++ programming language.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-xeus/xeus-python"&gt;xeus-python&lt;/a&gt;, a kernel for the Python programming language, embedding the Python interpreter.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
&lt;img alt="The xeus-python Jupyter kernel for the Python programming language" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/xeus-is-now-a-jupyter-subproject/images/002-0_Mh5cOdG7YWJxrFSw.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The xeus-python Jupyter kernel for the Python programming language&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-xeus/xeus-calc"&gt;xeus-calc&lt;/a&gt;, a calculator kernel, meant as an educational example on how to make Jupyter kernels with Xeus.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Beyond these three kernels built on top of Xeus by the Xeus maintainers, third-parties have developed other Jupyter kernels with Xeus:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/JuniperKernel/JuniperKernel"&gt;JuniperKernel&lt;/a&gt;, a kernel for the R programming language by Spencer Aiello.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/atomex-me/xeus-fift"&gt;xeus-fift&lt;/a&gt;, a kernel for the fift programming language by Michael Zaikin. The fift programming language was developed by Telegram to create TON blockchain contracts.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Slicer/SlicerJupyter"&gt;SlicerJupyter&lt;/a&gt;, a kernel for the Python programming language by Kitware which integrates into the Qt event loop of the Kitware “Slicer” project.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finally, the xeus-python kernel includes a first implementation of the Jupyter debugger protocol used by the &lt;a href="https://github.com/jupyterlab/debugger"&gt;Jupyter debugger&lt;/a&gt; project. xeus-python enables the &lt;a href="https://microsoft.github.io/debug-adapter-protocol/"&gt;Debug Adapter Protocol&lt;/a&gt; over the Control channel through new debug request/reply and debug event messages.&lt;/p&gt;
&lt;h2 id="why-moving-xeus-under-the-jupyter-governance"&gt;Why moving Xeus under the Jupyter governance?&lt;/h2&gt;
&lt;p&gt;While Xeus started as a side project for &lt;a href="https://twitter.com/QuantStack"&gt;QuantStack&lt;/a&gt; engineers, the project now has several stakeholders who depend on it. We think that moving the project to an open governance organization may be a better way to reflect this situation.&lt;/p&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Xeus was started by the team of open-source developers at &lt;a href="https://twitter.com/QuantStack"&gt;QuantStack&lt;/a&gt; as a separate project, but with the full intent to incorporate it into Jupyter. The initial project development at QuantStack was funded by &lt;a href="https://twitter.com/techatbloomberg"&gt;Bloomberg&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Now, Xeus contributors work in many institutions, including &lt;a href="https://www.universite-paris-saclay.fr/"&gt;Université Paris-Saclay&lt;/a&gt; and &lt;a href="https://www.polytechnique.edu/"&gt;École Polytechnique&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="about-the-author"&gt;About the Author&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://twitter.com/johanmabille?lang=en"&gt;Johan Mabille&lt;/a&gt; is a Scientific Software Developer at &lt;a href="https://github.com/QuantStack/"&gt;QuantStack&lt;/a&gt;, specializing in high-performance computing in C++. He holds master’s degree in computer science from Centrale-Supelec.&lt;/p&gt;
&lt;p&gt;As an open source developer, Johan coauthored &lt;a href="https://quantstack.net/xtensor.html"&gt;&lt;strong&gt;xtensor&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://quantstack.net/xeus.html"&gt;&lt;strong&gt;xeus&lt;/strong&gt;&lt;/a&gt;, and &lt;a href="https://quantstack.net/xsimd.html"&gt;&lt;strong&gt;xsimd&lt;/strong&gt;&lt;/a&gt;. He also made major contributions to the JupyterLab debugger project and bqplot.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/xeus-is-now-a-jupyter-subproject/images/003-1__77MmwnTvIhdFVM8noFAIA.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="C++"/><category term="xeus"/></entry></feed>