<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Jupyter Blog - Project Jupyter</title><link href="https://jasongrout.github.io/medium-archive/pelican/" rel="alternate"/><link href="https://jasongrout.github.io/medium-archive/pelican/feeds/author-project-jupyter.atom.xml" rel="self"/><id>https://jasongrout.github.io/medium-archive/pelican/</id><updated>2026-07-09T09:54:00+00:00</updated><subtitle>The Project Jupyter blog: news, releases, and community stories, archived from blog.jupyter.org.</subtitle><entry><title>2026 Jupyter Community Call For Funding Proposals</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/2026-jupyter-community-call-for-funding-proposals/" rel="alternate"/><published>2026-07-06T19:32:00+00:00</published><updated>2026-07-09T09:54:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2026-07-06:/medium-archive/pelican/posts/2026/2026-jupyter-community-call-for-funding-proposals/</id><summary type="html">&lt;p&gt;The Jupyter Executive Council and Jupyter Foundation are pleased to announce a new Call for Proposals (CFP) for funding the Jupyter…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/2026-jupyter-community-call-for-funding-proposals/images/001-0_jwHtZqyuA711MXw9.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://jupyter.org/about#executive-council-members"&gt;Jupyter Executive Council&lt;/a&gt; and &lt;a href="https://jupyterfoundation.org/"&gt;Jupyter Foundation&lt;/a&gt; are pleased to announce a new Call for Proposals (CFP) for funding the Jupyter community to improve Jupyter. Visit the &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;Jupyter Foundation Community Proposals webpage&lt;/a&gt; to learn more about the process and how to submit proposals. &lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;&lt;strong&gt;Submit a proposal&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;by Wednesday, September 9, 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Jupyter Foundation began its operations in early 2025 with a mission to use its resources to support the Jupyter community. As part of this mission, we funded a round of &lt;a href="/posts/2025/announcing-our-first-jupyter-community-funded-proposals/"&gt;community proposals in 2025&lt;/a&gt;. This funded work continues to bring many benefits to the Jupyter ecosystem (see the progress reports &lt;a href="https://github.com/jupyter-governance/funding-proposals/tree/main/Reports"&gt;here&lt;/a&gt;). In this next call for proposals, we are iterating on this success.&lt;/p&gt;
&lt;p&gt;Visit the &lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;Community Proposals webpage&lt;/a&gt; to learn more about past funded proposals and the &lt;a href="https://jupyter-governance.github.io/jupyter-foundation-governing-board/funding/process/"&gt;Jupyter Foundation team compass&lt;/a&gt; for more detailed background about this funding call. In this second round, our goal is to continue learning how to best manage a community funding program. Based on feedback, we are updating the proposal process in several ways, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A new section of the proposal template has been added for Jupyter council or committee endorsements. We strongly encourage authors to seek and include endorsements from Jupyter councils or committees affected by the proposal. Each endorsement should be a brief paragraph about the impact of the proposed work from the council or committee’s perspective, and express support for the work and a willingness to receive it. We encourage authors to communicate early with relevant Jupyter councils and committees to make this endorsement process easier.&lt;/li&gt;
&lt;li&gt;The de-risk section of the proposal is now optional for smaller funding requests.&lt;/li&gt;
&lt;li&gt;The CFP is open for several weeks longer than the previous round. We do not anticipate extending the CFP deadline this time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;&lt;strong&gt;Submit a proposal&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;by Wednesday, September 9, 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As with the previous round, to help inspire proposals we are particularly excited to fund, we’ve defined &lt;a href="https://jupyter-governance.github.io/jupyter-foundation-governing-board/funding/priorities/"&gt;funding priorities for the Jupyter Foundation&lt;/a&gt;. These are key outcomes that we must improve in order to grow the overall health and impact of the ecosystem. Briefly summarizing, these priorities are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grow the contributor capacity of Jupyter&lt;/strong&gt;. We would like to grow the number of contributors, improve the efficiency of existing contributors, and facilitate learning across Jupyter subprojects. We’d love to see proposals that help us mobilize and support the total pool of energy available to contribute to Jupyter. Examples of recent activities in this area include hiring a community manager and hosting community workshops.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve the reliability, security, and consistency of Jupyter’s software and team practices.&lt;/strong&gt; We believe that our technology will be more impactful and easier to contribute to and deploy if we improve our development infrastructure and team practices in ways that contribute to reliability, security, and consistency. Examples of recent activities in this area include investing in better testing infrastructure and linting rules, refactoring build systems, improving accessibility, funding security issue triage, and hosting a subproject roadmap alignment workshop.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While we’re particularly excited about these two outcomes and aim to focus funding on proposals that clearly feed into one or both of these priorities, we also encourage people to get creative and submit proposals for outcomes that have high impact and strategic value for the Jupyter community. We’re excited to see what others come up with, and are eager to work with you in unlocking critical funding in support of Jupyter’s community.&lt;/p&gt;
</content><category term="funding"/><category term="Jupyter Foundation"/></entry><entry><title>JupyterLite Officially Joins Project Jupyter!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyterlite-officially-joins-project-jupyter/" rel="alternate"/><published>2026-02-12T16:14:00+00:00</published><updated>2026-02-19T12:26:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2026-02-12:/medium-archive/pelican/posts/2026/jupyterlite-officially-joins-project-jupyter/</id><summary type="html">&lt;p&gt;We are thrilled to announce that JupyterLite is now an official part of Project Jupyter. This milestone marks a significant step forward…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyterlite-officially-joins-project-jupyter/images/001-1_1mHVBUr6tB3TP0Z1ujvdjw.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;We are thrilled to announce that JupyterLite is now an official part of Project Jupyter. This milestone marks a significant step forward for interactive computing in the browser and strengthens JupyterLite’s role within the Jupyter ecosystem.&lt;/p&gt;
&lt;h2 id="what-is-jupyterlite"&gt;What is JupyterLite?&lt;/h2&gt;
&lt;p&gt;JupyterLite is a JupyterLab distribution that runs entirely in your web browser. Kernels execute directly in the browser using WebAssembly, eliminating the need for an application server. This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Instant access&lt;/strong&gt;: Start computing with a single click: no prior Python setup, environment configuration, or server management required.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scalability&lt;/strong&gt;: Host thousands of concurrent users from a static website (e.g., GitHub Pages) with zero per-user server costs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privacy and portability&lt;/strong&gt;: Code and data remain in the user’s browser, making it ideal for embedding in documentation, tutorials, and interactive demos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;JupyterLite greatly expands the options available in the Jupyter ecosystem for &lt;strong&gt;education&lt;/strong&gt;, &lt;strong&gt;documentation&lt;/strong&gt;, and &lt;strong&gt;demos&lt;/strong&gt;, where reducing friction is critical.&lt;/p&gt;
&lt;p&gt;As Brian Granger reminded us during his &lt;a href="https://youtu.be/IJO7_v7GEVc?si=8_0bMM39ci_QulYb&amp;amp;t=337"&gt;JupyterCon 2025 keynote&lt;/a&gt;, Jupyter’s mission is “to empower people of all backgrounds to think, collaborate, and share knowledge using computational storytelling.” From this perspective, JupyterLite is a logical and key next step to take, letting Jupyter take advantage of the impressive strides made in recent years by the WebAssembly/JavaScript ecosystem (in reach and capability) to advance this mission. JupyterLite is an excellent complement to other forms of accessing Jupyter (whether through a local Python installation or a hosted infrastructure service), that facilitates new use cases and lowers barriers in many others.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Screencast of JupyterLite in action, showing a live jupyter notebook with widgets and data visualisation." src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyterlite-officially-joins-project-jupyter/images/002-1_OEJksEVfQVZugt_d6EYXBQ.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Interactive computing in the browser with JupyterLite&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="the-journey-of-jupyterlite"&gt;The Journey of JupyterLite&lt;/h2&gt;
&lt;p&gt;JupyterLite’s development began in 2021, led by &lt;strong&gt;Jeremy Tuloup&lt;/strong&gt; at &lt;strong&gt;QuantStack&lt;/strong&gt;. Over the past four years, it has benefited from the dedication of several other team members, Martin Renou, Trung Le, and Ian Thomas — as well as invaluable contributions from &lt;strong&gt;community members&lt;/strong&gt; like Nick Bollweg and many others.&lt;/p&gt;
&lt;p&gt;Beyond the JupyterLite repository, the project includes &lt;strong&gt;comprehensive tooling&lt;/strong&gt; for creating in-browser language kernels based on &lt;strong&gt;xeus&lt;/strong&gt;. These kernels support languages like &lt;strong&gt;Python&lt;/strong&gt;, &lt;strong&gt;R&lt;/strong&gt;, &lt;strong&gt;C++&lt;/strong&gt;, &lt;strong&gt;GNU Octave&lt;/strong&gt;, &lt;strong&gt;Lua&lt;/strong&gt;, and &lt;strong&gt;SQLite&lt;/strong&gt;, sharing the same codebase as their backend counterparts, developed by Thorsten Beier, Isabel Paredes, Johan Mabille, and Antoine Prouvost. These kernels are built upon the &lt;strong&gt;emscripten-forge&lt;/strong&gt; software distribution for WebAssembly. The project also includes a Python kernel based on &lt;strong&gt;Pyodide&lt;/strong&gt;, and kernels for JavaScript and &lt;a href="http://p5.js"&gt;p5.js&lt;/a&gt;. This architecture means that the same language-agnostic model for kernels that Jupyter pioneered over a decade ago, carries over to the WebAssembly world.&lt;/p&gt;
&lt;p&gt;The JupyterLite GitHub organization also features the &lt;strong&gt;JupyterLite Terminal&lt;/strong&gt;, a terminal and shell emulator that runs entirely in the browser and was developed by Ian Thomas. It enables the use of basic Unix commands like &lt;strong&gt;grep&lt;/strong&gt;, &lt;strong&gt;sed&lt;/strong&gt;, &lt;strong&gt;cat&lt;/strong&gt;, &lt;strong&gt;touch&lt;/strong&gt;, and even &lt;strong&gt;vim&lt;/strong&gt; or &lt;strong&gt;nano&lt;/strong&gt;, all built to WebAssembly.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Screenshot of the JupyterLite terminal emulator, showing some basic Unix commands" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyterlite-officially-joins-project-jupyter/images/003-1_8hPGoJK8chK2uEVlL9ig9Q.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The JupyterLite terminal emulator, with basic Unix commands&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;JupyterLite now powers the &lt;strong&gt;official Jupyter website&lt;/strong&gt; and is used by projects like &lt;strong&gt;numpy.org&lt;/strong&gt;, &lt;strong&gt;sympy.org&lt;/strong&gt;. It also underlies services such as &lt;a href="https://www.jupytereverywhere.org/"&gt;&lt;strong&gt;Jupyter Everywhere&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://notebook.link/"&gt;&lt;strong&gt;notebook.link&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="a-natural-fit-with-jupyterlab"&gt;A Natural Fit with JupyterLab&lt;/h2&gt;
&lt;p&gt;JupyterLite has always been closely tied to JupyterLab. It is increasingly becoming a set of JupyterLab extensions that replace core plugins to manage kernels, settings, and content in the browser. With contributors overlapping significantly with the Jupyter Frontends group, this integration formalizes what many in the community already recognized: JupyterLite is a core part of the Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;The proposal to transfer JupyterLite to the Jupyter governance received strong support from the Jupyter community and by the &lt;a href="https://github.com/jupyterlab/frontends-team-compass/issues/290"&gt;Jupyter Frontends council&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="better-integration-with-the-rest-of-jupyter"&gt;Better integration with the rest of Jupyter&lt;/h2&gt;
&lt;p&gt;With JupyterLite now being an official part of Jupyter, it will be easier to find areas for better integration with other aspects of our ecosystem: we can reduce duplication, smooth out the documentation and model for creating and using both “traditional” (server-hosted) and WebAssembly kernels, and make JupyterLite a natural instant-access component of &lt;a href="https://mystmd.org/guide/in-page-execution#jupyterlite"&gt;MyST/JupyterBook-based sites&lt;/a&gt;, and more.&lt;/p&gt;
&lt;p&gt;Mission-wise, JupyterLite is a natural next step for Jupyter, and having it be an official part of the project makes it much easier for the community to integrate its benefits throughout. We hope you’ll try it, use it and contribute to its growth!&lt;/p&gt;
&lt;h2 id="try-it-in-your-browser"&gt;Try it in your browser&lt;/h2&gt;
&lt;p&gt;If you would like to try JupyterLite in your browser, click on the following link:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/try-jupyter/"&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyterlite-officially-joins-project-jupyter/images/004-1_EUSdzza6CGF6EA195jkzCA.webp" alt="Try lite now." loading="lazy" data-body-image=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="acknowledgments-and-team-credits"&gt;Acknowledgments and team credits&lt;/h2&gt;
&lt;p&gt;JupyterLite’s success is thanks to the support of &lt;strong&gt;individuals and organizations&lt;/strong&gt; who believed in its vision. This includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;QuantStack&lt;/strong&gt;, for their continued investment in the project since 2021 and the broader Jupyter ecosystem,&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bloomberg&lt;/strong&gt;, for funding improvements to JupyterLite by QuantStack since 2023,&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Gates Foundation&lt;/strong&gt;, for funding the development of the xeus-R kernel and its port to WebAssembly,&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Pyodide&lt;/strong&gt; project, whose pioneering work on Python in the browser via WebAssembly made JupyterLite possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Key developers to this stack include:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Jeremy Tuloup&lt;/strong&gt; (Director at QuantStack, creator of JupyterLite, and JupyterLab maintainer),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nicholas Bollweg&lt;/strong&gt; (JupyterLite maintainer and #2 all-time committer),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Martin Renou&lt;/strong&gt; (Director at QuantStack, JupyterLite maintainer, responsible for integrating xeus with emscripten-forge, and creator of JupyterLite-Sphinx),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Thorsten Beier&lt;/strong&gt; (Software developer at QuantStack, lead developer of emscripten-forge, and xeus-lite),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Isabel Paredes&lt;/strong&gt; (Software developer at QuantStack, led the packaging of R and GNU Octave in Emscripten-forge),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anutosh Bhat&lt;/strong&gt; (Software developer at QuantStack, C++ kernel in the browser),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ian Thomas&lt;/strong&gt; (Software developer at QuantStack, creator of the JupyterLite terminal, and the cockle shell emulator),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Johan Mabille&lt;/strong&gt; (Director at QuantStack, creator of xeus),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agriya Khetarpal&lt;/strong&gt; (Pyodide contributor, JupyterLite-Sphinx maintainer),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Albert Steppi&lt;/strong&gt; (JupyterLite-Sphinx maintainer).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you for being part of this journey, we cannot wait to see what you build with JupyterLite!&lt;/p&gt;
&lt;p&gt;— this post was coauthored by Jérémy Tuloup, Sylvain Corlay, and Fernando Pérez&lt;/p&gt;
</content><category term="education"/><category term="JupyterLite"/><category term="WebAssembly"/></entry><entry><title>Project Jupyter’s 2025 Executive Council Elections</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/project-jupyters-2025-executive-council-elections/" rel="alternate"/><published>2025-03-06T16:26:00+00:00</published><updated>2025-03-06T16:26:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2025-03-06:/medium-archive/pelican/posts/2025/project-jupyters-2025-executive-council-elections/</id><summary type="html">&lt;p&gt;Project Jupyter recently completed its 2025 Executive Council (EC) election, marking an important transition in its leadership. The newly…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Project Jupyter recently completed its 2025 &lt;a href="https://jupyter.org/about#executive-council-members"&gt;Executive Council (EC)&lt;/a&gt; election, marking an important transition in its leadership. The newly elected members — Afshin Darian, Chris Holdgraf, and Rick Wagner — will serve two-year terms, helping guide strategic and operational direction for Project Jupyter.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rick Wagner, San Diego Supercomputer Center (2025–2027)&lt;/li&gt;
&lt;li&gt;Afshin Darian, QuantStack (2025–2027)&lt;/li&gt;
&lt;li&gt;Chris Holdgraf, 2i2c (2025–2027)&lt;/li&gt;
&lt;li&gt;Ana Ruvalcaba, Cal Poly State University San Luis Obispo (2024–2026)&lt;/li&gt;
&lt;li&gt;Jason Grout, Databricks (2024–2026)&lt;/li&gt;
&lt;li&gt;Zach Sailer, Apple (2024–2026)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="who-are-the-newly-elected-ec-members"&gt;Who Are the Newly Elected EC Members?&lt;/h2&gt;
&lt;p&gt;The three elected members bring deep expertise and long-standing contributions to Jupyter:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Afshin Darian was part of the inaugural Executive Council in 2023 and is continuing in his role as an EC member. He has contributed to Jupyter’s transition to the Linux Foundation, alongside his work on the architecture of Jupyter and accessibility.&lt;/li&gt;
&lt;li&gt;Chris Holdgraf has played a key role in &lt;a href="https://jupyter.org/hub"&gt;JupyterHub&lt;/a&gt;, &lt;a href="https://mybinder.org/"&gt;Binder&lt;/a&gt;, and &lt;a href="https://jupyterbook.org/"&gt;Jupyter Book&lt;/a&gt;, helping to sustain and grow these vital subprojects. He is also the executive director of a non-profit called &lt;a href="http://2i2c.org/"&gt;2i2c&lt;/a&gt; that manages JupyterHub infrastructure for communities in research and education.&lt;/li&gt;
&lt;li&gt;Rick Wagner has been active in Jupyter’s Security Subproject, advocating for &lt;a href="/posts/2022/requiring-2fa-for-jupyter-github-organizations/"&gt;secure development practices&lt;/a&gt; and &lt;a href="/posts/2023/european-commission-funds-jupyter-bug-bounty-program/"&gt;leading major security initiatives&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Their collective experience spans technical innovation, community governance, security, and sustainability, ensuring that Jupyter continues to evolve in a way that serves users, contributors, and the broader ecosystem. Darian, Chris, and Rick will join the members serving in their current two-year terms, Jason Grout, Ana Ruvalcaba, and Zach Sailer. Together, the EC members represent industry, academic, and non-profit organizations.&lt;/p&gt;
&lt;h2 id="creating-open-sustainable-leadership"&gt;Creating Open, Sustainable, Leadership&lt;/h2&gt;
&lt;p&gt;When Jupyter was created, it followed a “&lt;a href="https://en.wikipedia.org/wiki/Benevolent_dictatorship"&gt;Benevolent Dictator for Life&lt;/a&gt;” (BDFL) style of governance that was popular in open source communities at the time. Throughout the 2010s, the project learned (along with &lt;a href="https://www.mail-archive.com/python-committers@python.org/msg05628.html"&gt;many others in the open source ecosystem&lt;/a&gt;) that BDFL models for complex projects are not sustainable for both the project and for its contributors. As a result Jupyter began a long-term initiative to move away from its BDFL decision-making structure. It began by adopting a &lt;em&gt;Steering Council&lt;/em&gt; model, where a group of peers made consensus-based decisions across the entire project. This distributed Jupyter’s decision-making authority, but did not efficiently represent the breadth and complexity of Jupyter’s ecosystem.&lt;/p&gt;
&lt;p&gt;In 2022, Project Jupyter took the next step towards formalizing and decentralizing its governance. It adopted &lt;a href="/posts/2023/announcing-a-new-jupyter-governance-model-and-our-first/"&gt;a more dynamic, distributed, and community-driven structure&lt;/a&gt;. &lt;a href="https://jupyter.org/governance/overview.html"&gt;Jupyter’s governance model&lt;/a&gt; guides the development of over a dozen distinct software components and several groups focused on specific activities, including accessibility and security. Software design and development is handled by &lt;a href="https://jupyter.org/governance/software_subprojects.html"&gt;individual Subprojects&lt;/a&gt;, with each Subproject typically responsible for one or more software components or packages. Subprojects elect representatives to the &lt;a href="https://jupyter.org/governance/software_steering_council.html"&gt;Software Steering Council&lt;/a&gt; which has jurisdiction over software-related decisions across Project Jupyter. The &lt;a href="https://jupyter.org/governance/executive_council.html"&gt;Executive Council&lt;/a&gt; is chosen via &lt;a href="https://jupyter.org/governance/executive_council.html#council-membership-and-elections"&gt;elections&lt;/a&gt; and has the ultimate responsibility for all aspects of Project Jupyter, including its software, finances, trademark, operations, etc. In 2024, this extended to the creation of the &lt;a href="https://jupyterfoundation.org/"&gt;Jupyter Foundation&lt;/a&gt;, a directed fund of the &lt;a href="https://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt; 501(c)(6) whose purpose is to raise, budget and spend funds in support of Project Jupyter and its mission. The &lt;a href="https://jupyter.org/governance/jupyter_foundation.html"&gt;Foundation Governing Board&lt;/a&gt; controls the resources of the Foundation, and works to build a healthy collaboration between the Jupyter community, Jupyter leadership, and members of the Jupyter Foundation.&lt;/p&gt;
&lt;p&gt;Jupyter recently completed its 2025 election for the Executive Council. This election is especially significant because it marks the first time that Fernando Pérez and Brian Granger, two of Jupyter’s founding figures, will not serve in the executive leadership body of the project. Their voluntary departure from the EC reflects their confidence in the governance model established in 2022 and is an indication that the new model is progressing toward its goal: creating a self-sustaining leadership structure where contributors from across the Jupyter ecosystem can contribute their talents. Going forward, Brian will continue to be involved in Jupyter’s software and will serve on the Governing Board of the &lt;a href="https://jupyter.org/governance/jupyter_foundation.html"&gt;Jupyter Foundation&lt;/a&gt;. Fernando will remain actively involved with various parts of the Jupyter ecosystem, including &lt;a href="https://jupyterhealth.org/"&gt;JupyterHealth&lt;/a&gt;, &lt;a href="https://myst-parser.readthedocs.io/"&gt;MyST&lt;/a&gt;, Jupyter uses in science and education through &lt;a href="https://2i2c.org/"&gt;2i2c&lt;/a&gt;, &lt;a href="https://jupyter-ai.readthedocs.io/"&gt;Jupyter-AI&lt;/a&gt;, and the nascent &lt;a href="https://geojupyter.org/"&gt;GeoJupyter&lt;/a&gt; (independent) community effort.&lt;/p&gt;
&lt;h2 id="what-this-means-for-jupyters-future"&gt;What This Means for Jupyter’s Future&lt;/h2&gt;
&lt;p&gt;The success of this election signals a healthy, evolving open-source project, where leadership is dynamic, inclusive, and community-driven. It shows that Jupyter’s governance changes have not only ensured continuity but have also empowered new voices to take on leadership roles to serve the community.&lt;/p&gt;
&lt;p&gt;The departure of Fernando and Brian from official leadership positions is not an end, but a milestone — a testament to our vision for an open, thriving, and community-led project.&lt;/p&gt;
&lt;p&gt;The Jupyter community now looks ahead to the next era of innovation, collaboration, and sustainability with support from all of its contributors.&lt;/p&gt;
</content><category term="community"/><category term="Jupyter Foundation"/></entry><entry><title>Project Jupyter joins LF Charities</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/project-jupyter-joins-lf-charities/" rel="alternate"/><published>2024-10-23T19:00:00+00:00</published><updated>2024-10-23T19:00:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2024-10-23:/medium-archive/pelican/posts/2024/project-jupyter-joins-lf-charities/</id><summary type="html">&lt;p&gt;We are excited to announce that Project Jupyter is entering a new phase in our journey: we are joining LF Charities, a 501(c)(3) non-profit…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/project-jupyter-joins-lf-charities/images/001-1_LKQqc8xdq6K7gCQderCHrA.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;We are excited to announce that Project Jupyter is entering a new phase in our journey: we are joining &lt;a href="https://lf-charities.org/"&gt;LF Charities&lt;/a&gt;, a 501(c)(3) non-profit under the Linux Foundation. See the &lt;a href="https://www.linuxfoundation.org/press/lf-charities-welcomes-project-jupyter-expanding-role-in-data-science-and-furthering-community-innovation"&gt;official press release from Linux Foundation&lt;/a&gt; and the &lt;a href="https://numfocus.medium.com/update-on-project-jupyter-ea84d0cd6fbf"&gt;blog post from NumFOCUS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the last decade, Jupyter has grown tremendously. From our roots as an evolution of the IPython project, Project Jupyter is now the de facto standard for interactive computation in data science, scientific computing, and machine learning. The software and standards developed by the Jupyter community span a rich and diverse ecosystem that includes data science, geospatial data analysis, physics, chemistry, CAD, and many other areas.&lt;/p&gt;
&lt;p&gt;In order to sustain this momentum, continue innovating in the space of interactive computational tools for thinking and collaborating, and better serve our community, we are introducing the new &lt;a href="https://jupyterfoundation.org/"&gt;Jupyter Foundation&lt;/a&gt;, a vehicle for the project to formally engage with industry partners and other organizations. We invite organizations of all types, including companies, government agencies, and non-profits who support our mission to join us through the Jupyter Foundation. For information on joining, please see &lt;a href="https://jupyterfoundation.org"&gt;https://jupyterfoundation.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As background for this change, the Project Jupyter Executive Council began exploring options for the next phase of our growth over a year ago. In March 2024, we presented a &lt;a href="https://jupyter.org/governance/linux-proposal.html"&gt;high-level proposal&lt;/a&gt; to the community for Jupyter to transition to LF Charities as its legal home. An &lt;a href="https://github.com/jupyter/governance/issues/204"&gt;open discussion&lt;/a&gt; was hosted on GitHub for the community to discuss this idea, generating a lot of feedback, which was incorporated into the main proposal document. Once discussion settled, on June 14, 2024, we moved to a &lt;a href="https://github.com/jupyter/governance/pull/226"&gt;formal vote&lt;/a&gt; as per our governance model, in which the Jupyter Executive Council and the Jupyter Software Steering Council jointly approved moving forward with the transition to the LF Charities. We have since then worked with both NumFOCUS and Linux Foundation leadership to formalize the transition, which is completed today. We sincerely thank NumFOCUS for their support of IPython and Jupyter, and we look forward to continuing collaborating with the entire community of NumFOCUS projects.&lt;/p&gt;
&lt;p&gt;If you are a user or supporter of Jupyter in any capacity, please help us spread the word about this new phase for the project, and encourage organizations to support our mission through the &lt;a href="https://jupyterfoundation.org/"&gt;Jupyter Foundation&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/><category term="Jupyter Foundation"/></entry><entry><title>JupyterLab 4.1 and Notebook 7.1 are here 🎉</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/" rel="alternate"/><published>2024-02-26T22:57:00+00:00</published><updated>2024-02-28T17:47:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2024-02-26:/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/</id><summary type="html">&lt;p&gt;JupyterLab 4.1 and Notebook 7.1 are now available! These releases include several new features, bug fixes, and enhancements for extension…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;a href="https://github.com/jupyterlab/jupyterlab"&gt;JupyterLab&lt;/a&gt; 4.1 and &lt;a href="https://github.com/jupyter/notebook"&gt;Notebook&lt;/a&gt; 7.1 are now available! These releases include several new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0 and Notebook 7.0.&lt;/p&gt;
&lt;p&gt;JupyterLab 4.1 is one of the largest minor releases of JupyterLab to date, bringing 6 new features, 39 enhancements, and 114 bug fixes to users, and addressing 140 maintenance tasks. Project Jupyter thanks the 70 contributors, including 13 new code/documentation contributors, who helped us build this new version.&lt;/p&gt;
&lt;p&gt;Jupyter Notebook 7.1 is the first minor release after &lt;a href="/posts/2023/announcing-jupyter-notebook-7/"&gt;the transition to the new codebase&lt;/a&gt;, which re-uses JupyterLab components. As such, Notebook 7.1 inherits many of the new features and fixes from JupyterLab 4.1. Feature parity with Notebook 6 was also improved in this release.&lt;/p&gt;
&lt;p&gt;JupyterLab Desktop was also upgraded to version 4.1, receiving additional bug fixes and enhancements. Thank you to Mehmet Bektas for your continuing work to improve JupyterLab Desktop!&lt;/p&gt;
&lt;p&gt;Extension authors should consult the &lt;a href="https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-0-to-4-1"&gt;Extension Migration Guide&lt;/a&gt;, which lists deprecations and changes to the public API.&lt;/p&gt;
&lt;h2 id="custom-css"&gt;Custom CSS&lt;/h2&gt;
&lt;p&gt;JupyterLab now supports automatic loading of custom CSS. &lt;a href="https://jupyterlab.readthedocs.io/en/latest/extension/extension_dev.html#theme-plugins"&gt;Themes&lt;/a&gt; are the recommended way for customizing the JupyterLab look and feel, while custom CSS is intended for minor personal adjustments.&lt;/p&gt;
&lt;p&gt;To opt in, start JupyterLab with the — custom-css flag. The location of the custom.css file is documented in the section on &lt;a href="https://jupyterlab.readthedocs.io/en/latest/user/interface_customization.html#custom-css"&gt;customizing the user interface&lt;/a&gt;. Please note that the CSS selectors may vary between versions and applications (JupyterLab vs Notebook).&lt;/p&gt;
&lt;h2 id="diagrams-in-markdown"&gt;Diagrams in Markdown&lt;/h2&gt;
&lt;p&gt;Matching GitHub-Flavoured Markdown, JupyterLab and Notebook now support &lt;a href="https://github.com/mermaid-js/mermaid"&gt;Mermaid&lt;/a&gt; diagrams. To create a Mermaid diagram, use the mermaid language specifier for a code block in a markdown cell or document, for example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;```mermaid
flowchart LR

A[Hard] --&amp;gt;|Text| B(Round)
B --&amp;gt; C{Decision}
C --&amp;gt;|One| D[Result 1]
C --&amp;gt;|Two| E[Result 2]
```
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;which renders as:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/images/001-0_PpZ4a6IMZOkvxz7W.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;h2 id="inline-code-completion"&gt;Inline code completion&lt;/h2&gt;
&lt;p&gt;JupyterLab and Notebook now support automatic code (and text) completion presented as ghost text in the cell and file editors, allowing generative AI models to provide multi-line completions. The suggestions are provided by plugins implementing the IInlineCompletionProvider API. By default a single provider using the user’s kernel history is available.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/images/002-0_xMRyjiyaizpZ33vE.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;The suggestions can be invoked as-you-type or manually using a configurable shortcut (by default Alt + ). The default keyboard shortcuts are displayed in the small widget shown when hovering over the ghost suggestion.&lt;/p&gt;
&lt;p&gt;To enable the inline suggestions based on the kernel history, go to Settings → Settings Editor → Inline Completer → History provider → check the “enabled” checkbox.&lt;/p&gt;
&lt;p&gt;In addition to the built-in history suggestions, additional inline completion providers can be installed. For example, the &lt;a href="https://github.com/jupyterlab/jupyter-ai"&gt;jupyter-ai&lt;/a&gt; extension, version &lt;a href="https://github.com/jupyterlab/jupyter-ai/releases/tag/v2.10.0"&gt;2.10.0&lt;/a&gt; and newer, provides suggestions from compatible large language models.&lt;/p&gt;
&lt;p&gt;The Inline Completer API is still considered experimental and may be subject to change. Please share your feedback!&lt;/p&gt;
&lt;h2 id="keyboard-navigation-improvements"&gt;Keyboard navigation improvements&lt;/h2&gt;
&lt;p&gt;Numerous improvements to keyboard navigation with focus on accessibility and usability are included in this release:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the notebook cells now retain focus&lt;/li&gt;
&lt;li&gt;the focus can now be moved beyond the active notebook&lt;/li&gt;
&lt;li&gt;the toolbars can now be navigated using arrow keys&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details, see &lt;a href="/posts/2023/recent-keyboard-navigation-improvements-in-jupyter/"&gt;the post on the Jupyter Blog about keyboard navigation improvements&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="execution-history-in-notebook"&gt;Execution history in notebook&lt;/h2&gt;
&lt;p&gt;The code from previously executed cells can be used to populate empty cells, letting users iterate on code from previous cells or even previous sessions, depending on how a specific kernel stores its history.&lt;/p&gt;
&lt;p&gt;To cycle between history items, press Alt + Arrow Up and Alt + Arrow Down.&lt;/p&gt;
&lt;p&gt;To enable execution history, go to Settings Editor → Notebook → check the “Kernel history access” checkbox.&lt;/p&gt;
&lt;p&gt;This feature was already available in the console in previous releases; it only works with kernels supporting execution history requests. To clear the execution history, consult the documentation of the kernel you are using (e.g., IPython/ipykernel).&lt;/p&gt;
&lt;h2 id="opening-files-from-tracebacks"&gt;Opening files from tracebacks&lt;/h2&gt;
&lt;p&gt;Paths to code files detected in error tracebacks are now turned into links. These links will open the corresponding file for editing, if it is in the Jupyter root directory, or they will open a read-only preview if the file is outside of the root directory and the active kernel supports the debugger.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/images/003-0_9RAGHslzMNiejAyi.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;h2 id="error-indicator-in-the-table-of-contents"&gt;Error indicator in the table of contents&lt;/h2&gt;
&lt;p&gt;When a cell fails during execution, an error indicator will be displayed by the corresponding heading, increasing awareness of the notebook state and enabling users to quickly navigate to the cell which requires attention.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/images/004-0_LvMrjrwtXoQas0KA.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;h2 id="plugin-manager"&gt;Plugin Manager&lt;/h2&gt;
&lt;p&gt;Individual plugins can now be disabled or enabled from a new Plugin Manager user interface. While the existing extension manager can enable/disable entire extensions, each extension is composed of one or more plugins (and plugins form the basis of JupyterLab itself) thus the plugin manager enables more extensive customization of the JupyterLab experience in addition to the previously available extension manager.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/images/005-0_xFUeQMS4Ul12H5JG.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;This feature is intended for advanced users and is documented in depth in the &lt;a href="https://jupyterlab.readthedocs.io/en/latest/user/extensions.html#managing-plugins-with-plugin-manager"&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Administrators may want to &lt;a href="https://jupyterlab.readthedocs.io/en/latest/user/extensions.html#locking-and-unlocking-plugins"&gt;lock specific plugins&lt;/a&gt; if they are required for any reason; this will prevent users from disabling the plugins via Plugin Manager and remote API calls. The Plugin Manager itself can be &lt;a href="https://jupyterlab.readthedocs.io/en/latest/user/extensions.html#enabling-and-disabling-extensions"&gt;disabled using the CLI&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="virtual-scrollbar-for-notebook-in-windowed-mode"&gt;Virtual scrollbar for notebook in windowed mode&lt;/h2&gt;
&lt;p&gt;The windowed notebook now has an optional scrollbar that shows the active cell and selected cells. Users can jump to a specific cell.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-4-1-and-notebook-7-1-are-here/images/006-0_XIIHUorBt2_HPYIh.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;To enable the virtual scrollbar, go to Settings → Notebook → Windowing mode, choose “full”, and click on the hamburger icon (≡) which appears in the notebook’s toolbar.&lt;/p&gt;
&lt;p&gt;Virtual scrollbar is an experimental feature. Please share your feedback!&lt;/p&gt;
&lt;h2 id="notifications"&gt;Notifications&lt;/h2&gt;
&lt;p&gt;JupyterLab 3.6 added a notification center which so far was only used for announcements and version update notifications (both opt-in). JupyterLab 4.1 adds two notifications to guide users in potentially confusing situations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;when a user attempts to save a read-only document, a transient notification suggesting using “save as” is displayed&lt;/li&gt;
&lt;li&gt;when a user attempts to execute a cell before a slow-starting kernel has initialized, a notification is shown to indicate that the cell cannot be yet executed (this is opt-in and needs to be enabled in settings)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="full-notebook-windowing-mode-improvements"&gt;Full notebook windowing mode improvements&lt;/h2&gt;
&lt;p&gt;Notebooks in the full windowing mode only render the visible cells, significantly improving the performance of the application. Numerous improvements for the full windowing mode behavior (such as scrolling, search, rendering, and navigation) are included in this release (see the list of issues in &lt;a href="https://github.com/jupyterlab/jupyterlab/issues/15258"&gt;#15258&lt;/a&gt; for details). Note: the windowing mode is still experimental and &lt;a href="https://github.com/jupyterlab/jupyterlab/issues/15258"&gt;known issues&lt;/a&gt; remain to be solved.&lt;/p&gt;
&lt;h2 id="search-improvements"&gt;Search improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The search box will now grow automatically to accommodate longer text&lt;/li&gt;
&lt;li&gt;Search in selection can now be toggled using Alt + L and automatic search in selection can be configured in settings&lt;/li&gt;
&lt;li&gt;Tooltips with shortcuts were added to the buttons in the search box to improve discoverability of the shortcuts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;Special shout out to new code/documentation contributors (hope to see you again!):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JupyterLab: @alden-ilao @AllanChain @ashna1jain @brijsiyag @DcWire @DenisaCG @Deepali1211 @dhml @dolevf @eliaslma @emmanuel-ferdman @e4e @g547315 @jans-code @j264415 @kiliansinger @KiranmaiKalla @misterfads @mmichilot @mdengler @MFA-X-AI @m158261@nbowditch-einblick @nluetts @paolocarinci @pauky @paulkim3151 @phil-zxx @Rmarieta @RRosio @Sarthug99 @sinistersnare @t03857785 @Wh1isper&lt;/li&gt;
&lt;li&gt;Notebook: @Dilip-Jain @haok1402 @akx&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you to the returning contributors (please do feel invited to review pull requests as well!):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JupyterLab: @afshin @akx @andrewfulton9 @andrii-i @bollwyvl @bikash30851 @brichet @davidbrochart @divyansshhh @dharmaquark @DonJayamanne @echarles @ericsnekbytes @fcollonval @firai @FoSuCloud @gabalafou @hbcarlos @JasonWeill @jtpio @krassowski @mctoohey @minrk @nishikantparmariam @parmentelat @skyetim @smacke @SylvainCorlay @telamonian @tibdex @timkpaine @trungleduc @yuvipanda&lt;/li&gt;
&lt;li&gt;Notebook: @brichet @jtpio&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;and everyone who tested the pre-releases!&lt;/p&gt;
&lt;p&gt;Additionally, we would like to thank our community triage leaders who helped sort issues for JupyterLab (@JasonWeill), Notebook (@RRosio) and JupyterLab Desktop during the course of &lt;a href="https://github.com/jupyterlab/team-compass?tab=readme-ov-file#weekly-jupyter-triage-meeting"&gt;weekly triage meetings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Contributors to this blog post: @JasonWeill @krassowski @gabalafou @jtpio&lt;/p&gt;
</content><category term="Jupyter Notebook"/><category term="JupyterLab"/><category term="releases"/></entry><entry><title>JupyterLab 3 end of maintenance</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyterlab-3-end-of-maintenance/" rel="alternate"/><published>2024-02-19T22:07:00+00:00</published><updated>2024-02-19T22:07:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2024-02-19:/medium-archive/pelican/posts/2024/jupyterlab-3-end-of-maintenance/</id><summary type="html">&lt;p&gt;The JupyterLab Council has agreed to an important change to JupyterLab’s version lifecycle. Each major version of JupyterLab will now…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;The JupyterLab Council has agreed to an important change to &lt;a href="https://jupyterlab.readthedocs.io/en/latest/getting_started/lifecycle.html"&gt;JupyterLab’s version lifecycle&lt;/a&gt;. Each major version of JupyterLab will now receive updates until &lt;strong&gt;one year after the following major version’s first release&lt;/strong&gt;. JupyterLab 4.0.0 was released on May 15, 2023, so &lt;strong&gt;JupyterLab 3 will reach its end of maintenance date on May 15, 2024, anywhere on Earth&lt;/strong&gt;. To help us make this transition, fixes for critical issues will still be backported until December 31, 2024. If you are still running JupyterLab 3, we strongly encourage you to &lt;strong&gt;upgrade to JupyterLab 4 as soon as possible&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This represents a change from JupyterLab’s previous policy, by which we supported two major versions of JupyterLab at a time, and which would have obligated us to continue supporting JupyterLab 3 until JupyterLab 5.0.0 became generally available. We decided to make this change to let developers, contributors, and users focus their attention on the newest major version, JupyterLab 4. Maintaining multiple major versions requires additional time and effort, which could instead be put towards making the current version better for all users. Recent releases on the 3.6.x branches have included mainly security fixes and maintenance fixes, not new features.&lt;/p&gt;
&lt;p&gt;We recognize that there are many users still using JupyterLab 3, having downloaded it directly from package repositories or using it as distributed by a commercial vendor. We strongly encourage all users and vendors to upgrade to Lab 4 as soon as possible. If this is not possible, out of acknowledgement for the short notice of this announcement, &lt;strong&gt;we will consider pull requests addressing critical issues against the 3.6.x branch through December 31, 2024, anywhere on Earth&lt;/strong&gt;, provided that they meet &lt;em&gt;all&lt;/em&gt; of the following requirements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The fix addresses a critical issue: a security vulnerability, data loss, or another issue of very high severity.&lt;/li&gt;
&lt;li&gt;The fix includes tests, is reasonably small and low in complexity, and the author communicates actively with maintainers who review their work.&lt;/li&gt;
&lt;li&gt;The fix is approved by a JupyterLab maintainer.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The JupyterLab team recognizes that a few regressions from JupyterLab 3 were present in JupyterLab 4.0.0; &lt;a href="https://github.com/jupyterlab/jupyterlab/issues?q=is%3Aopen+is%3Aissue+label%3Atag%3ARegression+milestone%3A4.0.x"&gt;some of them are still open&lt;/a&gt;. Project Jupyter is driven by volunteers, community contributors, and support from individual and corporate users. We thank our community for their patience and we encourage our contributors to help us resolve bugs that block users from upgrading to the newer version. The JupyterLab maintainers are committing to review any pull requests submitted to address regressions as a priority over pull requests&lt;/p&gt;
&lt;p&gt;We want to hear from you! If you have questions or comments about this new version lifecycle, please leave them below, or join the conversation on the &lt;a href="https://discourse.jupyter.org/t/jupyterlab-3-end-of-maintenance/23867"&gt;Jupyter Community Forum&lt;/a&gt;. We also welcome discussion about the change at our weekly JupyterLab meetings, which are held every Wednesday at 09:00 US Pacific (17:00 UTC as of today, 16:00 UTC starting on March 10, 2024).&lt;/p&gt;
&lt;p&gt;Thank you for using JupyterLab and for being a part of our great global community!&lt;/p&gt;
</content><category term="JupyterLab"/><category term="releases"/></entry><entry><title>Jupyter Media Strategy &amp; Social Media Update</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyter-media-strategy-social-media-update/" rel="alternate"/><published>2024-01-10T21:00:00+00:00</published><updated>2024-01-10T22:04:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2024-01-10:/medium-archive/pelican/posts/2024/jupyter-media-strategy-social-media-update/</id><summary type="html">&lt;p&gt;Announcing the Jupyter Media Strategy working group (JMS)&lt;/p&gt;
</summary><content type="html">&lt;figure&gt;
&lt;img alt="Project Jupyter is on Hachyderm" src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyter-media-strategy-social-media-update/images/001-0_GlGLIwzCCqvYGXHl.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Project Jupyter is on Hachyderm&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="summary-of-announcement"&gt;Summary of announcement&lt;/h2&gt;
&lt;p&gt;We are excited to announce the formation of the J&lt;a href="https://jupyter.org/social"&gt;upyter Media Strategy working group&lt;/a&gt; (JMS)!&lt;/p&gt;
&lt;p&gt;The growth of the Jupyter community has led to an increase in the number of people who want to engage with our brand and an increase in the number of official Jupyter media channels. As the use of our public channels has grown, it is clear we need to have a better structure for managing not only access to the various accounts but also a more cohesive strategy for the messaging presented on those channels.&lt;/p&gt;
&lt;p&gt;The JMS will ensure communications in Jupyter official channels are strategic and benefit Project Jupyter. Jupyter publications, social media posts, promotions and other media activity are meant to be community driven, as supported by distributed responsibilities in the Jupyter &lt;a href="https://jupyter.org/governance/overview.html"&gt;governance model&lt;/a&gt;. The JMS will enable access for the community to speak publicly through the official Jupyter communication channels. The JMS will also help to improve Jupyter media activity by creating strategy and guidelines, serving as editors for existing public media channels, and overseeing creation/delegation of new media channels.&lt;/p&gt;
&lt;h2 id="do-you-have-a-message-to-share-with-the-jupyter-community"&gt;Do you have a message to share with the Jupyter Community?&lt;/h2&gt;
&lt;p&gt;If you have a Jupyter or Open Source related message or story that you would like to share within the Jupyter official channels, here is a checklist to guide you.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Please plan ahead. We are primarily a group of volunteers and we will review requests on a weekly basis.&lt;/li&gt;
&lt;li&gt;Submit your post to Jupyter publication. Follow submission guidelines and processes &lt;a href="https://jupyter.org/social"&gt;outlined here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The JMS will respond to your request. Possible outcomes include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Approval: the JMS will publish your blog post taking into account other pending posts in the editorial lineup as need be.&lt;/li&gt;
&lt;li&gt;Request for revision of content: guidance for improvements.&lt;/li&gt;
&lt;li&gt;Rejection of topic: we’ll share reasons why we’re unable to publish your topic.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="jupyter-official-channels"&gt;Jupyter Official Channels&lt;/h2&gt;
&lt;p&gt;Mastodon is currently Project Jupyter’s preferred social media channel. Other social media channels may be used to amplify posts from the Project Jupyter blog.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Discourse: &lt;a href="https://discourse.jupyter.org/"&gt;https://discourse.jupyter.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LinkedIn:&lt;a href="https://linkedin.com/company/project-jupyter"&gt;https://linkedin.com/company/project-jupyter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Medium: &lt;a href="https://blog.jupyter.org/"&gt;https://blog.jupyter.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mastodon:&lt;a href="https://hachyderm.io/@ProjectJupyter"&gt;https://hachyderm.io/@ProjectJupyter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Slack JupyterLab: &lt;a href="https://jupyterlabworkspace.slack.com/"&gt;https://jupyterlabworkspace.slack.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;X/Twitter:&lt;a href="https://twitter.com/ProjectJupyter"&gt;https://twitter.com/ProjectJupyter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;YouTube:&lt;a href="https://youtube.com/@ipython"&gt;https://youtube.com/@ipython&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="meet-the-jms"&gt;Meet the JMS&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/jupyter-media-strategy-social-media-update/images/002-0_xWK6Xmc2k-zKuM3x.jpg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hachyderm.io/@Ruv7"&gt;Ana Ruvalcaba&lt;/a&gt; (top left), is a Director at California Polytechnic University, San Luis Obispo. She serves on the Jupyter Executive Council and various community groups at Jupyter including DEI and Community Building.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/andrii-i/"&gt;Andrii Ieroshenko&lt;/a&gt; (top right) is a Software Development Engineer at AWS. Andrii is a Project Jupyter contributor and community member. He serves on the JupyterLab and Jupyter Notebook councils.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/blink1073/"&gt;Steven Silvester&lt;/a&gt; (bottom left), is an Engineering Lead at MongoDB. He serves on the Jupyter Executive Council and a member of several software steering councils.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jacob-diamond-reivich-03ab62145/"&gt;Jake Diamond-Reivich&lt;/a&gt; (bottom right), is a Founder at Mito. He serves on Jupyter Media Strategy Working Group. Jake is excited to help Jupyter flourish by optimizing community communications and making it easier for people to engage with the community.&lt;/p&gt;
&lt;h2 id="send-us-your-feedback"&gt;Send us your feedback&lt;/h2&gt;
&lt;p&gt;If you have general questions or ideas related to Jupyter Media Strategy we welcome feedback. Contact the JMS at &lt;a href="mailto:jupyter-media-strategy@googlegroups.com"&gt;jupyter-media-strategy@googlegroups.com&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Recent keyboard navigation improvements in Jupyter</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2023/recent-keyboard-navigation-improvements-in-jupyter/" rel="alternate"/><published>2023-12-16T09:48:00+00:00</published><updated>2023-12-16T09:48:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2023-12-16:/medium-archive/pelican/posts/2023/recent-keyboard-navigation-improvements-in-jupyter/</id><summary type="html">&lt;p&gt;Towards a more accessible Jupyter Notebook&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Towards a more accessible Jupyter Notebook&lt;/p&gt;
&lt;p&gt;Upcoming versions of JupyterLab (4.1.0) and Notebook (7.1.0) will include major keyboard accessibility fixes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.w3.org/WAI/WCAG21/Understanding/keyboard-accessible"&gt;Keyboard accessibility&lt;/a&gt; is fundamental to overall app accessibility. Interactions that require pointing devices like mice or trackpads are usability barriers for many users across a wide spectrum of disabilities. Ensuring that all UI features are seamlessly accessible through keyboard-only navigation is imperative for an inclusive user experience.&lt;/p&gt;
&lt;h2 id="keyboard-navigation-in-jupyterlab"&gt;Keyboard navigation in JupyterLab&lt;/h2&gt;
&lt;p&gt;A recent audit of the JupyterLab UI highlighted significant gaps in keyboard navigation, posing obstacles to usability and accessibility. One of the main obstacles to efficient keyboard navigation in JupyterLab is the number of UI items to skim through before being able to perform an action, such as typing in a document or creating a file. Indeed, as with any feature-rich application, the JupyterLab UI includes many menus, widgets, and inputs to interact with. The user interface is made of three main areas (left, center, and right), each one split into several panels. And most of these panels include toolbars with buttons to perform specific actions.&lt;/p&gt;
&lt;p&gt;Improving this navigation required separate fixes for different elements of the page:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Menu bar (&lt;a href="https://github.com/jupyterlab/lumino/pull/465"&gt;Lumino #465)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tab bar (&lt;a href="https://github.com/jupyterlab/lumino/pull/612"&gt;Lumino #612)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Toolbar (&lt;a href="https://github.com/jupyterlab/jupyterlab/pull/15021"&gt;JupyterLab #15021)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these changes follow the same logic: the Tab key is used to navigate between top-level elements (toolbar, menu, tab list), but not to navigate between items for which one should use arrow keys, nor to select an item for which one can use the Enter/Space keys. Most of these changes were actually applied to low-level components of JupyterLab, so that any JupyterLab extension built upon them will benefit from these improvements.&lt;/p&gt;
&lt;p&gt;The changes to the toolbar make use of a new &lt;a href="https://github.com/jupyterlab-contrib/jupyter-ui-toolkit"&gt;UI toolkit&lt;/a&gt;, based on web components, which natively includes these accessibility features, but also helps standardize the widgets used across the JupyterLab UI and JupyterLab extensions.&lt;/p&gt;
&lt;h2 id="notebook-tab-traps"&gt;Notebook Tab Traps&lt;/h2&gt;
&lt;p&gt;Another blocker to keyboard navigation was the existence of “tab traps” or “focus traps” in the notebook widget. Tab traps occur when a user cannot move focus away from an interactive element with the Tab key.&lt;/p&gt;
&lt;p&gt;The main problem was that, while the input area of each notebook cell could be reached by using the Tab key, the input area itself, which is a text editor, does not allow moving to the next item using the Tab key since the Tab key is used to insert spaces into the editor.&lt;/p&gt;
&lt;p&gt;This has been fixed in &lt;a href="https://github.com/jupyterlab/jupyterlab/pull/14115"&gt;JupyterLab PR #14115&lt;/a&gt;, by changing the tabbable items in the Notebook from the cell input to the cell itself. Now the Notebook follows the same logic mentioned above. Arrow keys are used to navigate the cells, whereas the Tab key is reserved mostly to navigate into and then back out of the Notebook. Entering or exiting the input element of the cell is done using the Enter and Escape keys, respectively.&lt;/p&gt;
&lt;p&gt;These changes required a complete inversion in the way the keyboard events are handled in the notebook, especially with respect to keyboard shortcuts. These modifications were required to retain keyboard shortcuts in the output widget and at the notebook level, while changing the way element focus is managed in the notebook.&lt;/p&gt;
&lt;h2 id="future-accessibility-improvements"&gt;Future accessibility improvements&lt;/h2&gt;
&lt;p&gt;Accessibility work at Jupyter is grounded in the recommendations of the &lt;a href="https://www.w3.org/WAI/"&gt;W3C Web Accessibility Initiative&lt;/a&gt;, in particular their standards for web content (WCAG), web apps (ARIA), and authoring tools (ATAG). There has been particular interest recently in addressing the authoring part of the equation.&lt;/p&gt;
&lt;p&gt;That’s because a crucial aspect of the accessibility of notebooks lies in the content itself. It is imperative that Jupyter front ends actively support notebook authors in creating accessible content. This involves, for instance, prompting authors to include descriptive alt text for images, and issuing warnings when heading ranks are skipped. Skipping heading ranks can lead to difficulties in navigating the document outline, especially for users relying on screen readers. Such warnings could be brought through the language server protocol for markdown cells for example.&lt;/p&gt;
&lt;p&gt;If your organization is interested in supporting such accessibility improvements, please reach out to the &lt;a href="https://github.com/jupyter/accessibility"&gt;Jupyter accessibility team&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id="feedback"&gt;Feedback&lt;/h2&gt;
&lt;p&gt;Please try out the latest pre-release of JupyterLab 4.1. Try opening, editing, and saving a notebook without using your mouse or trackpad. Be aware that there are still areas of the UI as well as extensions that need fixing for mouseless use. We are keeping track of accessibility issues in a few places: &lt;a href="https://github.com/jupyterlab/jupyterlab/labels/tag%3AAccessibility"&gt;JupyterLab GitHub accessibility label&lt;/a&gt;, &lt;a href="https://github.com/jupyter/notebook/issues?q=is%3Aopen+is%3Aissue+label%3Atag%3AAccessibility"&gt;Notebook 7 GitHub accessibility label&lt;/a&gt;, JupyterLab issue &lt;a href="https://github.com/jupyterlab/jupyterlab/issues/9399"&gt;#9399&lt;/a&gt;. As you will find at those links, there’s still loads more to do. If you can help with either fixing those things or identifying other issues, please come help us, your contribution is valuable and you are welcome!&lt;/p&gt;
&lt;h2 id="about-the-authors"&gt;About the Authors&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://twitter.com/NicolasBrichet_"&gt;Nicolas Brichet&lt;/a&gt; is a scientific software developer at &lt;a href="https://twitter.com/QuantStack"&gt;QuantStack&lt;/a&gt;, and a JupyterLab core team member. Prior to this work on keyboard navigation, Nicolas contributed to improving the accessibility of Jupyter by addressing the issues detected by the Axe accessibility testing engine.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/gabalafou"&gt;Gabriel Fouasnon&lt;/a&gt; is a frontend developer at &lt;a href="https://twitter.com/quansightai"&gt;Quansight&lt;/a&gt;, a member of the Jupyter Software Steering Council representing the accessibility subproject, and a JupyterLab core team member.&lt;/p&gt;
&lt;h2 id="acknowledgments"&gt;Acknowledgments&lt;/h2&gt;
&lt;p&gt;This work on improving the keyboard navigation of JupyterLab was started with an audit of the keyboard navigation of the Jupyter Notebook v7 by Isabela Presedo-Floyd.&lt;/p&gt;
&lt;p&gt;The work of Gabriel Fouasnon and Isabela Presedo-Floyd at Quansight on Jupyter accessibility was funded by the Chan Zuckerberg Initiative, through the “&lt;a href="https://chanzuckerberg.com/eoss/"&gt;Essential Open Source Software for Science&lt;/a&gt;” (EOSS) grant program.&lt;/p&gt;
&lt;p&gt;The work by Nicolas Brichet at QuantStack on the accessibility of Jupyter was funded by &lt;a href="https://www.insee.fr/"&gt;INSEE&lt;/a&gt;, the French National Institute of Statistics and Economic Studies.&lt;/p&gt;
&lt;p&gt;We also want to acknowledge all of the members of the Jupyter Accessibility Council: Tania Allard, Alex Bozarth, Frédéric Collonval, Martha Cryan, Afshin T. Darian, R Ely, Tony Fast, Gabriel Fouasnon, Michał Krassowski, and Isabela Presedo-Floyd, without whom this work would not be possible.&lt;/p&gt;
</content><category term="accessibility"/><category term="JupyterLab"/></entry><entry><title>Announcing Jupyter Notebook 7</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2023/announcing-jupyter-notebook-7/" rel="alternate"/><published>2023-07-26T16:08:00+00:00</published><updated>2023-07-28T21:24:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2023-07-26:/medium-archive/pelican/posts/2023/announcing-jupyter-notebook-7/</id><summary type="html">&lt;p&gt;Jupyter Notebook 7 is the most significant release of the Jupyter Notebook in years. Some highlights of this release include real-time…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Jupyter Notebook 7 is the most significant release of the Jupyter Notebook in years. Some highlights of this release include real-time collaboration, interactive debugging, table of contents, theming and dark mode, internationalization, improved accessibility, compact view on mobile devices.&lt;/p&gt;
&lt;p&gt;Both Jupyter Notebook and JupyterLab are widely used across data science, machine learning, computational research, and education. With the release of &lt;a href="/posts/2023/jupyterlab-4-0-is-here/"&gt;JupyterLab 4&lt;/a&gt; and Jupyter Notebook 7, the two sibling applications offer a unified, flexible, and integrated experience that allows you to get the best of both, in whatever combination that makes sense for you.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Jupyter Notebook 7 with a running Python 3 notebook" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/announcing-jupyter-notebook-7/images/001-0_1RXUtbuPrEJC95ut.jpg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Jupyter Notebook 7 with a running Python 3 notebook&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Since Notebook 7 is based on JupyterLab, it includes many of the new features and improvements that have been added to JupyterLab over the past few years.&lt;/p&gt;
&lt;p&gt;Here is a small glimpse of what users can expect when they upgrade from Jupyter Notebook version 6 to version 7.&lt;/p&gt;
&lt;h2 id="a-familiar-document-oriented-experience"&gt;A Familiar Document-Oriented Experience&lt;/h2&gt;
&lt;p&gt;Starting with what does not change, Notebook 7 still focuses on the &lt;a href="https://jupyter-notebook.readthedocs.io/en/latest/notebook_7_features.html#a-document-centric-user-experience"&gt;document-centric user experience&lt;/a&gt; that made the classic IPython and Jupyter Notebook application so popular.&lt;/p&gt;
&lt;p&gt;It keeps the clean and lean interface that users love, and it enables you to create and edit the same Jupyter notebook &lt;code&gt;.ipynb&lt;/code&gt; files that contain live code, equations, visualizations and narrative text.&lt;/p&gt;
&lt;h2 id="visual-debugger"&gt;Visual Debugger&lt;/h2&gt;
&lt;p&gt;Notebook 7 includes the &lt;a href="https://jupyter-notebook.readthedocs.io/en/latest/notebook_7_features.html#debugger"&gt;interactive debugger&lt;/a&gt; from JupyterLab, which enables you to step through your code cell by cell. You can also set breakpoints and inspect variables.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Visual debugging in Jupyter Notebook 7" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/announcing-jupyter-notebook-7/images/002-0_E7VuIsVkLGz_0qWM.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Visual debugging in Jupyter Notebook 7&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="real-time-collaboration"&gt;Real-Time Collaboration&lt;/h2&gt;
&lt;p&gt;Notebook 7 enables you to use the same &lt;a href="https://jupyter-notebook.readthedocs.io/en/latest/notebook_7_features.html#real-time-collaboration"&gt;real-time collaboration&lt;/a&gt; extension as JupyterLab so you can share your notebook with other users and edit it in real time. This even works across JupyterLab and Jupyter Notebook! To start using real-time collaboration, you will need to install the &lt;code&gt;jupyter-collaboration&lt;/code&gt; extension:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pip install jupyter-collaboration
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;figure&gt;
&lt;img alt="A side-by-side animated example of real-time collaboration in Jupyter Notebook 7" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/announcing-jupyter-notebook-7/images/003-0_aiZac10EROHCzjDH.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;A side-by-side animated example of real-time collaboration in Jupyter Notebook 7&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="theming-and-dark-mode"&gt;Theming and Dark Mode&lt;/h2&gt;
&lt;p&gt;A dark &lt;a href="https://jupyter-notebook.readthedocs.io/en/latest/notebook_7_features.html#theming-and-dark-mode"&gt;theme&lt;/a&gt; is now available in the Jupyter Notebook by default.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Jupyter Notebook 7 with JupyterLab Dark theme" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/announcing-jupyter-notebook-7/images/004-0_dB66sd0Lj_Tkj1zv.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Jupyter Notebook 7 with JupyterLab Dark theme&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;You can also install many other JupyterLab themes. For example to install the JupyterLab night theme:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pip install jupyterlab-night
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;figure&gt;
&lt;img alt="Jupyter Notebook 7 with JupyterLab Night theme" src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/announcing-jupyter-notebook-7/images/005-0_IpQyDee4zZ5VJAkM.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Jupyter Notebook 7 with JupyterLab Night theme&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="improved-integration-between-jupyterlab-and-notebook"&gt;Improved integration between JupyterLab and Notebook&lt;/h2&gt;
&lt;p&gt;We have built Notebook 7 and JupyterLab 4 to work well together. When you run either application using &lt;code&gt;jupyter lab&lt;/code&gt; or &lt;code&gt;jupyter notebook&lt;/code&gt;, we automatically detect if the other application is installed and enable its user experience as well. This is possible as both JupyterLab and Notebook use the same underlying server and extension system. From a user experience perspective, this allows you to easily open a notebook in the other application using the “JupyterLab” and “Notebook” buttons as the top of each notebook. This makes it seamless to move back and forth between the two applications to best match your work.&lt;/p&gt;
&lt;h2 id="more-features"&gt;More features&lt;/h2&gt;
&lt;p&gt;You can find a list of the new features in the &lt;a href="https://jupyter-notebook.readthedocs.io/en/latest/notebook_7_features.html"&gt;Jupyter Notebook documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="why-a-new-version"&gt;Why a new version?&lt;/h2&gt;
&lt;p&gt;Following feedback from the community, we decided in late 2021 to continue developing the Jupyter Notebook application and sunrise it as Notebook 7.&lt;/p&gt;
&lt;p&gt;The major change is building the Jupyter Notebook 7 interface with JupyterLab components so that the two applications share a common codebase and extension system. We have worked hard to ensure that the experience users know and love from Jupyter Notebook 6 is preserved, even as we have added many new features to Notebook 7. Let’s dive into those new features!&lt;/p&gt;
&lt;p&gt;You can find more details about the rationale behind this new release in &lt;a href="https://jupyter.org/enhancement-proposals/79-notebook-v7/notebook-v7.html"&gt;Jupyter Enhancement Proposal 79&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="migrating-to-notebook-7"&gt;Migrating to Notebook 7&lt;/h2&gt;
&lt;p&gt;The Jupyter Notebook Team has been working to make the transition from Notebook 6 to Notebook 7 as smooth as possible. The Notebook 7 release is a good opportunity to try out the new features and report any issues you may encounter.&lt;/p&gt;
&lt;p&gt;Because the architecture of Notebook 7 is rebuilt from the ground up, we recognize that some existing users might need a medium-term option for backward-compatibility with Notebook 6 using &lt;a href="https://nbclassic.readthedocs.io/en/latest/nbclassic.html"&gt;NbClassic&lt;/a&gt;, which delivers the same user experience and can be run on the same server as JupyterLab and Notebook 7. This means that the server hosting your Notebook can deliver those 3 difference user interfaces at the same time.&lt;/p&gt;
&lt;p&gt;There is also a &lt;a href="https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html"&gt;migration guide&lt;/a&gt; to help you upgrade to the new version.&lt;/p&gt;
&lt;h2 id="try-it-on-binder"&gt;Try it on Binder&lt;/h2&gt;
&lt;p&gt;You can try Notebook 7 on Binder using &lt;a href="https://mybinder.org/v2/gist/jtpio/d368ab89cee5123ecee60683115e15f3/master?urlpath=/tree"&gt;this link&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;The work on Notebook 7 by Jeremy Tuloup was supported by &lt;a href="https://quantstack.net/"&gt;QuantStack&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://anaconda.com/"&gt;Anaconda&lt;/a&gt; supported work on Notebook 6 and 7, NbClassic, documentation and maintenance.&lt;/p&gt;
&lt;h2 id="get-involved"&gt;Get Involved&lt;/h2&gt;
&lt;p&gt;There are many ways you can participate in the Notebook 7 effort. We welcome contributions from all members of the Jupyter community:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make your own extensions. You can also help the community by porting Classic Notebook extensions to Notebook 7.&lt;/li&gt;
&lt;li&gt;Contribute to the development, documentation, and design of Jupyter Notebook on GitHub. To get started with development, please see the Contributing Guide and Code of Conduct. Many issues are ideal for new contributors and are tagged as “good first issue” or “help wanted”.&lt;/li&gt;
&lt;li&gt;Connect with the community on GitHub or on Discourse. If you find a bug, have questions, or want to provide feedback, please join the conversation!&lt;/li&gt;
&lt;/ul&gt;
</content><category term="Jupyter Notebook"/><category term="releases"/></entry><entry><title>🎉 JupyterCon 2023 recordings now live on YouTube! 🎉</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2023/jupytercon-2023-recordings-now-live-on-youtube/" rel="alternate"/><published>2023-07-22T21:14:00+00:00</published><updated>2023-07-22T21:16:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2023-07-22:/medium-archive/pelican/posts/2023/jupytercon-2023-recordings-now-live-on-youtube/</id><summary type="html">&lt;p&gt;Get ready to re-live the magic of JupyterCon 2023, because the long-awaited moment is finally here! The JupyterCon YouTube channel has…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Get ready to relive the magic of JupyterCon 2023, because the long-awaited moment is finally here! The &lt;a href="https://www.youtube.com/jupytercon"&gt;JupyterCon YouTube channel&lt;/a&gt; has just dropped a treasure trove of content — all the talk and keynote recordings from the most epic conference of the year.&lt;/p&gt;
&lt;p&gt;Held at the Cité des Sciences in the city of Paris, from May 10 to 12, &lt;a href="https://www.jupytercon.com/"&gt;JupyterCon 2023&lt;/a&gt; was a celebration of all things Jupyter and beyond.&lt;/p&gt;
&lt;p&gt;You can now access all the knowledge-packed sessions online. Don’t miss this opportunity to be inspired by visionaries and experts from different fields who shared their insights on the future of Jupyter.&lt;/p&gt;
&lt;p&gt;We extend our heartfelt gratitude to the &lt;a href="https://www.jupytercon.com/sponsors"&gt;sponsors&lt;/a&gt;, speakers, attendees, and volunteers who contributed to the vibrant atmosphere and made JupyterCon 2023 a memorable experience. Together, we’ve created a platform for knowledge sharing, innovation, and collaboration, empowering data scientists, researchers, educators, and developers worldwide. Thank you for making this conference possible!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.jupytercon.com/"&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2023/jupytercon-2023-recordings-now-live-on-youtube/images/001-1_j0Cai6fnoYoJ-axQzIvpaA.webp" alt="The JupyterCon 2023 logo" loading="lazy" data-body-image=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On behalf of the JupyterCon 2023 organization committee,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gayle Ollington — Jupyter Community Events Manager&lt;/li&gt;
&lt;li&gt;Sylvain Corlay — JupyterCon 2023 General Chair&lt;/li&gt;
&lt;/ul&gt;
</content><category term="events"/><category term="JupyterCon"/></entry><entry><title>Jupyter Community 2021 Update</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2021/jupyter-community-2021-update/" rel="alternate"/><published>2021-12-20T17:53:00+00:00</published><updated>2021-12-20T20:18:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2021-12-20:/medium-archive/pelican/posts/2021/jupyter-community-2021-update/</id><summary type="html">&lt;p&gt;New committee announcement Project Jupyter is happy to share some exciting news in key efforts to connect the global Jupyter community. First, we’d like to introduce a …&lt;/p&gt;
</summary><content type="html">&lt;figure&gt;
&lt;img alt="Attendees to the June 2019 Community Workshop on Dashboarding in Paris (Photo credit to Lindsey Heagy)" src="https://jasongrout.github.io/medium-archive/pelican/posts/2021/jupyter-community-2021-update/images/001-0_yTx05ysvB6B5NuZ0.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Attendees to the June 2019 Community Workshop on Dashboarding in Paris (Photo credit to Lindsey Heagy)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="new-committee-announcement"&gt;New committee announcement&lt;/h2&gt;
&lt;p&gt;Project Jupyter is happy to share some exciting news in key efforts to connect the global Jupyter community. First, we’d like to introduce a new committee that was created to act on behalf of the Project Jupyter Steering Council with the objective of growing, building, and connecting the global Jupyter community of users and contributors. You can learn more about the Jupyter Community Building committee &lt;a href="https://jupyter.org/governance/communitybuildingcommittee.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="were-hiring"&gt;We’re hiring!&lt;/h2&gt;
&lt;p&gt;We are hiring a Jupyter Community Events Manager to help manage Jupyter Community Workshops and the JupyterCon conference. Check out the blog post about the position at &lt;a href="https://numfocus.medium.com/were-hiring-jupyter-community-events-manager-2f31e5b869a8"&gt;NumFOCUS blog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="jupyter-community-workshops"&gt;Jupyter Community Workshops&lt;/h2&gt;
&lt;p&gt;The Jupyter Community Workshop program has been an outstanding success in bringing together small groups of Jupyter community members and core contributors for high-impact strategic work and community engagement on focused topics. Community members have hosted 11 community workshops since 2018 exploring using Jupyter in specific disciplines (education, scientific facilities with supercomputers), promoting Jupyter around the world (Hawaii, South America, D.R. Congo), and developing core Jupyter projects and attracting new contributors (Jupyter server, Jupyter widgets, Jupyter kernels, nbgrader, Voilà).&lt;/p&gt;
&lt;p&gt;Many more workshops were in planning stages when the COVID-19 pandemic abruptly paused in-person gatherings globally in March, 2020. All workshops were put on hold until 2021, and organizers are currently working through how to best proceed in the still-uncertain environment around global in-person gatherings (for example, scheduling far into the future, or moving to a virtual gathering). Two upcoming workshops have been scheduled for 2022 (on accessibility in Jupyter and Jupyter in musculoskeletal research), and more workshops are in the planning stages. Stay tuned for more details.&lt;/p&gt;
&lt;h2 id="jupytercon"&gt;JupyterCon&lt;/h2&gt;
&lt;p&gt;In 2017 and 2018, our first two global user conferences were made possible through a grant from the Leona M and Harry B Helmsley Charitable Trust and a partnership with O’Reilly Media and NumFOCUS.&lt;/p&gt;
&lt;p&gt;Unlike in 2017 and 2018, JupyterCon 2020 was &lt;em&gt;entirely&lt;/em&gt; led by the community. Together with NumFOCUS, a team of community volunteers made the event possible, despite the enormous challenges from the COVID-19 pandemic. With over 170 tutorials, talks, and posters, and over 700 attendees, JupyterCon 2020 was a huge success. We are incredibly grateful to all the volunteers who worked on the conference and to all the participants for their contributions.&lt;/p&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;Many thanks to our generous sponsors! These community building efforts, including the hiring of an Event Manager, is made possible through significant donations from our partners at &lt;a href="https://www.techatbloomberg.com/"&gt;&lt;strong&gt;Bloomberg&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://aws.amazon.com/"&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="about-the-authors"&gt;About the Authors&lt;/h2&gt;
&lt;p&gt;This post was written by the &lt;a href="https://github.com/jupyter/governance/blob/6af915d24ca4216895c73f995d5cb9cbcae88ff4/communitybuildingcommittee.md"&gt;Jupyter Community Building Committee&lt;/a&gt;, currently composed of &lt;a href="https://twitter.com/Ruv7"&gt;Ana Ruvalcaba&lt;/a&gt;, &lt;a href="https://twitter.com/jason_grout"&gt;Jason Grout&lt;/a&gt;, and &lt;a href="https://twitter.com/SylvainCorlay"&gt;Sylvain Corlay&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Community Note</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2021/community-note/" rel="alternate"/><published>2021-09-08T19:40:00+00:00</published><updated>2021-09-08T19:40:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2021-09-08:/medium-archive/pelican/posts/2021/community-note/</id><summary type="html">&lt;p&gt;We would like to acknowledge that it has recently come to our attention that a Jupyter event that took place in late Summer 2021 did not…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We would like to acknowledge that it has recently come to our attention that a Jupyter event that took place in late Summer 2021 did not follow the agreed-upon COVID safety guidelines. The safety of our community is one of our highest priorities at Jupyter events and the Jupyter Community Building Committee on behalf of the Steering Council apologizes for any undue risk event attendees may have faced. While we understand no one fell ill from the event, this is not in line with our standards and we will make every effort to do better in the future.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>A visual debugger for Jupyter</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/" rel="alternate"/><published>2020-03-25T15:53:00+00:00</published><updated>2020-03-26T09:12:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2020-03-25:/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/</id><summary type="html">&lt;p&gt;Most of the progress made in software projects comes from incrementalism. The ability to quickly see the outcome of an execution and…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Most of the progress made in software projects comes from &lt;em&gt;incrementalism&lt;/em&gt;. The ability to quickly see the outcome of an execution and iterate has been one of the main reasons for the success of Jupyter, especially in scientific exploratory workflows.&lt;/p&gt;
&lt;p&gt;Jupyter users like to &lt;em&gt;experiment&lt;/em&gt; in the notebook, and to use the notebook as an interactive communication tool. However, for more classical software development tasks such as the refactoring of a large codebase, they often switch to general-purpose IDEs.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="The JupyterLab environment." src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/001-1_u8y-ggU2O513KjXdGbdEuQ.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The JupyterLab environment.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The Jupyter project has made strides in the past few years towards filling that gap, notably with the &lt;strong&gt;JupyterLab&lt;/strong&gt; project, which enables a richer UI including a file browser, text editors, consoles, notebooks, and a rich layout system.&lt;/p&gt;
&lt;p&gt;However, a missing piece (which has remained one of the main reasons for users to switch to a different tool) is a &lt;strong&gt;visual debugger&lt;/strong&gt;. This feature has long been requested by users, especially those accustomed to general-purpose development environments.&lt;/p&gt;
&lt;h2 id="a-debugger-for-jupyter"&gt;A debugger for Jupyter&lt;/h2&gt;
&lt;p&gt;Today, after several months of development, we are glad to announce the first public release of the Jupyter visual debugger!&lt;/p&gt;
&lt;p&gt;This is just the first release, but we can already set breakpoints in notebook cells and source files, inspect variables, navigate the call stack and more.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Screencast of the JupyterLab visual debugger in action" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/002-1_NP0bYBdrhwgpJpKDhPLWrQ.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Screencast of the JupyterLab visual debugger in action&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="try-the-debugger-on-binder"&gt;Try the debugger on binder&lt;/h2&gt;
&lt;p&gt;You can also try the debugger online with binder. Just click on the binder link:&lt;/p&gt;
&lt;figure&gt;
&lt;a href="https://mybinder.org/v2/gh/jupyterlab/debugger/stable?urlpath=/lab/tree/examples/index.ipynb"&gt;&lt;img alt="Click on the binder link to launch the demo" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/003-1_NbZ_56IL0J-q0V32qgiq3A.webp" loading="lazy" data-body-image=""&gt;&lt;/a&gt;
&lt;figcaption&gt;Click on the binder link to launch the demo&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The debugger &lt;em&gt;&lt;strong&gt;front-end&lt;/strong&gt;&lt;/em&gt; can be installed as a JupyterLab extension.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;jupyter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;labextension&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;@jupyterlab&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;debugger&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;The debugger front-end will be included in JupyterLab by default in a future release.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;em&gt;&lt;strong&gt;back-end&lt;/strong&gt;&lt;/em&gt;, a kernel implementing the &lt;strong&gt;Jupyter Debug Protocol&lt;/strong&gt; (which will be detailed in the next section) is required. The only kernel implementing this protocol, for now, is &lt;code&gt;xeus-python&lt;/code&gt; a new Jupyter kernel for the Python programming language. (Support for the debugger protocol in ipykernel is also on the roadmap).&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;conda install xeus-python -c conda-forge
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Once xeus-python and the debugger extension are installed, you should be all set to use the Jupyter visual debugger!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Depending on the platform, PyPI wheels are available for xeus-python, but they are still &lt;em&gt;&lt;strong&gt;experimental&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="the-jupyter-debug-protocol"&gt;The Jupyter Debug Protocol&lt;/h2&gt;
&lt;h3 id="new-message-types-for-the-control-and-iopub-channels"&gt;New message types for the Control and IOPub channels&lt;/h3&gt;
&lt;p&gt;Jupyter kernels (the part of the infrastructure that executes the user’s code) communicate with the rest of the infrastructure with a &lt;a href="https://jupyter-client.readthedocs.io/en/stable/messaging.html"&gt;well-specified inter-process communication protocol&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Several communication channels exist, such as&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the &lt;strong&gt;Shell&lt;/strong&gt; channel, which is a request/reply channel for e.g. execution requests&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;IOPub&lt;/strong&gt; channel, which is a one-directional communication channel from the kernel to the client, and is used e.g. to forward the content of the standard output streams (stdout and stderr).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;strong&gt;Control&lt;/strong&gt; channel is similar to Shell but operates on a separate socket so that &lt;em&gt;&lt;strong&gt;messages are not queued behind execution requests&lt;/strong&gt;&lt;/em&gt;, and have a higher priority. Control was already used for Interrupt and Shutdown requests, and we decided to use the same channel for the commands sent to the debugger.&lt;/p&gt;
&lt;p&gt;Two message types were added to the protocol:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the &lt;code&gt;debug_[request/reply]&lt;/code&gt; to request specific actions to be performed by the debugger such as adding a breakpoint or stepping into a code, which is sent to the &lt;strong&gt;Control&lt;/strong&gt; channel.&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;debug_event&lt;/code&gt; uni-directional message used by debugging kernels to send debugging events to the front-end. Debug events are sent over the IOPub channel.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="extending-the-debug-adapter-protocol"&gt;Extending the Debug Adapter Protocol&lt;/h3&gt;
&lt;p&gt;A key principle to the Jupyter design is the &lt;strong&gt;agnosticism to the programming language&lt;/strong&gt;. It is important for the Jupyter debug protocol to be adaptable to other kernel implementations.&lt;/p&gt;
&lt;p&gt;A popular standard for debugging is Microsoft’s “&lt;strong&gt;Debug Adapter Protocol&lt;/strong&gt;” (DAP) which is a JSON-based protocol underlying the debugger of Visual Studio Code and for which there already exist multiple language back-ends.&lt;/p&gt;
&lt;p&gt;It was therefore natural for us to use the DAP messages over the &lt;code&gt;debug_[request/reply]&lt;/code&gt; and &lt;code&gt;debug_event&lt;/code&gt; messages that we just added.&lt;/p&gt;
&lt;p&gt;However, it was not quite &lt;em&gt;sufficient&lt;/em&gt; in the case of Jupyter. Indeed&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In order to support page reloading, or a client connecting at a later stage, Jupyter kernels must store the state of the debugger (breakpoints, whether the debugger is currently stopped). The front-end can request that state over with a &lt;code&gt;debug_request&lt;/code&gt; message.&lt;/li&gt;
&lt;li&gt;In order to support the debugging of notebook cells and of Jupyter consoles, which are not based on source files, we also needed messages to submit code to the debugger to which breakpoints can be added.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Besides these two differences, the content of the debug requests and replies corresponds to the debug adapter protocol.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;All these extensions to the Jupyter kernel protocol have been proposed for inclusion in the official specification. The JEP (Jupyter Enhancement Proposal) can be found &lt;a href="https://github.com/jupyter/enhancement-proposals/pull/47"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="xeus-python-the-first-jupyter-kernel-to-support-debugging"&gt;Xeus-python, the first Jupyter Kernel to support debugging&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/QuantStack/xeus"&gt;Xeus&lt;/a&gt; is a C++ implementation of the Jupyter kernel protocol. It is not a kernel by itself but a library that helps kernel authoring. &lt;a href="https://github.com/QuantStack/xeus"&gt;Xeus&lt;/a&gt; is useful when developing a kernel for a language that has a C or a C++API (like Python, Lua, or SQL). It takes the cumbersome task of implementing the &lt;a href="https://jupyter-client.readthedocs.io/en/stable/messaging.html"&gt;Jupyter messaging protocol&lt;/a&gt; for the kernel author to focus on the core interpreter tasks: executing code, inspecting, etc.&lt;/p&gt;
&lt;p&gt;Several kernels have been developed with xeus, including the popular &lt;a href="https://github.com/jupyter-xeus/xeus-cling"&gt;xeus-cling&lt;/a&gt; kernel for the C++ programming language, based on the cling C++ interpreter from CERN. The &lt;a href="https://github.com/jupyter-xeus/xeus-python.git"&gt;xeus-python&lt;/a&gt; kernel is an alternative Python kernel to ipykernel, based on xeus. The first release of the xeus-python kernel was announced on this blog earlier this year: &lt;a href="/posts/2019/a-new-python-kernel-for-jupyter/"&gt;https://blog.jupyter.org/a-new-python-kernel-for-jupyter-fcdf211e30a8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Xeus-python was an appropriate choice for this first implementation of the debugging protocol because&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;it has a &lt;strong&gt;pluggable concurrency model&lt;/strong&gt;, which allowed running the processing of the Control channel in a different thread.&lt;/li&gt;
&lt;li&gt;it has a &lt;strong&gt;lighter-weight codebase&lt;/strong&gt; which made it a convenient sandbox to iterate upon. Implementing the first version of the protocol in ipykernel would have required more significant refactoring and consensus building at an early stage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="the-roadmap-of-xeus-python"&gt;The roadmap of Xeus-python&lt;/h3&gt;
&lt;p&gt;The short-term roadmap for xeus-python includes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;adding support for IPython magics in xeus-python, which is the main missing feature with respect to ipykernel.&lt;/li&gt;
&lt;li&gt;improving the PyPI wheels of xeus-python.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-about-other-kernels"&gt;What about other kernels?&lt;/h3&gt;
&lt;p&gt;The work in the front-end is valid for any kernel implementing the extended kernel protocol.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We will be working in 2020 to enable debugging with as many kernels as possible.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This will soon be the case for other xeus-based kernels which share a large part of the implementation with xeus-python, such as xeus-cling.&lt;/p&gt;
&lt;h2 id="diving-into-the-debugger-front-end-architecture"&gt;Diving into the debugger front-end architecture&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://github.com/jupyterlab/debugger"&gt;debugger extension for JupyterLab&lt;/a&gt; provides what users would typically expect from an IDE:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a sidebar with a variable explorer, a list of breakpoints, a source preview and the possibility to navigate the call stack&lt;/li&gt;
&lt;li&gt;the ability to set breakpoints directly next to the code, namely in code cells and code consoles&lt;/li&gt;
&lt;li&gt;visual markers to indicate where the current execution has stopped&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When working with Jupyter notebooks, the state of the execution is kept in the kernel. But a cell can be executed and then deleted from the notebook. What should happen when a user wants to step in deleted code?&lt;/p&gt;
&lt;p&gt;The extension supports that particular use case and enables retrieving a read-only view of the previously executed cell.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Stepping into a deleted cell" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/004-0_gsIleEb7Q-sq05f0.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Stepping into a deleted cell&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Consoles and files also have support for debugging.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Debugging code consoles in JupyterLab" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/005-0_G5-dLqkhH5CEvQQv.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Debugging code consoles in JupyterLab&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Debugging files in JupyterLab" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/006-0_ZejsDIpKOEPDgoTs.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Debugging files in JupyterLab&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Debugging can be enabled on a notebook level, which lets users debug a notebook and work on a different one at the same time.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Debugging multiple notebooks simultaneously" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/007-0_EtApkSznZEY-GJhA.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Debugging multiple notebooks simultaneously&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Variables can be inspected using a tree viewer and a table viewer:&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="The variable explorer" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/008-0_9pVDg58cTz5Yezw8.mp4" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The variable explorer&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The debugger extension for JupyterLab has been designed to work with any kernel that supports debugging.&lt;/p&gt;
&lt;p&gt;By relying on the Debug Adapter Protocol, the debugger extension abstracts away language-specific features and provides a consistent debugging interface to the user.&lt;/p&gt;
&lt;p&gt;The following diagram shows how the debug messages flow between the user, the JupyterLab extension and the kernel during a debugging session.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Using the Debug Adapter Protocol in the debugger extension (source)" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/009-0_fwLQQWxKtGUiMpq1.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Using the Debug Adapter Protocol in the debugger extension (&lt;a href="https://github.com/jupyterlab/debugger/issues/64"&gt;source&lt;/a&gt;)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="future-developments"&gt;Future developments&lt;/h2&gt;
&lt;p&gt;In 2020, we plan on making major improvements to the debugger experience:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for rich mime type rendering in the variable explorer.&lt;/li&gt;
&lt;li&gt;Support for conditional breakpoints in the UI.&lt;/li&gt;
&lt;li&gt;General improvements of the debugger user experience.&lt;/li&gt;
&lt;li&gt;Enable the debugging of &lt;a href="https://github.com/voila-dashboards/voila/"&gt;Voilà dashboards&lt;/a&gt;, from the JupyterLab Voilà preview extension.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;The JupyterLab debugger is the result of the collaboration and coordination of developers from several institutions, including QuantStack, Two Sigma, and Bloomberg.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The work on both the front-end and the back-end at &lt;a href="https://twitter.com/QuantStack"&gt;&lt;strong&gt;QuantStack&lt;/strong&gt;&lt;/a&gt; by &lt;a href="https://twitter.com/jtpio"&gt;&lt;strong&gt;Jeremy Tuloup&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://twitter.com/johanmabille"&gt;&lt;strong&gt;Johan Mabille&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://twitter.com/martinRenou"&gt;&lt;strong&gt;Martin Renou&lt;/strong&gt;&lt;/a&gt;, and &lt;a href="https://twitter.com/SylvainCorlay"&gt;&lt;strong&gt;Sylvain Corlay&lt;/strong&gt;&lt;/a&gt;, was funded by &lt;a href="https://twitter.com/techatbloomberg"&gt;&lt;strong&gt;Bloomberg&lt;/strong&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The work on the Jupyter debugger by &lt;strong&gt;Borys Palka&lt;/strong&gt; and &lt;a href="https://twitter.com/micronova"&gt;&lt;strong&gt;Afshin Darian&lt;/strong&gt;&lt;/a&gt; was made possible by &lt;a href="https://twitter.com/twosigma"&gt;&lt;strong&gt;Two Sigma&lt;/strong&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="about-the-developers"&gt;About the developers&lt;/h2&gt;
&lt;figure&gt;
&lt;img alt="Jeremy Tuloup" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/010-1_4RE97odgcRtRruh0najsVg.jpg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Jeremy Tuloup&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;Jeremy Tuloup&lt;/strong&gt; is a Scientific Software developer at QuantStack. He authored a large part of the front-end of the JupyterLab debugger.&lt;br&gt;
.&lt;br&gt;
.&lt;br&gt;
.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Borys Palka" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/011-1_IJw8VB7Sq8v4FwUgP7DY_Q.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Borys Palka&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;Borys Palka&lt;/strong&gt; is a software developer at Codete. He authored a large part of the front-end of the JupyterLab debugger.&lt;br&gt;
.&lt;br&gt;
.&lt;br&gt;
.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Johan Mabille" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/012-1_y5KkUTTgNArZGajQWW38EA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Johan Mabille&lt;/figcaption&gt;
&lt;/figure&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. He also authored a large part of the debugger front-end.&lt;br&gt;
.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Martin Renou" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/013-1_GafIA37eUPz6XQDTKS6D8A.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Martin Renou&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;Martin Renou&lt;/strong&gt; is a scientific software developer at QuantStack. He is the original author of xeus-python, the xeus-based Python kernel, and contributed to the new concurrency model used for the debugger.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Afshin Darian" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/014-1_FEspm1Hcty29Jxwpb-cHXw.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Afshin Darian&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;Afshin Darian&lt;/strong&gt; is a software developer at Two Sigma, and one of the authors of JupyterLab.&lt;br&gt;
.&lt;br&gt;
.&lt;br&gt;
.&lt;br&gt;
.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Sylvain Corlay" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/a-visual-debugger-for-jupyter/images/015-1_aSY0NNigA16fvOHVZCOaeQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Sylvain Corlay&lt;/figcaption&gt;
&lt;/figure&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/2020/a-visual-debugger-for-jupyter/images/016-1_Trh8fKqP0c_4Vvnzmu5SvA.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="JupyterLab"/><category term="kernels"/></entry><entry><title>Jupyter Community Workshops 2019 Year in Review</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2020/jupyter-community-workshops-2019-year-in-review/" rel="alternate"/><published>2020-02-24T20:03:00+00:00</published><updated>2020-02-24T20:03:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2020-02-24:/medium-archive/pelican/posts/2020/jupyter-community-workshops-2019-year-in-review/</id><summary type="html">&lt;p&gt;2019 was a busy, successful and exciting time for Jupyter Community Workshops! Led by community members, this global event series brought…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/jupyter-community-workshops-2019-year-in-review/images/001-1_ln9Mg1jjf-T4l1a8eKDSkA.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/jupyter-community-workshops-2019-year-in-review/images/002-1_TiXR8QdRu6c9rPW6uvYf7A.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;br&gt;
&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/jupyter-community-workshops-2019-year-in-review/images/003-1_L9KgA0kHK-LHkuaVEOaPsg.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Top Image: Jupyter for Scientific User Facilities and High-Performance Computing, (Photo Credit, Fernando Perez). Bottom Left Image: Intro to Python for Kids, Parents &amp;amp; Teachers Workshop Series. Bottom Middle Image: Dashboarding in the Jupyter Ecosystem Workshop (Photo Credit, Lindsey Heagy) Bottom Right Image: South America Jupyter Community Workshop" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/jupyter-community-workshops-2019-year-in-review/images/004-1_fqhIiVrEFPYYLiB54paSEA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;&lt;strong&gt;Top Image&lt;/strong&gt;: Jupyter for Scientific User Facilities and High-Performance Computing, (Photo Credit, Fernando Perez). &lt;strong&gt;Bottom Left Image&lt;/strong&gt;: Intro to Python for Kids, Parents &amp;amp; Teachers Workshop Series. &lt;strong&gt;Bottom Middle Image&lt;/strong&gt;: Dashboarding in the Jupyter Ecosystem Workshop (Photo Credit, Lindsey Heagy) &lt;strong&gt;Bottom Right Image&lt;/strong&gt;: South America Jupyter Community Workshop&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;2019 was a busy, successful and exciting time for Jupyter Community Workshops! Led by community members, this global event series brought together small groups of people in order to strengthen the Jupyter community and for high-impact strategic work on focused topics.&lt;/p&gt;
&lt;p&gt;Thank you to all those in our community who made these workshops a success. It’s important to recognize the organizers who proposed, planned, and led the workshops, as well as those that supported their efforts and those that attended the gatherings. It is truly inspiring to see everyone come together to strengthen our community and to make the future of Jupyter brighter and more connected.&lt;/p&gt;
&lt;p&gt;Our third call for proposals was &lt;a href="/posts/2019/jupyter-community-workshops-call-for-proposals-for-jan/"&gt;announced&lt;/a&gt; in November of 2019. We’re happy to share that planning efforts are already under way! Stay tuned to this blog for an announcement of the Jupyter Community Workshops to be hosted in the first round of 2020.&lt;/p&gt;
&lt;h3 id="jupyter-community-workshops-2019"&gt;Jupyter Community Workshops 2019&lt;/h3&gt;
&lt;p&gt;Many thanks to all those who led a workshop in 2019 (listed here in chronological order):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/posts/2019/jupyter-community-workshop-jupyter-server-design-and/"&gt;&lt;strong&gt;Jupyter Server Design and Roadmap Workshop&lt;/strong&gt;&lt;/a&gt;: (Luciano Resende)&lt;/li&gt;
&lt;li&gt;&lt;a href="/posts/2019/field-report-on-the-kernel-community-workshop/"&gt;&lt;strong&gt;Building upon the Jupyter Kernel Protocol&lt;/strong&gt;&lt;/a&gt; (Sylvain Corlay)&lt;/li&gt;
&lt;li&gt;&lt;a href="/posts/2019/https-blog-jupyter-org-university-of-edinburgh-jupyter/"&gt;&lt;strong&gt;Jupyter nbgrader Hackathon/Code Sprint&lt;/strong&gt;&lt;/a&gt;: (James Slack)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://datasciencecornwall.blogspot.com/2019/06/python-data-science-for-kids-taster.html"&gt;&lt;strong&gt;Intro to Python for Kids, Parents &amp;amp; Teachers Series&lt;/strong&gt;&lt;/a&gt;: (Tariq Rashad)&lt;/li&gt;
&lt;li&gt;&lt;a href="/posts/2020/report-on-the-jupyter-community-workshop-on/"&gt;&lt;strong&gt;Dashboarding in the Jupyter Ecosystem&lt;/strong&gt;&lt;/a&gt;: (Pascal Bugnion, Sylvain Corlay)&lt;/li&gt;
&lt;li&gt;&lt;a href="/posts/2019/jupyter-for-science-user-facilities-and-high/"&gt;&lt;strong&gt;Jupyter for Scientific User Facilities and High-Performance Computing&lt;/strong&gt;&lt;/a&gt;: (Rollin Thomas)&lt;/li&gt;
&lt;li&gt;&lt;a href="/posts/2019/south-america-jupyter-community-workshop/"&gt;&lt;strong&gt;South America Jupyter Community Workshop&lt;/strong&gt;&lt;/a&gt;: (Damian Avila)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A special thanks to the financial sponsors of this event series, Bloomberg and Amazon Web Services. If your organization would like to support this program in the future, please contact &lt;a href="https://numfocus.org/"&gt;NumFOCUS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jupyter Community Workshops are managed by Jupyter and NumFOCUS contributors: Ana Ruvalcaba, Jason Grout and Walker Chabbott.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Building Upon the Jupyter Protocol Workshop" src="https://jasongrout.github.io/medium-archive/pelican/posts/2020/jupyter-community-workshops-2019-year-in-review/images/005-1_KnwoR7m5w5NhZlYagY0G3A.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Building Upon the Jupyter Protocol Workshop&lt;/figcaption&gt;
&lt;/figure&gt;
</content><category term="events"/><category term="workshops"/></entry><entry><title>The Future of JupyterCon, 2019 and Beyond</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2018/the-future-of-jupytercon-2019-and-beyond/" rel="alternate"/><published>2018-12-12T18:20:00+00:00</published><updated>2018-12-12T18:20:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2018-12-12:/medium-archive/pelican/posts/2018/the-future-of-jupytercon-2019-and-beyond/</id><summary type="html">&lt;p&gt;Project Jupyter’s goals for our annual conference include serving our global community, connecting Jupyter users from different…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Project Jupyter’s goals for our annual conference include serving our global community, connecting Jupyter users from different disciplines, showcasing their knowledge, and celebrating the many ways that Jupyter is making an impact in the world. In partnership with O’Reilly and NumFOCUS, with the support of many sponsors, we brought our community together for two successful Jupyter conferences, &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny-2017"&gt;JupyterCon 2017&lt;/a&gt; and &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny"&gt;JupyterCon 2018&lt;/a&gt;, where hundreds gathered for talks, tutorials, and code sprints. Additionally, over a hundred talks were recorded for the wider community to watch (&lt;a href="https://www.youtube.com/playlist?list=PL055Epbe6d5aP6Ru42r7hk68GTSaclYgi"&gt;2017&lt;/a&gt;, &lt;a href="https://www.youtube.com/playlist?list=PL055Epbe6d5b572IRmYAHkUgcq3y6K3Ae"&gt;2018&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;We would like to thank the team at O’Reilly Media for partnering with us to offer JupyterCon 2017 and 2018. Their expertise in creating and managing complex events with hundreds of attendees was invaluable, and we learned a great deal from working with them.&lt;/p&gt;
&lt;p&gt;To better serve our rapidly-growing global community and their evolving needs, Project Jupyter is re-evaluating the focus and strategic direction of future Jupyter conferences. To do so, we are organizing a diverse committee of community members who will investigate different conference formats, including a lower-cost one, and explore new venues / locations. This committee will share their results with the Jupyter Steering Council, who will decide based on these recommendations whether to host the next Jupyter conference in 2019 or defer until 2020.&lt;/p&gt;
&lt;p&gt;If you would like to volunteer to help with the exploratory committee, please fill out the &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSc3qQtIpAs4nl61AckLt1kW7VEv4fyDVzJqrnOL51q-cqc83Q/viewform"&gt;introduction form&lt;/a&gt; by &lt;strong&gt;December 21&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The previously announced dates and location for JupyterCon 2019 in August 2019 will no longer apply. We, Project Jupyter, are sorry for any inconvenience this may cause you, and we will work to keep you informed of the committee’s results and future conference plans.&lt;/p&gt;
&lt;p&gt;In addition to the annual conference being explored by this committee, Jupyter has many other local gatherings which will continue to proceed, such as Jupyter Days, Jupyter Community Workshops, and local code sprints and open studios (&lt;a href="https://blog.jupyter.org/tagged/events"&gt;read the latest event news on our blog&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;As with all things Jupyter, your input is welcome on our public channels (&lt;a href="https://groups.google.com/forum/#!forum/jupyter"&gt;mailing list&lt;/a&gt; and our &lt;a href="https://discourse.jupyter.org/"&gt;experimental discourse instance&lt;/a&gt;). If you have a specific question that requires a private response, please contact jupyterops@gmail.com.&lt;/p&gt;
&lt;p&gt;As we reflect on what Jupyter and its community achieved in 2018, we are humbled by your talent and impact on the world. We wish everyone a healthy and prosperous new year.&lt;/p&gt;
</content><category term="events"/><category term="JupyterCon"/></entry><entry><title>Jupyter Community Workshops</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyter-community-workshops/" rel="alternate"/><published>2018-07-11T18:46:00+00:00</published><updated>2018-08-03T10:21:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2018-07-11:/medium-archive/pelican/posts/2018/jupyter-community-workshops/</id><summary type="html">&lt;p&gt;Bloomberg is a long-time partner and supporter of Project Jupyter. Earlier this year Bloomberg announced funding of $120,000 to enable…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Bloomberg is a long-time partner and supporter of Project Jupyter. Earlier this year Bloomberg &lt;a href="https://www.numfocus.org/blog/bloomberg-supports-jupyter-numfocus-platinum-sponsor/"&gt;announced funding&lt;/a&gt; of $120,000 to enable Project Jupyter to host a series of Jupyter Workshops in 2018. These workshops will bring together small groups, approximately 12 to 24 people,) of Jupyter community members and core contributors for high-impact strategic work and community engagement on focused topics.&lt;/p&gt;
&lt;p&gt;Much of Jupyter’s work is accomplished through remote, online collaboration; yet, over the years, we have found deep value in focused in-person work over a few days. These in-person events are particularly useful for tackling challenging development and design projects, growing the community of contributors, and strengthening collaborations.&lt;/p&gt;
&lt;p&gt;We are now soliciting proposals for Jupyter Workshops for 2018. We are particularly interested in workshops that explore and address topics of strategic importance for the future of Jupyter. We expect the workshops to involve 1–2 dozen participants over a 2–3 day period, and have a total Jupyter-funded budget of approximately $10,000 to $20,000, which may help cover expenses such as travel, lodging, meals, or event space. It is our intent for the workshops to include both participants who are core Jupyter contributors, as well as stakeholders and contributors and potential contributors within the larger Jupyter ecosystem. While not the primary focus of the workshops, it would be highly beneficial to couple the workshop with broader community outreach events, such as sprints, talks, or tutorials, at local meetings or conferences.&lt;/p&gt;
&lt;p&gt;An excellent example of a successful, sponsored workshop is the Jupyter Widgets Workshop organized by Sylvain Corlay in February 2018. This workshop brought together the core developers of Jupyter Widgets and JupyterLab, community members developing libraries on top of widgets and JupyterLab, and new collaborators wanting to learn how to contribute to development, design, and documentation. After the workshop, a participant gave a JupyterLab introduction at the &lt;a href="https://www.meetup.com/PyData-Paris/events/246516937/"&gt;PyData Paris Meetup&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Another workshop idea would be to bring together the core maintainers of the Jupyter Kernel Message Protocol, developers of different third-party Jupyter kernels, and other interested collaborators to chart the future of this protocol to add different programming languages, debugging, and enhancements. While the maintainers of different Jupyter subprojects are likely to propose workshops, we are hoping that others in the community will propose and organize workshops as well.&lt;/p&gt;
&lt;p&gt;The proposal process for these Jupyter Workshops is being managed by the Jupyter Operations Manager, Ana Ruvalcaba (&lt;a href="mailto:jupyterops@gmail.com"&gt;jupyterops@gmail.com&lt;/a&gt;), and the Steering Council. Applications are due by August 1, 2018 and our vision is that these events would occur anywhere from September to December of 2018. We encourage you to submit a proposal and complete the following &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScRw97uRtsWC3IzWKPED7XyJg86L2eDmJo0QctzdbF02288Qw/viewform?usp=sf_link"&gt;Google Form&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;This initiative is organized by Jason Grout, Paul Ivanov, Brian Granger, and Ana Ruvalcaba.&lt;/p&gt;
</content><category term="events"/><category term="workshops"/></entry><entry><title>Jupyter receives the ACM Software System Award</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyter-receives-the-acm-software-system-award/" rel="alternate"/><published>2018-05-02T13:01:00+00:00</published><updated>2018-05-02T14:03:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2018-05-02:/medium-archive/pelican/posts/2018/jupyter-receives-the-acm-software-system-award/</id><summary type="html">&lt;p&gt;It is our pleasure to announce that Project Jupyter has been awarded the 2017 ACM Software System Award, a significant honor for the…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyter-receives-the-acm-software-system-award/images/001-1_4gB92wu3PVYsKabkNCkgjg.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;It is our pleasure to announce that Project Jupyter has been &lt;a href="https://awards.acm.org/about/2017-technical-awards"&gt;awarded&lt;/a&gt; the 2017 &lt;a href="https://awards.acm.org/software-system"&gt;ACM Software System Award&lt;/a&gt;, a significant honor for the project. We are humbled to join an illustrious list of projects that contains major highlights of computing history, including &lt;a href="https://en.wikipedia.org/wiki/Unix"&gt;Unix&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/TeX"&gt;TeX&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/S_%28programming_language%29"&gt;S&lt;/a&gt; (R’s predecessor), &lt;a href="https://en.wikipedia.org/wiki/World_Wide_Web"&gt;the Web&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/NCSA_Mosaic"&gt;Mosaic&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Java_%28programming_language%29"&gt;Java&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/INGRES"&gt;INGRES&lt;/a&gt; (modern databases) and &lt;a href="https://en.wikipedia.org/wiki/ACM_Software_System_Award"&gt;more&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Officially, the recipients of the award are the fifteen members of the Jupyter steering council as of November 2016, the date of nomination (listed in chronological order of joining the project): Fernando Pérez, Brian Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Jason Grout, Matthias Bussonnier, Damián Avila, Steven Silvester, Jonathan Frederic, Kyle Kelley, Jessica Hamrick, Carol Willing, Sylvain Corlay and Peter Parente.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="A tiny subset of the Jupyter contributors and users that made Jupyter possible — Biannual development meeting, 2016, LBNL." src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyter-receives-the-acm-software-system-award/images/002-1_wU7C4LRdnyFC5a09B-LMrA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;A tiny subset of the Jupyter contributors and users that made Jupyter possible — Biannual development meeting, 2016, LBNL.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This is the largest team ever to receive this award, and we are delighted that the ACM was willing to recognize that modern collaborative projects are created by large teams, and should be rewarded as such. Still, we emphasize that Jupyter is made possible by many more people than these fifteen recipients. This award honors the large group of contributors and users that has made IPython and Jupyter what they are today. The recipients are stewards of this common good, and it is our responsibility to help this broader community continue to thrive.&lt;/p&gt;
&lt;p&gt;Below, we’ll summarize the story of our journey, including the technical and human sides of this effort. You can learn more about Jupyter from our &lt;a href="https://jupyter.org"&gt;website&lt;/a&gt;, and you can meet the vibrant Jupyter community by attending &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny"&gt;JupyterCon&lt;/a&gt;, August 21–25, 2018, in New York City.&lt;/p&gt;
&lt;h2 id="in-the-beginning"&gt;In the beginning&lt;/h2&gt;
&lt;p&gt;Project Jupyter was officially &lt;a href="https://youtu.be/JDrhn0-r9Eg?t=4m15s"&gt;unveiled&lt;/a&gt; with its current name in 2014 at the SciPy scientific Python conference. However, Jupyter’s roots date back nearly 17 years to when Fernando Pérez &lt;a href="https://mail.python.org/pipermail/python-list/2001-December/093408.html"&gt;announced&lt;/a&gt; his open source IPython project as a graduate student in 2001. IPython provided tools for interactive computing in the Python language (the ‘I’ is for ‘Interactive’), with an emphasis on the exploratory workflow of scientists: run some code, plot and examine some results, think about the next step based on these outcomes, and iterate. IPython itself was &lt;a href="https://gist.github.com/fperez/1579699"&gt;born&lt;/a&gt; out of merging an initial prototype with Nathan Gray’s LazyPython and Janko Hauser’s IPP, inspired by a &lt;a href="http://www.onlamp.com/pub/a/python/2001/10/11/pythonnews.html"&gt;2001 O’Reilly Radar post&lt;/a&gt; — collaboration has been part of our DNA since day one.&lt;/p&gt;
&lt;p&gt;From those humble beginnings, a community of like-minded scientists grew around IPython. Some contributors have moved on to other endeavors, while others are still at the heart of the project. For example, Brian Granger and Min Ragan-Kelley joined the effort around 2004 and today lead multiple areas of the project. Our team gradually grew, both with members who were able to dedicate significant amounts of effort to the project as well as a larger, but equally significant, “long tail” community of users and contributors.&lt;/p&gt;
&lt;p&gt;In 2011, after development of our first interactive client-server tool (our Qt Console), &lt;a href="http://blog.fperez.org/2012/01/ipython-notebook-historical.html"&gt;multiple notebook prototypes&lt;/a&gt;, and a summer-long &lt;a href="https://mail.scipy.org/pipermail/ipython-dev/2011-September/008151.html"&gt;coding sprint&lt;/a&gt; by Brian Granger, we were able to &lt;a href="https://ipython.org/ipython-doc/3/whatsnew/version0.12.html#an-interactive-browser-based-notebook-with-rich-media-support"&gt;release&lt;/a&gt; the first version of the IPython Notebook. This effort paved the path to our modern architecture and vision of Jupyter.&lt;/p&gt;
&lt;h2 id="what-is-jupyter"&gt;What is Jupyter?&lt;/h2&gt;
&lt;p&gt;Project Jupyter develops open source software, standardizes protocols for interactive computing across dozens of programming languages, and defines open formats for communicating results with others.&lt;/p&gt;
&lt;h3 id="interactive-computation"&gt;Interactive computation&lt;/h3&gt;
&lt;p&gt;On the technical front, Jupyter occupies an interesting area of today’s computing landscape. Our world is flooded with data that requires computers to process, analyze, and manipulate, yet the questions and insights are still the purview of humans. Our tools are explicitly designed for the task of computing &lt;em&gt;interactively&lt;/em&gt;, that is, where a human executes code, looks at the results of this execution, and decides the next steps based on these outcomes. Jupyter has become an important part of the daily workflow in research, education, journalism, and industry.&lt;/p&gt;
&lt;p&gt;Whether running a quick script at the IPython terminal, or doing a deep dive into a dataset in a Jupyter notebook, our tools aim to make this workflow as fluid, pleasant, and effective as possible. For example, we built powerful completion tools to help you discover the structure of your code and data, a &lt;a href="https://nbviewer.jupyter.org/github/ipython/ipython/blob/master/examples/IPython%20Kernel/Rich%20Output.ipynb"&gt;flexible display protocol&lt;/a&gt; to show results enriched by the multimedia capabilities of your web browser, and an &lt;a href="https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Basics.html"&gt;interactive widget system&lt;/a&gt; to let you easily create GUI controls like sliders to explore parameters of your computation. All these tools have evolved from their IPython origins into open, &lt;a href="http://jupyter-client.readthedocs.io/en/stable/messaging.html"&gt;documented protocols&lt;/a&gt; that can be implemented in any programming language as a “Jupyter kernel”. There are &lt;a href="https://github.com/jupyter/jupyter/wiki/Jupyter-kernels"&gt;over 100 Jupyter kernels&lt;/a&gt; today, created by many members of the community.&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote&gt;
&lt;p&gt;Blazing fast interactive exploration of 1.7 Billion &lt;a href="https://x.com/hashtag/GaiaDR2?src=hash"&gt;#GaiaDR2&lt;/a&gt; stars in the Jupyter notebook with vaex. &lt;a href="https://t.co/DDXzWVBeb2"&gt;https://t.co/DDXzWVBeb2&lt;/a&gt; &lt;a href="https://x.com/hashtag/dataviz?src=hash"&gt;#dataviz&lt;/a&gt; &lt;a href="https://x.com/hashtag/Python?src=hash"&gt;#Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://x.com/maartenbreddels/status/989740919757799425"&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyter-receives-the-acm-software-system-award/images/005-DbxDT6kV4AAVu2b.jpg" alt="Video" loading="lazy" data-body-image=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;— &lt;a href="https://x.com/maartenbreddels"&gt;Maarten A. Breddels (@maartenbreddels)&lt;/a&gt;, &lt;a href="https://x.com/maartenbreddels/status/989740919757799425"&gt;April 27, 2018&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;
&lt;p&gt;Exploring a large dataset interactively using the widget protocol and tools.&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Our experience building and using the Jupyter Notebook application for the last few years has now led to its next-generation successor, &lt;a href="/posts/2018/jupyterlab-is-ready-for-users/"&gt;JupyterLab&lt;/a&gt;, which is now ready for users. JupyterLab is a web application that exposes all the elements above not only as an end-user application, but also as interoperable building blocks designed to enable entirely new workflows. JupyterLab has already been adopted by large scientific projects such as the &lt;a href="https://www.lsst.org/"&gt;Large Synoptic Survey Telescope project&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="communicating-results"&gt;Communicating results&lt;/h3&gt;
&lt;p&gt;In today’s data-rich world, working with the computer is only half of the picture. Its complement is working with other humans, be it your partners, colleagues, students, clients, or even your future self months down the road. The open Jupyter notebook file format is designed to capture, display and share natural language, code, and results in a single &lt;em&gt;computational narrative&lt;/em&gt;. These narratives exist in the tradition of &lt;em&gt;literate programming&lt;/em&gt; that dates back to &lt;a href="https://www-cs-faculty.stanford.edu/~knuth/lp.html"&gt;Knuth’s work&lt;/a&gt;, but here the focus is weaving computation and data specific to a given problem, in what we sometimes refer to as &lt;a href="http://blog.fperez.org/2013/04/literate-computing-and-computational.html"&gt;&lt;em&gt;literate computing&lt;/em&gt;&lt;/a&gt;. While existing computational systems like Maple, Mathematica and SageMath all informed our experience, our focus in Jupyter has been on the creation of open standardized formats that can benefit the entire scientific community and support the long-term sharing and archiving of computational knowledge, regardless of programming language.&lt;/p&gt;
&lt;p&gt;We have also built tools to support Jupyter deployment in multi-user environments, whether a single server in your group or a &lt;a href="https://www.edx.org/professional-certificate/berkeleyx-foundations-of-data-science"&gt;large cloud deployment supporting thousands of students&lt;/a&gt;. &lt;a href="https://jupyterhub.readthedocs.io/"&gt;JupyterHub&lt;/a&gt; and projects that build upon it, like &lt;a href="https://mybinder.org"&gt;Binder&lt;/a&gt; and &lt;a href="https://binderhub.readthedocs.io"&gt;BinderHub&lt;/a&gt;, now support industry deployments, large-scale education, reproducible research, and the seamless sharing of live computational environments.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Data Science class at UC Berkeley, taught using Jupyter." src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyter-receives-the-acm-software-system-award/images/003-1_IBExnuyXvjLul_Cba75wWw.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Data Science class at UC Berkeley, taught using Jupyter.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;We are delighted to see, for example, how the LIGO Collaboration, awarded the &lt;a href="https://www.nobelprize.org/nobel_prizes/physics/laureates/2017/press.html"&gt;2017 Nobel Prize in Physics&lt;/a&gt; for the observation of gravitational waves, offers their data and analysis code for the public in the form of Jupyter Notebooks hosted on Binder at their &lt;a href="https://losc.ligo.org/tutorials"&gt;Open Science Center&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Measurement and prediction of gravitational waves formed by two black holes merging. Adapted from ." src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyter-receives-the-acm-software-system-award/images/004-1_Msgqb8LKmLJSKLLOXZs7Bw.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Measurement and prediction of gravitational waves formed by two black holes merging. Adapted from &lt;a href="https://github.com/minrk/ligo-binder"&gt;https://github.com/minrk/ligo-binder&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="open-standards-nourish-an-innovative-ecosystem"&gt;Open standards nourish an innovative ecosystem&lt;/h3&gt;
&lt;p&gt;In Project Jupyter, we have concentrated on standardizing &lt;a href="http://jupyter-client.readthedocs.io/en/stable/messaging.html"&gt;protocols&lt;/a&gt; and &lt;a href="http://nbformat.readthedocs.io/en/stable/format_description.html"&gt;formats&lt;/a&gt; evolved from community needs, independent of any specific implementation. The stability and interoperability of open standards provides a foundation for others to experiment, collaborate, and build tools inspired by their unique goals and perspectives.&lt;/p&gt;
&lt;p&gt;For example, while we provide the &lt;a href="https://nbviewer.jupyter.org"&gt;nbviewer&lt;/a&gt; service that renders notebooks from any online source for convenient sharing, many people would rather see their notebooks directly on GitHub. This was not possible originally, but the existence of a well-documented notebook format enabled GitHub to develop their own rendering pipeline, which now shows HTML versions of notebooks rendered in a way that conforms to their security requirements.&lt;/p&gt;
&lt;p&gt;Similarly, there exist multiple client applications in addition to the Jupyter Notebook and JupyterLab to create and execute notebooks, each with its own use case and focus: the open source &lt;a href="https://nteract.io"&gt;nteract&lt;/a&gt; project develops a lightweight desktop application to run notebooks; &lt;a href="https://cocalc.com"&gt;CoCalc&lt;/a&gt;, a startup founded by William Stein, the creator of &lt;a href="https://www.sagemath.org/"&gt;SageMath&lt;/a&gt;, offers a web-based client with real-time collaboration that includes Jupyter alongside SageMath, LaTeX, and tools focused on education; and Google now provides &lt;a href="https://colab.research.google.com"&gt;Colaboratory&lt;/a&gt;, another web notebook frontend that runs alongside the rest of the Google Documents suite, with execution in the Google Cloud.&lt;/p&gt;
&lt;p&gt;These are only a few examples, but they illustrate the value of open protocols and standards: they serve open-source communities, startups, and large corporations equally well. We hope that as the project grows, interested parties will continue to engage with us so we can keep refining these ideas and developing new ones in support of a more interoperable and open ecosystem.&lt;/p&gt;
&lt;h2 id="growing-a-community"&gt;Growing a community&lt;/h2&gt;
&lt;p&gt;IPython and Jupyter have grown to be the product of thousands of contributors, and the ACM Software System Award should be seen as a recognition of this combined work. Over the years, we evolved from the typical pattern of an ad-hoc assembly of interested people loosely coordinating on a mailing list to a much more structured project. We formalized our &lt;a href="https://github.com/jupyter/governance"&gt;governance model&lt;/a&gt; and instituted a &lt;a href="https://jupyter.org/about"&gt;Steering Council&lt;/a&gt;. We continue to evolve these ideas as the project grows, always seeking to ensure the project is welcoming, supports an increasingly diverse community, and helps solidify a foundation for it to be sustainable. This process isn’t unique to Jupyter, and we’ve learned from other larger projects such as Python itself.&lt;/p&gt;
&lt;p&gt;Jupyter exists at the intersection of distributed open source development, university-centered research and education, and industry engagement. While the original team came mostly from the academic world, from the start we’ve recognized the value of engaging industry and other partners. This led, for example, to our &lt;a href="https://github.com/jupyter/governance/blob/master/projectlicense.md"&gt;BSD licensing choice&lt;/a&gt;, best articulated by &lt;a href="http://nipy.sourceforge.net/nipy/devel/faq/johns_bsd_pitch.html"&gt;the late John Hunter in 2004&lt;/a&gt;. Beyond licensing, we’ve actively sought to maintain a dialog with all these stakeholders:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We are &lt;a href="https://www.numfocus.org/sponsored-projects"&gt;part of the NumFOCUS Foundation&lt;/a&gt;, working as part of a rich tapestry of other scientifically-focused open source projects. Jupyter is a portal to many of these tools, and we need the entire ecosystem to remain healthy.&lt;/li&gt;
&lt;li&gt;We have &lt;a href="/posts/2015/new-funding-for-jupyter/"&gt;obtained significant funding&lt;/a&gt; from the Alfred P. Sloan Foundation, the Gordon and Betty Moore Foundation, and the Helmsley Trust.&lt;/li&gt;
&lt;li&gt;We engage directly with industry partners. Many of our developers hail from industry: we have ongoing active collaborations with companies such as Bloomberg and Quansight on the development of JupyterLab, and with O’Reilly Media on JupyterCon. We have received funding and direct support in the past from Bloomberg, Microsoft, Google, Anaconda, and others.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The problem of sustainably developing open source software systems of lasting intellectual and technical value, that serve users as diverse as high-school educators, large universities, Nobel prize-winning science teams, startups, and the largest technology companies in the world, is an ongoing challenge. We need to build healthy communities, find significant resources, provide organizational infrastructure, and value professional and personal time invested in open source. There is a rising awareness among volunteers, business leaders, academic promotion and tenure boards, professional organizations, government agencies, and others of the need to support and sustain critical open source projects. We invite you to engage with us as we continue to explore solutions to these needs and build these foundations for the future.&lt;/p&gt;
&lt;h2 id="acknowledgments"&gt;Acknowledgments&lt;/h2&gt;
&lt;p&gt;The award was given to the above fifteen members of the Steering Council. But this award truly belongs to the community, and we’d like to thank all that have made Jupyter possible, from newcomers to long-term contributors. The project exists to serve the community and wouldn’t be possible without you.&lt;/p&gt;
&lt;p&gt;We are grateful for the generous support of our funders. Jupyter’s scale and complexity require dedicated effort, and this would be impossible without the financial resources provided (now and in the past) by the Alfred P. Sloan Foundation, the Gordon and Betty Moore Foundation, the Helmsley Trust, the Simons Foundation, Lawrence Berkeley National Laboratory, the European Union Horizon 2020 program, Anaconda Inc, Bloomberg, Enthought, Google, Microsoft, Rackspace, and O’Reilly Media. Finally, the recipients of the award have been supported by our employers, who often have put faith in the long-term value of this type of work well before the outcomes were evident: Anaconda, Berkeley Lab, Bloomberg, CalPoly, DeepMind, European XFEL, Google, JP Morgan, Netflix, QuantStack, Simula Research Lab, UC Berkeley and Valassis Digital.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>JupyterLab is Ready for Users</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyterlab-is-ready-for-users/" rel="alternate"/><published>2018-02-20T13:12:00+00:00</published><updated>2018-02-20T20:53:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2018-02-20:/medium-archive/pelican/posts/2018/jupyterlab-is-ready-for-users/</id><summary type="html">&lt;p&gt;We are proud to announce the beta release series of JupyterLab, the next-generation web-based interface for Project Jupyter.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are proud to announce the beta release series of JupyterLab, the next-generation web-based interface for &lt;a href="http://jupyter.org/"&gt;Project Jupyter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;tl;dr: &lt;strong&gt;JupyterLab is ready for daily use (&lt;/strong&gt;&lt;a href="http://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html"&gt;&lt;strong&gt;installation&lt;/strong&gt;&lt;/a&gt;, &lt;a href="http://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html"&gt;&lt;strong&gt;documentation&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/18a9793b58ba86660b5ab964e1aeaf7324d667c8?urlpath=lab%2Ftree%2Fdemo%2FLorenz.ipynb"&gt;&lt;strong&gt;try it with Binder&lt;/strong&gt;&lt;/a&gt;)&lt;/p&gt;
&lt;figure&gt;
&lt;a href="http://jupyterlab.readthedocs.io/en/stable/"&gt;&lt;img alt="JupyterLab is an interactive development environment for working with notebooks, code, and data." src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyterlab-is-ready-for-users/images/001-1__jDTWlZNUySwrRBgVNqoNw.webp" loading="lazy" data-body-image=""&gt;&lt;/a&gt;
&lt;figcaption&gt;JupyterLab is an interactive development environment for working with notebooks, code, and data.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="the-evolution-of-the-jupyter-notebook"&gt;The Evolution of the Jupyter Notebook&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://jupyter.org/"&gt;Project Jupyter&lt;/a&gt; exists to develop open-source software, open standards, and services for interactive and reproducible computing.&lt;/p&gt;
&lt;p&gt;Since 2011, the Jupyter Notebook has been our flagship project for creating reproducible computational narratives. The Jupyter Notebook enables users to create and share documents that combine live code with narrative text, mathematical equations, visualizations, interactive controls, and other rich output. It also provides building blocks for interactive computing with data: a file browser, terminals, and a text editor.&lt;/p&gt;
&lt;p&gt;The Jupyter Notebook has become ubiquitous with the rapid growth of data science and machine learning and the rising popularity of open-source software in industry and academia:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Today there are millions of users of the Jupyter Notebook in many domains, from data science and machine learning to music and education. Our international community comes from almost every country on earth.¹&lt;/li&gt;
&lt;li&gt;The Jupyter Notebook now supports over &lt;a href="https://github.com/jupyter/jupyter/wiki/Jupyter-kernels"&gt;100 programming languages&lt;/a&gt;, most of which have been developed by the community.&lt;/li&gt;
&lt;li&gt;There are over &lt;a href="https://github.com/parente/nbestimate"&gt;1.7 million&lt;/a&gt; public Jupyter notebooks hosted on GitHub. Authors are publishing Jupyter notebooks in conjunction with scientific research, academic journals, data journalism, educational courses, and books.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At the same time, the community has faced challenges in using various software workflows with the notebook alone, such as running code from text files interactively. The classic Jupyter Notebook, built on web technologies from 2011, is also difficult to customize and extend.&lt;/p&gt;
&lt;h2 id="jupyterlab-ready-for-users"&gt;JupyterLab: Ready for Users&lt;/h2&gt;
&lt;p&gt;JupyterLab is an interactive development environment for working with notebooks, code and data. &lt;strong&gt;Most importantly, JupyterLab has full support for Jupyter notebooks.&lt;/strong&gt; Additionally, JupyterLab enables you to use text editors, terminals, data file viewers, and other custom components side by side with notebooks in a tabbed work area.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="JupyterLab enables you to arrange your work area with notebooks, text files, terminals, and notebook outputs." src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyterlab-is-ready-for-users/images/002-1_O20XGvUOTLoFKQ9o20usIA.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;JupyterLab enables you to arrange your work area with notebooks, text files, terminals, and notebook outputs.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;JupyterLab provides a high level of integration between notebooks, documents, and activities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Drag-and-drop to reorder notebook cells and copy them between notebooks.&lt;/li&gt;
&lt;li&gt;Run code blocks interactively from text files (.py, .R, .md, .tex, etc.).&lt;/li&gt;
&lt;li&gt;Link a code console to a notebook kernel to explore code interactively without cluttering up the notebook with temporary scratch work.&lt;/li&gt;
&lt;li&gt;Edit popular file formats with live preview, such as Markdown, JSON, CSV, Vega, VegaLite, and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;JupyterLab has been over three years in the making, with over 11,000 commits and 2,000 releases of npm and Python packages. Over 100 contributors from the broader community have helped build JupyterLab in addition to &lt;a href="https://github.com/jupyterlab/jupyterlab#team"&gt;our core JupyterLab developers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To get started, see the &lt;a href="http://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html"&gt;JupyterLab documentation&lt;/a&gt; for &lt;a href="http://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html"&gt;installation instructions&lt;/a&gt; and a &lt;a href="http://jupyterlab.readthedocs.io/en/stable/user/interface.html"&gt;walk-through&lt;/a&gt;, or &lt;a href="https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/18a9793b58ba86660b5ab964e1aeaf7324d667c8?urlpath=lab%2Ftree%2Fdemo%2FLorenz.ipynb"&gt;try JupyterLab with Binder&lt;/a&gt;. You can also &lt;a href="http://jupyterlab.readthedocs.io/en/stable/user/jupyterhub.html"&gt;set up JupyterHub&lt;/a&gt; to use JupyterLab.&lt;/p&gt;
&lt;h2 id="customize-your-jupyterlab-experience"&gt;Customize Your JupyterLab Experience&lt;/h2&gt;
&lt;p&gt;JupyterLab is built on top of an &lt;a href="http://jupyterlab.readthedocs.io/en/stable/user/extensions.html"&gt;extension system&lt;/a&gt; that enables you to customize and enhance JupyterLab by installing additional extensions. In fact, the builtin functionality of JupyterLab itself (notebooks, terminals, file browser, menu system, etc.) is provided by a set of core extensions.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="JupyterLab extensions enable you to work with diverse data formats such as GeoJSON, JSON and CSV.²" src="https://jasongrout.github.io/medium-archive/pelican/posts/2018/jupyterlab-is-ready-for-users/images/003-1_OneJZOqKqBZ9oN80kRX7kQ.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;JupyterLab extensions enable you to work with diverse data formats such as GeoJSON, JSON and CSV.²&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Among other things, extensions can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Provide new themes, file editors and viewers, or renderers for rich outputs in notebooks;&lt;/li&gt;
&lt;li&gt;Add menu items, keyboard shortcuts, or advanced settings options;&lt;/li&gt;
&lt;li&gt;Provide an API for other extensions to use.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Community-developed extensions on GitHub are tagged with the &lt;a href="https://github.com/topics/jupyterlab-extension"&gt;jupyterlab-extension&lt;/a&gt; topic, and currently include file viewers (GeoJSON, FASTA, etc.), Google Drive integration, GitHub browsing, and ipywidgets support.&lt;/p&gt;
&lt;h2 id="develop-jupyterlab-extensions"&gt;Develop JupyterLab Extensions&lt;/h2&gt;
&lt;p&gt;While many JupyterLab users will install additional JupyterLab extensions, some of you will want to develop your own. The extension development API is evolving during the beta release series and will stabilize in JupyterLab 1.0. To start developing a JupyterLab extension, see the &lt;a href="http://jupyterlab.readthedocs.io/en/stable/developer/extension_dev.html"&gt;JupyterLab Extension Developer Guide&lt;/a&gt; and the &lt;a href="https://github.com/jupyterlab/extension-cookiecutter-ts"&gt;TypeScript&lt;/a&gt; or &lt;a href="https://github.com/jupyterlab/extension-cookiecutter-js"&gt;JavaScript&lt;/a&gt; extension templates.&lt;/p&gt;
&lt;p&gt;JupyterLab itself is co-developed on top of &lt;a href="https://phosphorjs.github.io/"&gt;PhosphorJS&lt;/a&gt;, a new Javascript library for building extensible, high-performance, desktop-style web applications. We use modern JavaScript technologies such as TypeScript, React, Lerna, Yarn, and webpack. Unit tests, documentation, consistent coding standards, and user experience research help us maintain a high-quality application.&lt;/p&gt;
&lt;h2 id="jupyterlab-10-and-beyond"&gt;JupyterLab 1.0 and Beyond&lt;/h2&gt;
&lt;p&gt;We plan to release JupyterLab 1.0 later in 2018. The beta releases leading up to 1.0 will focus on stabilizing the extension development API, user interface improvements, and additional core features. All releases in the beta series will be stable enough for daily usage.&lt;/p&gt;
&lt;p&gt;JupyterLab 1.0 will eventually replace the classic Jupyter Notebook. Throughout this transition, the same notebook document format will be supported by both the classic Notebook and JupyterLab.&lt;/p&gt;
&lt;h2 id="get-involved"&gt;Get Involved&lt;/h2&gt;
&lt;p&gt;There are many ways you can participate in the JupyterLab effort. We welcome contributions from all members of the Jupyter community:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use our extension development API to make your own JupyterLab extensions. Please add the &lt;a href="http://github.com/topics/jupyterlab-extension"&gt;jupyterlab-extension&lt;/a&gt; topic if your extension is hosted on GitHub. We appreciate feedback as we evolve toward a stable API for JupyterLab 1.0.&lt;/li&gt;
&lt;li&gt;Contribute to the development, documentation, and design of JupyterLab on &lt;a href="https://github.com/jupyterlab/jupyterlab"&gt;GitHub&lt;/a&gt;. To get started with development, please see our &lt;a href="https://github.com/jupyterlab/jupyterlab/blob/master/CONTRIBUTING.md"&gt;Contributing Guide&lt;/a&gt; and &lt;a href="https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md"&gt;Code of Conduct&lt;/a&gt;. We label issues that are ideal for new contributors as “&lt;a href="https://github.com/jupyterlab/jupyterlab/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22"&gt;good first issue&lt;/a&gt;” or “&lt;a href="https://github.com/jupyterlab/jupyterlab/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22"&gt;help wanted&lt;/a&gt;”.&lt;/li&gt;
&lt;li&gt;Connect with us on our &lt;a href="https://github.com/jupyterlab/jupyterlab/issues"&gt;GitHub Issues page&lt;/a&gt; or on our &lt;a href="https://gitter.im/jupyterlab/jupyterlab"&gt;Gitter Channel&lt;/a&gt;. If you find a bug, have questions, or want to provide feedback, please join the conversation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We are thrilled to see how you use and extend JupyterLab.&lt;/p&gt;
&lt;p&gt;Sincerely,&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/jupyterlab/jupyterlab#team"&gt;The JupyterLab Team&lt;/a&gt; and &lt;a href="http://jupyter.org/"&gt;Project Jupyter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;We thank&lt;/em&gt; &lt;a href="https://www.TechAtBloomberg.com/"&gt;&lt;em&gt;Bloomberg&lt;/em&gt;&lt;/a&gt; &lt;em&gt;and&lt;/em&gt; &lt;a href="https://www.anaconda.com/"&gt;&lt;em&gt;Anaconda&lt;/em&gt;&lt;/a&gt; &lt;em&gt;for their support and collaboration in developing JupyterLab. We also thank the&lt;/em&gt; &lt;a href="https://sloan.org/"&gt;&lt;em&gt;Alfred P. Sloan Foundation&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, the&lt;/em&gt; &lt;a href="https://www.moore.org/"&gt;&lt;em&gt;Gordon and Betty Moore Foundation&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, and the&lt;/em&gt; &lt;a href="http://helmsleytrust.org/"&gt;&lt;em&gt;Helmsley Charitable Trust&lt;/em&gt;&lt;/a&gt; &lt;em&gt;for their support.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;[1] Based on the 249 country codes listed under &lt;a href="https://www.iso.org/iso-3166-country-codes.html"&gt;ISO 3166–1&lt;/a&gt;, recent Google analytics data from 2018 indicates that jupyter.org has hosted visitors from 213 countries.&lt;/p&gt;
&lt;p&gt;[2] Data visualized in this screenshot is licensed &lt;a href="https://creativecommons.org/licenses/by-nc/3.0/us/"&gt;CC-BY-NC 3.0&lt;/a&gt;. See &lt;a href="http://datacanvas.org/public-transportation/"&gt;http://datacanvas.org/public-transportation/&lt;/a&gt; for more details.&lt;/p&gt;
</content><category term="JavaScript"/><category term="JupyterLab"/></entry><entry><title>JupyterCon NYC: August 22nd-25th</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2017/jupytercon-nyc-august-22nd-25th/" rel="alternate"/><published>2017-07-14T18:56:00+00:00</published><updated>2017-08-28T18:36:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2017-07-14:/medium-archive/pelican/posts/2017/jupytercon-nyc-august-22nd-25th/</id><summary type="html">&lt;p&gt;Dear fellow Jovyans, We’re just weeks away our first Jupyter community conference, JupyterCon. It will take place from August 22nd to 25th (and Sprints 26th), in …&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2017/jupytercon-nyc-august-22nd-25th/images/001-1_YqNl_Yy4hEDDVxIVDGBhXw.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Dear fellow Jovyans,&lt;/p&gt;
&lt;p&gt;We’re just weeks away our first Jupyter community conference, &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny"&gt;JupyterCon&lt;/a&gt;. It will take place from August 22nd to 25th (and Sprints 26th), in the beautiful city of New York, at the Hilton Midtown, a spectacular location just steps from Central Park, Times Square, MOMA.&lt;/p&gt;
&lt;p&gt;If you haven’t registered yet there’s still time. There are a number of pass options to choose from including 2, 3, or 4 day passes. Discounts are available for students, academic instructors, and government and non-profit employees. Don’t qualify for any of those? We have a special 20% discount for you, just use the code JUPCORE20 when you &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny/public/register"&gt;register&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="what-is-jupytercon"&gt;What is JupyterCon?&lt;/h3&gt;
&lt;p&gt;The four day event will feature two days of training and tutorials and two days of Keynotes and Sessions. Topics include the Jupyter platform’s core architecture, kernels, extensions &amp;amp; customizations, usage and application of Jupyter Notebooks, as well as sessions on Jupyter’s development and community from the core Jupyter team.&lt;/p&gt;
&lt;p&gt;We’ve left plenty of time for networking, including attendee receptions, Speed Networking, Poster Sessions, community group meetups, as well as the chance to meet some of the speakers in small group settings. Check out the &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/stype/1107"&gt;event page&lt;/a&gt;. The core Jupyter team will also be present and ready to answer your trickiest questions about the Jupyter platform and what’s in-store for the future.&lt;/p&gt;
&lt;p&gt;The preconference starts on Monday 21st with a Solar Eclipse from 1:23pm to 4:00 pm in NYC.&lt;/p&gt;
&lt;h3 id="a-fantastic-line-up-of-speakers"&gt;A fantastic line-up of speakers&lt;/h3&gt;
&lt;p&gt;JupyterCon is chaired by Fernando Pérez, creator and BDFL of Jupyter, and Andrew Odewahn, CTO of O’Reilly.&lt;/p&gt;
&lt;p&gt;Some of the speakers joining us at JupyterCon include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lorena Barba from the George Washington University&lt;/li&gt;
&lt;li&gt;Nadia Eghbal from GitHub&lt;/li&gt;
&lt;li&gt;Wes McKinney from Two Sigma Investment&lt;/li&gt;
&lt;li&gt;Safia Abdalla from the nteract project&lt;/li&gt;
&lt;li&gt;Rachel Thomas from &lt;a href="http://Fast.ai"&gt;Fast.ai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brett Cannon from Microsoft / the Python Software Fundation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are only a few of the speakers joining us. We are looking forward to hearing how Jupyter is being used in education, finance, machine learning, and what the future holds for the Jupyter ecosystem. See the full line-up &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/speakers"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="sprints"&gt;Sprints&lt;/h3&gt;
&lt;p&gt;Sprints are happening on Saturday 26th, if you want to come hack on Jupyter and related project get more information on the &lt;a href="https://github.com/jupytercon/sprints"&gt;GitHub JupyterCon repository&lt;/a&gt;. You do not need to have registered to the main conference — but you &lt;em&gt;must&lt;/em&gt; registered via &lt;a href="https://www.eventbrite.com/e/jupytercon-2016-sprints-tickets-36115337948"&gt;Eventbrite&lt;/a&gt; even if you have already register for the main conference.&lt;/p&gt;
&lt;h3 id="financial-aid"&gt;Financial aid&lt;/h3&gt;
&lt;p&gt;We had a number of really good applicants for financial help, and the selection process was tough. If you have not been selected this time, don’t be discouraged and we hope to see you at the next JupyterCon.&lt;/p&gt;
&lt;h3 id="bofs"&gt;BOFS&lt;/h3&gt;
&lt;p&gt;We will have a special “Jupyter for Teaching &amp;amp; Learning BOF“ organized by Lorena Barba And &lt;a href="http://rtalbert.org"&gt;Robert Talbert&lt;/a&gt; on Thursday at 7pm. This BOF is for anyone interested in using Jupyter for teaching and learning. Topics for discussion include incorporating Jupyter in the classroom, using Jupyter tools like nbgrader and JupyterHub, connecting with other Jupyter educators, and more. For more information and to let us know you’re interested in participating, please see &lt;a href="https://www.dropbox.com/s/bgf32jurjdkrcjn/JupyterEduBOF2017.pdf?dl=0"&gt;this flyer&lt;/a&gt; and fill out the Call for Participation form at &lt;a href="http://bit.ly/jupyter-ed-bof"&gt;http://bit.ly/jupyter-ed-bof&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="solar-eclipse"&gt;Solar Eclipse&lt;/h3&gt;
&lt;p&gt;If you are coming from outside of the United States please remember to be in NYC on the 21st from 1:23pm as there is a (partial) solar eclipse in NYC, which ends at 4:00.pm. Do not forget your eclipse glasses!&lt;/p&gt;
&lt;h3 id="thanks"&gt;Thanks&lt;/h3&gt;
&lt;p&gt;This is our first JupyterCon! We do welcome feedback and will be looking for help to organize another one next year. Please contact us if you are interested in helping organizing the next conference.&lt;/p&gt;
&lt;p&gt;We’ve partnered with O’Reilly Media to develop the JupyterCon conference. O’Reilly Media is a long-time supporter of the project and active publishers in the Python/Data Science space. O’Reilly has extensive experience running conferences and we’ve been working with them for the past year to bring you a great inaugural JupyterCon.&lt;/p&gt;
&lt;p&gt;I also want to thank the &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny/public/content/about#committee-members"&gt;members of the Jupyter Con committee&lt;/a&gt; as well as the Jupyter Community Members and the team at O’Reilly Media, and &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny/public/content/sponsors"&gt;all our sponsors&lt;/a&gt; for making this conference possible.&lt;/p&gt;
&lt;p&gt;You can learn more on the &lt;a href="http://jupytercon.com"&gt;conference website&lt;/a&gt;&lt;/p&gt;
</content><category term="events"/><category term="JupyterCon"/></entry><entry><title>Introducing the Helm Chart for JupyterHub Deployment with Kubernetes</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2017/introducing-the-helm-chart-for-jupyterhub-deployment/" rel="alternate"/><published>2017-06-29T23:21:00+00:00</published><updated>2017-08-28T18:20:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:jasongrout.github.io,2017-06-29:/medium-archive/pelican/posts/2017/introducing-the-helm-chart-for-jupyterhub-deployment/</id><summary type="html">&lt;p&gt;The JupyterHub team proudly announces the release of a helm chart for deploying JupyterHub on Kubernetes clusters. We’ve …&lt;/p&gt;
</summary><content type="html">&lt;p&gt;The JupyterHub team proudly announces the release of a &lt;a href="https://github.com/jupyterhub/helm-chart"&gt;helm chart&lt;/a&gt; for deploying JupyterHub on Kubernetes clusters. We’ve designed the JupyterHub helm chart to save you time in creating JupyterHub deployments.&lt;/p&gt;
&lt;p&gt;You can find a repository with the helm chart &lt;a href="https://github.com/jupyterhub/helm-chart"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is a pre-release version of the helm-chart.&lt;/strong&gt; It will likely change in a breaking fashion sometime in the future, though we will make every effort to minimize this as much as possible as modifications are made for new features and increased stability. If you have any questions or comments, reach out to us on &lt;a href="https://gitter.im/jupyterhub/jupyterhub"&gt;Gitter&lt;/a&gt; or &lt;a href="https://github.com/jupyterhub/helm-chart/issues"&gt;open an issue&lt;/a&gt;. For help with deploying your own JupyterHub instance, see our &lt;a href="https://zero-to-jupyterhub.readthedocs.io/en/latest/"&gt;guide for setting up JupyterHub&lt;/a&gt; (which uses this helm chart). Or, come find us at the &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/60074"&gt;JupyterHub talk&lt;/a&gt; at JupyterCon.&lt;/p&gt;
&lt;p&gt;The following principles guided development:&lt;/p&gt;
&lt;h3 id="easy-to-administer"&gt;Easy to administer&lt;/h3&gt;
&lt;p&gt;The nitty gritty of JupyterHub setup and management can be cumbersome, complicated, and time-consuming. With the JupyterHub helm chart, you will spend less time debugging your setup, and more time deploying, customizing to your needs, and successfully running your JupyterHub. Within a cloud computing infrastructure, using the helm chart typically requires only one or two commands to get started.&lt;/p&gt;
&lt;h3 id="open-source"&gt;Open source&lt;/h3&gt;
&lt;p&gt;The JupyterHub helm chart uses applications and codebases that are open and thriving. We prefer, prioritize, and select tools that have a history of stability and development, and which adhere to open-source principles when it comes to project and community growth. As a result, you’ll be able to easily connect with the many tools available in the open-source community, and you’ll have flexibility in where you deploy JupyterHub.&lt;/p&gt;
&lt;h3 id="cloud-agnostic"&gt;Cloud agnostic&lt;/h3&gt;
&lt;p&gt;We’ve made an effort to keep our helm chart as cloud-agnostic as possible. The only requirement is that your computing provider supports the Kubernetes infrastructure, an open-source platform that is widely available across many different online providers. You can run JupyterHub on cloud services such as Google Cloud, Microsoft Azure, and Amazon EC2, and even on your own hardware or institution-specific setup.&lt;/p&gt;
&lt;h3 id="scalable"&gt;Scalable&lt;/h3&gt;
&lt;p&gt;We’ve taken great care to develop the JupyterHub helm chart with the ability to be used in a variety of work, research, and education settings. Some JupyterHub deployments have a dynamic userbase that works in spurts of activity. Others have users that have long periods of inactivity. Rather than capping the amount of resources available for users, the JupyterHub helm chart utilizes Kubernetes to scale computational resources up (or down) as needed. This means that large changes in user behavior don’t result in system-wide instability or slowdown issues. It also means that you can quickly update user hardware, push new files to user disks, and alter the environment in which users are operating.&lt;/p&gt;
&lt;p&gt;JupyterHub has been deployed in a variety of places, including at least one class with nearly 1500 students. We’ve made sure that it can handle large groups of users, and we’re excited to see people push the limit even further.&lt;/p&gt;
&lt;h3 id="support"&gt;Support&lt;/h3&gt;
&lt;p&gt;If you have any questions or comments, reach out to us on &lt;a href="https://gitter.im/jupyterhub/jupyterhub"&gt;Gitter&lt;/a&gt; or &lt;a href="https://github.com/jupyterhub/helm-chart/issues"&gt;open an issue&lt;/a&gt;. For help with deploying your own JupyterHub instance, see our guide, &lt;a href="https://zero-to-jupyterhub.readthedocs.io/en/latest/"&gt;Zero to JupyterHub&lt;/a&gt;. Or, come find us at the &lt;a href="https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/60074"&gt;JupyterHub talk&lt;/a&gt; at JupyterCon.&lt;/p&gt;
&lt;h3 id="acknowledgements"&gt;Acknowledgements&lt;/h3&gt;
&lt;p&gt;JupyterHub and this helm chart wouldn’t have been possible without the goodwill, time, and funding from a lot of different people. In particular, we want to thank the Gordon and Betty Moore Foundation, the Sloan Foundation, the Helmsley Charitable Trust, the Berkeley Data Science Education Program, and the Wikimedia Foundation for supporting various members of our team. We also want to thank the individuals of the JupyterHub team (listed below), the Project Jupyter community, and our more than 100 contributors for continuing to grow and improve this technology.&lt;/p&gt;
&lt;p&gt;Sincerely,&lt;br&gt;
&lt;em&gt;The JupyterHub Team (in alphabetical order)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.google.com/url?q=http://data.berkeley.edu/&amp;amp;sa=D&amp;amp;ust=1498755372168000&amp;amp;usg=AFQjCNFrmMhaSh1FrvBDYK6EYUZsWrK4vQ"&gt;Berkeley Data Science Education Program&lt;/a&gt; (Gunjan Baid, Sam Lau, Ryan Lovett, Yuvi Panda, Vinitra Swamy)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.google.com/url?q=https://www.calblueprint.org/&amp;amp;sa=D&amp;amp;ust=1498755372168000&amp;amp;usg=AFQjCNFqs3qDHccsrEcZoO1MnXMkdcmGHw"&gt;Cal Blueprint&lt;/a&gt; Team (Jiefu Gong, Sam Lau, Derrick Mar, Peter Veerman, Tony Yang)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jupyter.org/"&gt;Project Jupyter&lt;/a&gt; (Chris Holdgraf, Yuvi Panda, Min Ragan-Kelley, Carol Willing)&lt;/p&gt;
</content><category term="JupyterHub"/><category term="Kubernetes"/></entry></feed>