<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Jupyter Blog - community</title><link href="https://jasongrout.github.io/medium-archive/pelican/" rel="alternate"/><link href="https://jasongrout.github.io/medium-archive/pelican/feeds/tag-community.atom.xml" rel="self"/><id>https://jasongrout.github.io/medium-archive/pelican/</id><updated>2026-08-25T21:08:00+00:00</updated><subtitle>The Project Jupyter blog: news, releases, and community stories, archived from blog.jupyter.org.</subtitle><entry><title>What you told us: results from the 2026 Jupyter User Experience and Product Enhancement Survey</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/" rel="alternate"/><published>2026-08-25T13:42:00+00:00</published><updated>2026-08-25T21:08:00+00:00</updated><author><name>Jupyter Foundation</name></author><id>tag:jasongrout.github.io,2026-08-25:/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/</id><summary type="html">&lt;p&gt;From time to time, Jupyter runs user surveys to understand how our communities use Jupyter technology (or alternatives) and how they feel…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;From time to time, Jupyter runs &lt;a href="https://github.com/jupyter/surveys/"&gt;user surveys&lt;/a&gt; to understand how our communities use Jupyter technology (or alternatives) and how they feel about it. The Jupyter Foundation recently completed a user experience survey for 2026. It was open between 29 May and 29 June 2026, with 542 people providing answers. This post covers what we found, what you can do today about the most common problems, and where we are looking for proposals.&lt;/p&gt;
&lt;p&gt;Each of the areas below rose to the top of pain points that users consistently felt. &lt;strong&gt;We would love to see applications in the&lt;/strong&gt; &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;&lt;strong&gt;2026 Call for Proposals&lt;/strong&gt;&lt;/a&gt; that address any of these areas by improving Jupyter technology. In some areas, there are already Jupyter or third-party open-source tools that address some of the issues, and we list them as a guide to readers who want to learn more.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;About the responses&lt;/strong&gt;&lt;/em&gt;*: Three of the six questions were free text, and 246 people wrote something in at least one of them, some at considerable length. Writing several paragraphs about environment setup or version control at the end of a survey takes real time, and that detail shaped most of what follows. We want to extend our heartfelt appreciation to everyone who answered this survey, high-quality experience stories like this are crucial at shaping Jupyter’s priorities and technical direction.*&lt;/p&gt;
&lt;h2 id="who-answered"&gt;Who answered&lt;/h2&gt;
&lt;p&gt;Two thirds of respondents (65%) use Jupyter for data science and analysis, and 55% use it in education. Smaller groups deploy Jupyter for others (14%), develop extensions (14%), or contribute to the open-source project (12%). These add to more than 100% because the question accepted multiple answers. See the Appendix below for a deeper dive into the respondents and the tools they reported using. Below we’ll focus on the pain-points and themes that were commonly reported, since those are the most actionable for our community to improve upon and learn from.&lt;/p&gt;
&lt;h2 id="common-themes-that-people-raised"&gt;Common themes that people raised&lt;/h2&gt;
&lt;p&gt;We reviewed all 677 free-text responses and coded the recurring themes, cross-checking the coding against the source responses.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/images/001-1_EcfaS7-4u-hlCUlTaEBitQ.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Environment and dependency management, and version control and collaboration, are the two largest friction themes, and between them account for 51 of the 246 people who wrote to us, with 7 raising both. Other themes follow closely: interface and editor parity (17 people), handling large data sets and performance (15), documentation and discoverability (14), respondents who use a different tool instead (13), deployment and multi-user operations (12), and security, authentication and compliance (6).&lt;/p&gt;
&lt;p&gt;When we asked what is blocking people from using Jupyter more, 130 of 239 answers named something concrete, while 53 said that nothing is blocking them, either in a sentence or as a one-word “no”. Limited time and competing priorities appear throughout those 53 responses.&lt;/p&gt;
&lt;p&gt;The Foundation is committed to finding ways to address these pain points across our community, and we’ll be exploring other ways to make progress in these areas in the coming months.&lt;/p&gt;
&lt;h2 id="environment-and-dependency-management"&gt;Environment and dependency management&lt;/h2&gt;
&lt;p&gt;This was the largest friction theme, raised by 32 people across 51 responses.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/images/002-1_1Q3i-K3MyiXphDKM3T6HPw.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;The responses concentrate in three sub-problems:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Installation and first run, and package and dependency management, account for 17 responses each.&lt;/li&gt;
&lt;li&gt;Environment and kernel registration accounts for 13&lt;/li&gt;
&lt;li&gt;Reproducing an environment on a second machine for 4.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;What connects them is that the failures arrive early and are hard to diagnose from the error message alone. For example: an installation completes but the &lt;code&gt;jupyter&lt;/code&gt; command cannot be found; packages install into one environment while the notebook runs a kernel from another; a course needs the same environment on thirty machines that nobody administers centrally. Each of these has a known cause, and in many cases, a known fix, but users struggle to find the right solution to these problems.&lt;/p&gt;
&lt;p&gt;We welcome submissions in our &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;Call for Proposals&lt;/a&gt; to improve upon these pain points! We’ve also listed a few open-source tools from Project Jupyter and the third-party ecosystem that partially address these challenges.&lt;/p&gt;
&lt;p&gt;Open-source tools that partially address this problem:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;From Project Jupyter:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab/jupyterlab-desktop"&gt;&lt;strong&gt;JupyterLab Desktop&lt;/strong&gt;&lt;/a&gt; bundles Python and JupyterLab in a single installer and removes most first-run failures. &lt;a href="https://github.com/jupyterlab/jupyterlab-desktop/releases/tag/v4.6.2-1"&gt;v4.6.2&lt;/a&gt; was released recently.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jupyterlite.readthedocs.io/"&gt;&lt;strong&gt;JupyterLite&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://mybinder.org/"&gt;&lt;strong&gt;Binder&lt;/strong&gt;&lt;/a&gt; avoid per-machine installation entirely, which is often the right answer for teaching.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;python -m jupyter lab&lt;/code&gt; works when a &lt;code&gt;pip install&lt;/code&gt; succeeds but the entry point is not on your &lt;code&gt;PATH&lt;/code&gt;. This is a common cause of “command not found” straight after a successful install.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterhub/repo2docker"&gt;&lt;strong&gt;repo2docker&lt;/strong&gt;&lt;/a&gt; fetches a git repository and builds a container image based on the configuration — useful for creating reproducible images for use with Binder or JupyterHub&lt;/li&gt;
&lt;li&gt;&lt;code&gt;%pip install&lt;/code&gt; and &lt;code&gt;%conda&lt;/code&gt; install run inside a notebook and install into the environment the running kernel is actually using, which is usually what goes wrong when installing from a terminal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;From third-parties:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;better package installation from UI
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/mamba-org/gator"&gt;&lt;strong&gt;gator&lt;/strong&gt;&lt;/a&gt; creates and manages conda environments from the JupyterLab interface&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mljar/package-manager"&gt;&lt;strong&gt;package-manager&lt;/strong&gt;&lt;/a&gt; browses and installs Python packages without leaving the interface&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;kernel per environment which encodes “lockfile”
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bluss/pyproject-local-kernel"&gt;&lt;strong&gt;pyproject-local-kernel&lt;/strong&gt;&lt;/a&gt; provisions kernels per environment for the project the notebook file resides in&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/renan-r-santos/pixi-kernel"&gt;&lt;strong&gt;pixi-kernel&lt;/strong&gt;&lt;/a&gt; Per-directory Pixi environments with multi-language Jupyter kernels&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;notebook itself can include requirements
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/manzt/juv"&gt;&lt;strong&gt;juv&lt;/strong&gt;&lt;/a&gt; is CLI tool that encodes dependencies in the notebook using PEP 723 (inline script metadata) and creates ephemeral virtual environments for kernel execution&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/OKUA1/juvio"&gt;&lt;strong&gt;juvio&lt;/strong&gt;&lt;/a&gt; also encodes dependencies in the notebook using PEP 723 but also includes bespoke integration with jupyter kernel spec manager and a JupyterLab extension&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;better integration with other environment management tools
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/anaconda/nb_conda_kernels"&gt;&lt;strong&gt;nb-conda-kernels&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://github.com/nebari-dev/nb-nebi-kernels"&gt;&lt;strong&gt;nb-nebi-kernels&lt;/strong&gt;&lt;/a&gt; provision kernel specs auto-discovered from all conda and nebi-tracked pixi environments respectively&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nebari-dev/jupyterlab-launchpad"&gt;&lt;strong&gt;jupyterlab-launchpad&lt;/strong&gt;&lt;/a&gt; replaces the launcher with one that has first-class support for kernels discovered from conda and nebi-tracked pixi environments&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/2i2c-org/jupyterhub-fancy-profiles"&gt;&lt;strong&gt;jupyterhub-fancy-profiles&lt;/strong&gt;&lt;/a&gt; allows JupyterHub users to select a Binder-like environment and build it at hub launch time&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Several respondents asked for closer integration between Jupyter and environment managers, including a graphical option for people who do not work at a command line, which is part of what those extensions provide. A consistent environment and kernel story across package managers and operating systems still requires sustained work across several projects, and we would welcome proposals in this area. Another area where future work is needed is preventing the drift between server and kernel environments (join the &lt;a href="https://github.com/jupyterlab/jupyterlab/issues/19249"&gt;discussion&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="version-control-and-collaboration"&gt;Version control and collaboration&lt;/h2&gt;
&lt;p&gt;This theme was raised by 26 people across 33 responses.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/images/003-1_L0ijL6NDSBdIacvf-dZEZg.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Git diffing and merging accounts for 13 responses, real-time collaboration for 9, sharing and publishing for 8, and review and commenting for 3.&lt;/p&gt;
&lt;p&gt;The underlying cause is that the notebook format stores code, outputs and execution metadata in a single JSON document. Tools built to compare source line by line report changes that are technically accurate and hard to read: re-executing a cell without editing it can produce a large diff, and merges conflict on execution counts and output data rather than on anything a person wrote (which can be desirable when reproducibility is the primary goal, but less so when prioritizing iterative development). Reviewing a colleague’s notebook therefore costs more than reviewing an equivalent script, which pushes teams either toward exporting notebooks to scripts before review, or toward skipping review.&lt;/p&gt;
&lt;p&gt;We welcome submissions in our &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;Call for Proposals&lt;/a&gt; to improve upon these pain points! We’ve also sourced a few recommended tools within Jupyter and from third-parties that partially address these challenges, and list them below for readers that want to learn more.&lt;/p&gt;
&lt;p&gt;Open-source tools that partially address this problem:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;From Project Jupyter:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nbdime.readthedocs.io/"&gt;&lt;strong&gt;nbdime&lt;/strong&gt;&lt;/a&gt; provides content-aware diff and merge that understands cells and outputs. Running &lt;code&gt;nbdime config-git --enable --global&lt;/code&gt; once makes &lt;code&gt;git diff&lt;/code&gt; on a notebook readable.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab/jupyterlab-git"&gt;&lt;strong&gt;jupyterlab-git&lt;/strong&gt;&lt;/a&gt; brings Git operations into the JupyterLab interface and uses nbdime for diffs.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab/jupyter-collaboration/"&gt;&lt;strong&gt;jupyter-collaboration&lt;/strong&gt;&lt;/a&gt; brings real time collaboration; it allows several people to edit the same notebook simultaneously and time-travel to older versions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Third-party:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jupytext.readthedocs.io/"&gt;&lt;strong&gt;Jupytext&lt;/strong&gt;&lt;/a&gt; pairs a notebook with a &lt;code&gt;.py&lt;/code&gt; or &lt;code&gt;.md&lt;/code&gt; file that diffs and merges like an ordinary source, which makes notebook changes reviewable in a normal pull request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;nbstripout&lt;/strong&gt; tools remove most merge conflicts for teams that do not need outputs in version control. The community has produced at least three variants: &lt;a href="https://github.com/kynan/nbstripout"&gt;nbstripout&lt;/a&gt;, the original; &lt;a href="https://github.com/deshaw/nbstripout-fast"&gt;nbstripout-fast&lt;/a&gt;, a faster alternative; and &lt;a href="https://github.com/fastai/fastai-nbstripout"&gt;fastai-nbstripout&lt;/a&gt; (no longer maintained). They differ in behaviour and performance, so pin whichever you adopt. We read this fragmentation as a consequence of the gap, and a single well-supported answer would be a reasonable thing to propose.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Most of the tools above ship separately from JupyterLab and have to be installed and configured before they help, which limits how many people find them. We are considering both closer integration of these tools into the default experience and approaches that reduce the underlying problem, and we would welcome proposals for either.&lt;/p&gt;
&lt;p&gt;Review and commenting on notebooks remains the clearest gap. Nothing in the current open-source stack provides a way to leave a comment on a cell and resolve it later; that also works for colleagues who do not use GitHub.&lt;/p&gt;
&lt;h2 id="the-interface-and-parity-with-editors"&gt;The interface, and parity with editors&lt;/h2&gt;
&lt;p&gt;Seventeen people wrote about the interface, and their requests are concrete rather than architectural: completion as you type, a variable explorer, working drag and drop, faster scrolling in long notebooks, and a more modern appearance.&lt;/p&gt;
&lt;p&gt;We welcome submissions in our &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;Call for Proposals&lt;/a&gt; to improve upon these pain points! We’ve also sourced a few recommended tools within Jupyter and from third-parties that partially address these challenges (including a few JupyterLab plugins that directly solve the problem), and list them below for readers that want to learn more.&lt;/p&gt;
&lt;p&gt;Open-source tools that partially address this problem:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;From Project Jupyter:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab/jupyterlab-desktop"&gt;&lt;strong&gt;JupyterLab Desktop&lt;/strong&gt;&lt;/a&gt;. The project went through a period with little activity, which some respondents referred to. It now has active maintainers and regular releases, and &lt;a href="https://github.com/jupyterlab/jupyterlab-desktop/releases/tag/v4.6.2-1"&gt;v4.6.2&lt;/a&gt; was published after the survey closed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jupyter Notebook v7&lt;/strong&gt; now includes multiple improvements covering features requested by respondents, inheriting them from JupyterLab; after reviewing the survey answers we improved the documentation to mention the variable explorer available in the &lt;a href="https://jupyterlab.readthedocs.io/en/stable/user/debugger.html#usage"&gt;debugger&lt;/a&gt; (which has basic support, while the plugin below has more in-depth support) and the opt-in as-you-type &lt;a href="https://jupyterlab.readthedocs.io/en/stable/user/completer.html"&gt;autocompletion&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-lsp/jupyterlab-lsp"&gt;&lt;strong&gt;jupyterlab-lsp&lt;/strong&gt;&lt;/a&gt; adds better completion, jump-to-definition, signature help and diagnostics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Third-party:&lt;/strong&gt; the variable explorer people asked for, plus several conveniences carried over from mainstream editors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab-contrib/jupyterlab-variableInspector"&gt;&lt;strong&gt;jupyterlab-variableInspector&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://github.com/mljar/variable-inspector"&gt;&lt;strong&gt;variable-inspector&lt;/strong&gt;&lt;/a&gt; both provide the variable explorer that came up more than once&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab-contrib/jupyterlab-quickopen"&gt;&lt;strong&gt;jupyterlab-quickopen&lt;/strong&gt;&lt;/a&gt; jumps to a file by name.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab-contrib/jupyterlab-unfold"&gt;&lt;strong&gt;jupyterlab-unfold&lt;/strong&gt;&lt;/a&gt; gives a tree-style file browser.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab-contrib/jupyterlab_code_formatter"&gt;&lt;strong&gt;jupyterlab-code-formatter&lt;/strong&gt;&lt;/a&gt; formats code cells.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab-contrib/jupyterlab-favorites"&gt;&lt;strong&gt;jupyterlab-favorites&lt;/strong&gt;&lt;/a&gt; pins frequently used directories.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab-contrib/jupyterlab-vim"&gt;&lt;strong&gt;jupyterlab-vim&lt;/strong&gt;&lt;/a&gt; for vim users&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyterlab-contrib/search-replace"&gt;&lt;strong&gt;jupyterlab-search-replace&lt;/strong&gt;&lt;/a&gt; for search and replace &lt;em&gt;across&lt;/em&gt; file&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thirteen respondents told us they use another tool instead: VS Code, Google Colab, Spyder or Positron, marimo, or plain Python scripts. We are glad that support for Jupyter notebooks and kernels has landed in many editors and has inspired other notebook-based applications. Maintaining an open ecosystem where people can move between the tools that suit their workflow matters to us. For reactive execution in particular, &lt;a href="https://github.com/ipyflow/ipyflow"&gt;&lt;strong&gt;ipyflow&lt;/strong&gt;&lt;/a&gt; brings dataflow-aware execution inside the JupyterLab interface.&lt;/p&gt;
&lt;h2 id="artificial-intelligence"&gt;Artificial Intelligence&lt;/h2&gt;
&lt;p&gt;Twenty-four of the 246 people who wrote free text mentioned AI. Of those, 14 asked for more AI capability in Jupyter, 1 asked for it with explicit caveats, 3 objected to AI being a priority, and 5 mentioned AI (e.g. as a use case) but did not take a stance.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/images/004-1__kmIHa7KfW5V6GCVnRyOzg.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Three requests recur:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Explanation at the point of failure.&lt;/strong&gt; Clearer error messages and guidance for people who are learning, including one request for a “fix code” action placed directly below an error.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Working with self-hosted and third-party models.&lt;/strong&gt; Support for running against “own LLM-servers”, compatibility with proxy layers, and simpler installation of Jupyter AI, which one respondent described as too complicated to set up.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Help with libraries, and checking generated code.&lt;/strong&gt; Finding relevant packages within a research field, and being able to validate generated code before running it against real data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The objections are about prioritisation, and specifically that AI work displaces maintenance and work on features aimed at human users.&lt;/p&gt;
&lt;p&gt;Over the past twelve months the Foundation has facilitated several rounds of &lt;a href="https://events.linuxfoundation.org/archive/2026/jupyter-workshops/"&gt;AI workshops and summits&lt;/a&gt;, and more are planned. Anyone is welcome regardless of their stance. Working out how the project should respond to increasing AI usage in data analysis and teaching needs both positions in the room. Proposals through the funding process are welcome here too.&lt;/p&gt;
&lt;h2 id="other-themes"&gt;Other themes&lt;/h2&gt;
&lt;p&gt;Here we list a few more themes that showed up in the survey responses along with some open-source tools that can help as of August 2026.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Theme&lt;/th&gt;
&lt;th&gt;People&lt;/th&gt;
&lt;th&gt;What might help today&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Performance with large data&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;Recent versions of JupyterLab/Notebook improve UI performance. Large outputs freezing the browser can be prevented by using visualisation and tabulation libraries that make use of rasterization and canvas renderers (e.g. plotly, &lt;a href="https://github.com/jupyter-widgets/ipydatagrid"&gt;ipydatagrid&lt;/a&gt; or newcomers like &lt;a href="https://github.com/reflex-dev/xy"&gt;xy&lt;/a&gt;). Third-party extensions streamline work with large dataset in dedicated big data formats (e.g. &lt;a href="https://github.com/silx-kit/jupyterlab-h5web"&gt;jupyterlab-h5web&lt;/a&gt; for HDF5, NeXus, ANNData, etc; &lt;a href="https://github.com/QuantStack/Arbalister"&gt;Arbalister&lt;/a&gt; for Parquet, CSV, Avro, ORC, SQLite, Arrow IPC).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation and discoverability&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.jupyter.org/"&gt;Jupyter documentation&lt;/a&gt; and &lt;a href="https://discourse.jupyter.org/"&gt;Discourse&lt;/a&gt;. We are aware that changelogs and breaking-change notes are missing or inconsistent across subprojects, and this needs addressing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment and multi-user operations&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tljh.jupyter.org/"&gt;The Littlest JupyterHub&lt;/a&gt; for single-server teaching and &lt;a href="https://z2jh.jupyter.org/"&gt;Zero to JupyterHub&lt;/a&gt; on Kubernetes. &lt;a href="https://github.com/jupyterhub/batchspawner"&gt;batchspawner&lt;/a&gt; for Slurm and HPC, &lt;a href="https://github.com/jupyterhub/systemdspawner"&gt;systemdspawner&lt;/a&gt; for resource limits and sandboxing. Third-party: &lt;a href="https://github.com/2i2c-org/jupyterhub-usage-quotas"&gt;jupyterhub-usage-quotas&lt;/a&gt; and &lt;a href="https://github.com/2i2c-org/jupyterhub-cost-monitoring"&gt;jupyterhub-cost-monitoring&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security, authentication and compliance (including accessibility)&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://jupyterhub.readthedocs.io/en/stable/reference/authenticators.html"&gt;JupyterHub authenticators&lt;/a&gt; cover most institutional identity providers, and Zero to JupyterHub documents TLS and network configuration. &lt;a href="https://github.com/berkeley-cdss/jupyterlab-a11y-checker"&gt;jupyterlab-a11y-checker&lt;/a&gt; is a UC Berkeley CDSS extension for assisting authors of extensions. New versions of Jupyter software include notable accessibility improvements: &lt;a href="https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#keyboard-navigation-and-accessibility"&gt;JupyterLab&lt;/a&gt;, &lt;a href="https://jupyterbook.org/blog/posts/2026/accessibility-improvements"&gt;myst-theme&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Teaching and grading&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href="https://nbgrader.readthedocs.io/"&gt;nbgrader&lt;/a&gt; for assignment distribution and autograding, usually alongside JupyterHub.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Execution model and cell state&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;In IPython &lt;code&gt;%load_ext autoreload&lt;/code&gt; followed by &lt;code&gt;%autoreload 2&lt;/code&gt; gives hot reload while developing a package against a live kernel. Third-party &lt;a href="https://github.com/ipyflow/ipyflow"&gt;ipyflow&lt;/a&gt; brings reactive execution to Jupyter interfaces.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publishing and export&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;code&gt;jupyter nbconvert --to webpdf&lt;/code&gt; produces PDFs without a LaTeX installation. &lt;a href="https://jupyterbook.org/"&gt;Jupyter Book&lt;/a&gt; for longer documents and &lt;a href="https://voila.readthedocs.io/"&gt;Voilà&lt;/a&gt; for dashboards. Third-party: &lt;a href="https://quarto.org/"&gt;Quarto&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mobile and tablet access&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;No good answer today. Recent work on lumino is addressing certain limitations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Non-Python kernels&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Maturity varies by language. Specific bugs are best filed on the relevant kernel’s issue tracker, where they can be followed up.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Excel and spreadsheet interop&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;JupyterLab opens CSV and TSV files in a data grid without any extension. Third-party: &lt;a href="https://github.com/jupyterlab-contrib/jupyterlab-spreadsheet-editor"&gt;jupyterlab-spreadsheet-editor&lt;/a&gt; makes CSV and TSV files editable in place, and &lt;a href="https://github.com/quigleyj97/jupyterlab-spreadsheet"&gt;jupyterlab-spreadsheet&lt;/a&gt; opens Excel workbooks read-only.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="submit-a-proposal"&gt;Submit a proposal&lt;/h2&gt;
&lt;p&gt;Most of what people asked for needs sustained work rather than a configuration change. The Jupyter Foundation’s &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;Community Funding Proposals&lt;/a&gt; process is &lt;strong&gt;open through the 9th of September, 2026&lt;/strong&gt;. Proposals do not need to come from existing maintainers, and you can propose work without intending to be the person who carries it out.&lt;/p&gt;
&lt;p&gt;Larger changes may warrant a new &lt;a href="https://jupyter.org/enhancement-proposals/"&gt;Jupyter Enhancement Proposal&lt;/a&gt;, or completing work on an existing one. Both are in scope for community funding, and are expected to involve support and consensus building in the community.&lt;/p&gt;
&lt;h2 id="thank-you"&gt;Thank you&lt;/h2&gt;
&lt;p&gt;Once again, thank you to the 542 people that offered their time and expertise to provide responses to our user survey. For those interested in the &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;2026 Call for Proposals&lt;/a&gt;, we’d love to see submissions that address these pain points. Keep an eye open for future surveys, as they have a big impact on where Jupyter improves its technology moving forward.&lt;/p&gt;
&lt;h2 id="appendix"&gt;Appendix&lt;/h2&gt;
&lt;p&gt;Here is some more information about the survey respondents and the kinds of tools they used in general. We share it below in case it helps provide context for the analysis above.&lt;/p&gt;
&lt;h3 id="the-data-and-how-to-read-it"&gt;The data, and how to read it&lt;/h3&gt;
&lt;p&gt;An anonymized version of the dataset is available at &lt;a href="https://jupyter.org/surveys"&gt;jupyter.org/surveys&lt;/a&gt; (repo here: &lt;a href="https://github.com/jupyter/surveys"&gt;github.com/jupyter/surveys&lt;/a&gt;), together with the analysis notebook that produced every figure in this post, including its caveats and the checks that did not work.&lt;/p&gt;
&lt;p&gt;Analysing the questionnaire turned up several problems worth fixing before reusing the questions, and worth taking into account when re-analysing the data: a question that asked for a single primary answer while accepting several, a list that mixed applications with libraries and server components, and a question that asked two things at once.&lt;/p&gt;
&lt;p&gt;Around 6% of this dataset shows clear quality problems, rising to roughly 11% under a stricter definition that also counts respondents who selected every available option. We even had two self-identified AI assistants fill in the survey. We re-ran the headline figures with those responses removed and none of the percentages moved by more than a point.&lt;/p&gt;
&lt;h3 id="product-use-numbers"&gt;Product-use numbers&lt;/h3&gt;
&lt;p&gt;We asked participants to note the Jupyter tools that they use, and share the results below. A caveat for this data: we learned that many Jupyter users do not easily distinguish between the many different tools in the “Jupyter Stack”, and respondents often only chose one tool while many were likely in-use (e.g. only choosing “IPython” but not choosing “Jupyter Server”, which is almost always used alongside IPython). We’ll try to improve our methodology to tease this out more effectively in the future, but share the data below for others.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/images/005-1_T7HFyQuaysQbyU7YqdcAgA.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;To understand whether the above question was skewed by the effect of mistakenly only responding with one selection, while many selections were more appropriate, we broke down the answers to the above question by whether the respondent also selected at least one other option. Of 542 respondents, 303 ticked exactly one box.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/images/006-1_EqKzmO74B8Rk9uteMOxlWA.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Nearly half of all IPython/ipykernel selections came from people who ticked nothing else, which suggests that some respondents ticked the single item they recognised rather than enumerating everything they use. For example, jupyter-server usage should be equal or greater to that of JupyterLab and Notebook (while alternative servers such as jupyverse exist, adoption of these would not explain the gap). We would treat these percentages as reflecting name recognition at least as much as adoption. Which products are used &lt;em&gt;together&lt;/em&gt; holds up better: among the 239 people who ticked more than one, Binder, JupyterHub, Jupyter Server, Jupyter Book and ipywidgets form a clear cluster.&lt;/p&gt;
&lt;h3 id="usage-patterns"&gt;Usage patterns&lt;/h3&gt;
&lt;p&gt;Just over half (53%) use Jupyter daily for more than thirty minutes, 15% once a day for shorter sessions, 17% weekly, and 16% monthly or less. The sample leans heavily toward regular users. The survey was open for a month, with almost all responses arriving in the final nineteen days.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/what-you-told-us-results-from-the-2026-jupyter-user/images/007-1_OuWj_WKQ2Oxl7rO6bV8NLA.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="community"/><category term="Jupyter Foundation"/></entry><entry><title>Congratulations, Distinguished Contributors!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/" rel="alternate"/><published>2026-06-24T15:08:00+00:00</published><updated>2026-06-26T07:16:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2026-06-24:/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/</id><summary type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2025 cohort of contributors.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2025 cohort of contributors.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their substantial contributions to Jupyter itself in both quality and quantity over at least two years. Contributions may include code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, fundraising, branding, marketing, inclusion and diversity, UX design and research, etc.&lt;/p&gt;
&lt;p&gt;Please congratulate the winners of the 2025 cohort of Jupyter Distinguished Contributors!&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Photo of James Colliander" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/001-1_tvqSgVCwpnNq8c4yARxlZQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;James Colliander&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Photo of Florence Haudin" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/002-1_Woii0mAKX49rdgHRdv5tyQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Florence Haudin&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Photo of Greg Mooney" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/003-1_c1eU0cCYGogiSMTlYK3j7Q.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Greg Mooney&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Photo of Kirstie Whitaker" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/004-1_C7R23KzWzt6vhNUyRFeOgA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Kirstie Whitaker&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/congratulations-distinguished-contributors/images/005-1_PfvfmCFMF7KRqzqrWrAPZQ.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Jupyter User Survey</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyter-user-survey/" rel="alternate"/><published>2026-06-18T15:04:00+00:00</published><updated>2026-06-18T15:04:00+00:00</updated><author><name>Jason Grout</name></author><id>tag:jasongrout.github.io,2026-06-18:/medium-archive/pelican/posts/2026/jupyter-user-survey/</id><summary type="html">&lt;p&gt;The Jupyter Foundation is excited to gather your feedback on the Jupyter user experience through a brief survey. If you had a magic wand…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;The &lt;a href="https://jupyterfoundation.org/"&gt;Jupyter Foundation&lt;/a&gt; is excited to gather your feedback on the Jupyter user experience through a brief &lt;a href="https://linuxfoundation.surveymonkey.com/r/jupyter-user-survey"&gt;survey&lt;/a&gt;. If you had a magic wand, what would you change or add to Jupyter? Your insights are incredibly important as we continue to invest in making Jupyter better for everyone.&lt;/p&gt;
&lt;p&gt;The survey takes only about &lt;strong&gt;3 minutes&lt;/strong&gt; to complete, and we highly encourage you to participate. The survey will &lt;strong&gt;close on Sunday, June 28th&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://linuxfoundation.surveymonkey.com/r/jupyter-user-survey"&gt;&lt;strong&gt;TAKE THE SURVEY&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thank you for your time, your input, and your continued support of the Jupyter ecosystem!&lt;/p&gt;
</content><category term="community"/><category term="Jupyter Foundation"/></entry><entry><title>Becoming the new JupyterHub and Jupyter Book community manager</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/becoming-the-new-jupyterhub-and-jupyter-book-community/" rel="alternate"/><published>2026-06-15T07:01:00+00:00</published><updated>2026-06-15T07:01:00+00:00</updated><author><name>Serena Bonaretti</name></author><id>tag:jasongrout.github.io,2026-06-15:/medium-archive/pelican/posts/2026/becoming-the-new-jupyterhub-and-jupyter-book-community/</id><summary type="html">&lt;p&gt;There are moments in life when things, simply, converge. You work and study, study and work, and then, simply, it happens. It starts one…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/becoming-the-new-jupyterhub-and-jupyter-book-community/images/001-1_FO2axICPqqSETF34ZMoaBw.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;There are moments in life when things, simply, converge. You work and study, study and work, and then, simply, it happens. It starts one day when somebody tells you “there is this new thing called Jupyter Notebook, you should give it a try!”. So you install it, play around with it. It works like a charm. It’s easy, fast, nearly playful. It’s beautiful–and if you grow up in Italy, beauty always matters. Then, you have the urge to tell others about it. You organize a workshop at a conference in musculoskeletal image analysis and introduce marvelous novel tools for computational research: “You know? Nowadays we can do open science easily because somebody has created Jupyter Notebook, Binder, new Python libraries!” And then, together with some friends, you write a proposal for a &lt;a href="/posts/2022/report-on-the-jupyter-community-workshop/"&gt;Jupyter Community Workshop&lt;/a&gt;, and–unbelievable!–you get it. Initially, you think you are just organizing a workshop. But somehow, the number of people interested becomes larger and larger, and you find yourself co-founding and coordinating what is now the Open and Reproducible Musculoskeletal Imaging Research (&lt;a href="https://www.ormir.org"&gt;ORMIR&lt;/a&gt;) Community. In ORMIR’s Python packages, the examples are in Jupyter Notebook, the documentation is in Jupyter Book. Sooner or later, we will have our JupyterHubs too; it’s just a matter of time. In parallel, life gives you some professional challenges. So you start teaching Python online, one-to-one. You look for material that fits your style, but you cannot find any. So you start teaching it your way, using Jupyter Notebook in JupyterLab and it works. Students find it easy, independent of their background. The teaching material seems to work, so you transcribe it into a book entitled &lt;a href="http://www.learnpythonwithjupyter.com"&gt;Learn Python with Jupyter&lt;/a&gt;, and you make it open. At the same time, you are obsessed with keeping up to date. You go to JupyterCon, meet the people, watch their YouTube videos, participate in online meetings. And then, there is a &lt;a href="/posts/2026/call-for-applications-community-manager-for-jupyterhub/"&gt;job posting&lt;/a&gt; for a community manager. And you are like: “Nah, they will never hire me”, so you set it aside. But then somebody out of the blue tells you to apply because “100% of lottery winners played!”. So you give it a chance, and here I am: my name is &lt;a href="https://sbonaretti.github.io/"&gt;Serena Bonaretti&lt;/a&gt; and I am the new JupyterHub and Jupyter Book community manager!&lt;/p&gt;
&lt;p&gt;In this new role, I am very much looking forward to working with the JupyterHub and Jupyter Book communities! I will collaborate with maintainers to understand and document projects’ priorities and define the best processes to achieve their vision. I will support contributors in finding their way into the projects and make the real-world impact that they hope to achieve. I will dialogue with users to make sure that the tools we create are useful for their work. And I will share our activities monthly and what we learn with anybody interested, so that we can all benefit from this journey!&lt;/p&gt;
&lt;p&gt;And you? How did you start using the tools of the Jupyter ecosystem? Do you work in JupyterHub? Have you ever written a Jupyter Book? Would you like to be a contributor? Are you an enthusiastic user? Write me on &lt;a href="https://discord.mystmd.org/"&gt;Discord&lt;/a&gt; (Jupyter Book/MyST) or &lt;a href="https://jupyter.zulipchat.com/#narrow/channel/469744-jupyterhub"&gt;Zulip&lt;/a&gt; (JupyterHub). The JupyterHub and Jupyter Book communities and I are looking forward to getting to know you!&lt;/p&gt;
</content><category term="community"/><category term="Jupyter Book"/><category term="JupyterHub"/></entry><entry><title>Our new Jupyter Foundation Community Manager</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/our-new-jupyter-foundation-community-manager/" rel="alternate"/><published>2026-05-18T20:01:00+00:00</published><updated>2026-05-18T20:01:00+00:00</updated><author><name>RP</name></author><id>tag:jasongrout.github.io,2026-05-18:/medium-archive/pelican/posts/2026/our-new-jupyter-foundation-community-manager/</id><summary type="html">&lt;p&gt;The Jupyter Foundation is excited to announce that we have contracted with Jason Grout to be a part-time Jupyter Foundation Community…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;The Jupyter Foundation is excited to announce that we have contracted with &lt;a href="https://jasongrout.org/"&gt;Jason Grout&lt;/a&gt; to be a part-time Jupyter Foundation Community Manager. The primary purpose of this role is to strengthen the Foundation and assist the Foundation and its members in providing value to Project Jupyter.&lt;/p&gt;
&lt;p&gt;In the year and a half the Foundation has existed, it has funded a number of strategic initiatives, including JupyterCon 2025, a series of Jupyter Workshops, community development and capacity grants, and a strategic marketing effort. In that time, we’ve found that planning, delivering, and improving these initiatives is difficult without dedicated capacity and expertise.&lt;/p&gt;
&lt;p&gt;With the capacity and experience provided by this role, we are excited to continue growing our connection with and value in the community. Jason has a long history of service to the Jupyter project, and has spent several years serving on Jupyter’s Executive Council and more recently on the Jupyter Foundation Board. We’re excited for the expertise, wisdom, and positive spirit that Jason will bring to this role.&lt;/p&gt;
&lt;p&gt;This is a new role, and we’ll shape the responsibilities and key deliverables as we learn. In the meantime, keep an eye open for Jason across the community and alongside various initiatives that the board is excited to continue this year.&lt;/p&gt;
&lt;p&gt;-RP&lt;/p&gt;
&lt;p&gt;Jupyter Foundation Governing Board Chair&lt;/p&gt;
</content><category term="community"/><category term="Jupyter Foundation"/></entry><entry><title>700 JupyterLab 4 Extensions!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/" rel="alternate"/><published>2026-03-13T17:18:00+00:00</published><updated>2026-03-13T17:18:00+00:00</updated><author><name>Konstantin Taletskiy</name></author><id>tag:jasongrout.github.io,2026-03-13:/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/</id><summary type="html">&lt;p&gt;The JupyterLab extension ecosystem just crossed 700 extensions compatible with JupyterLab 4!&lt;/p&gt;
</summary><content type="html">&lt;figure&gt;
&lt;img alt="The number 700 formed by a mosaic of JupyterLab extension icons and author avatars" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/images/001-1_z7SyUie14-caE28XRvtH9A.jpg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;700 extensions for JupyterLab 4, and counting!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The JupyterLab extension ecosystem just crossed &lt;strong&gt;700 extensions compatible with JupyterLab 4!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That’s 700 community-built plugins — from astronomical data viewers to reactive notebooks, from genome browsers to workflow managers — created by hundreds of developers, research labs, and companies around the world.&lt;/p&gt;
&lt;h2 id="what-are-jupyterlab-extensions"&gt;What Are JupyterLab Extensions?&lt;/h2&gt;
&lt;p&gt;Extensions are how JupyterLab becomes a Git client, a dashboard builder, a genomics viewer, or an AI workspace — without changing the core application. Install one with &lt;code&gt;pip install&lt;/code&gt;, and it activates automatically.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Collage of screenshots showing popular JupyterLab extensions in action: jupytext with file format options, jupyterlab-h5web visualizing HDF5 data, jupyter-collaboration for real-time editing, jupyterlab-git with diff and staging views, ipywidgets with interactive parameter sliders, ipympl for inline matplotlib plots, jupytergis-lab for geospatial data, sidecar for side-panel output, and jupyterlab-latex for document preview." src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/images/002-1_TYJMNY9zzWcawsQsOkPuLQ.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Popular JupyterLab extensions&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This is by design: JupyterLab itself is built as a collection of extensions — the &lt;a href="https://github.com/jupyterlab/jupyterlab/tree/main/packages/filebrowser"&gt;file browser&lt;/a&gt;, the &lt;a href="https://github.com/jupyterlab/jupyterlab/tree/main/packages/notebook"&gt;notebook editor&lt;/a&gt;, the &lt;a href="https://github.com/jupyterlab/jupyterlab/tree/main/packages/terminal"&gt;terminal&lt;/a&gt; are all plugins. The same architecture that powers the core lets the community build what they need. For background, see &lt;a href="/posts/2019/99-ways-to-extend-the-jupyter-ecosystem/"&gt;99 ways to extend the Jupyter ecosystem&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="the-ecosystem-at-700"&gt;The Ecosystem at 700&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;700+ extensions compatible with JupyterLab 4&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~960 total extensions&lt;/strong&gt; published on PyPI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~9.8 million downloads/month&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;100M+ total downloads&lt;/strong&gt; in the past year&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By any measure, a substantial software layer has grown around JupyterLab.&lt;/p&gt;
&lt;h2 id="how-we-got-here"&gt;How We Got Here&lt;/h2&gt;
&lt;p&gt;The ecosystem crossed &lt;strong&gt;600 JL4-compatible extensions in late October 2025&lt;/strong&gt;, days before &lt;a href="https://www.jupytercon.com/"&gt;JupyterCon in San Diego&lt;/a&gt;. At the conference, we ran a full-day &lt;a href="https://jupytercon.github.io/jupytercon2025-developingextensions/"&gt;Extension Development for Everyone&lt;/a&gt; tutorial with hands-on rapid prototyping. By early March 2026, we hit &lt;strong&gt;700&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The ecosystem has been growing at a steady pace, averaging about 18 new extensions per month, with November 2025 setting an all-time monthly record of 33. Modern tooling is helping: better templates, documentation, and code generation tools have lowered the bar for what once required deep familiarity with TypeScript, Lumino, and JupyterLab internals.&lt;/p&gt;
&lt;h2 id="where-the-extensions-are"&gt;Where the Extensions Are&lt;/h2&gt;
&lt;figure&gt;
&lt;img alt="Bar chart showing number of JupyterLab extensions by category. Development and Version Control leads with 267, followed by Cloud and Platform Integration (127), AI and Code Assistance (88), Specialized Computing (83), Visualization and Dashboards (80), Educational and Grading (70), Theme (67), System and Resource Management (65), Runtime and Kernel Extensions (44), Workflow and Automation (37), and Data and Database Integration (26)" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/images/003-1_lijkfmv6G5n96sO2vRzB5Q.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Number of JupyterLab extensions by category&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Bar chart showing 30-day PyPI downloads per category. Development and Version Control leads at 5.4 million, followed by Visualization and Dashboards (2.7M), System and Resource Management (602K), AI and Code Assistance (253K), Runtime and Kernel Extensions (206K), Cloud and Platform Integration (178K), Data and Database Integration (148K), Educational and Grading (99K), Workflow and Automation (69K), Specialized Computing (56K), and Theme (48K)" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/images/004-1_wW76DvGMkq2l_Xvr0JO_vw.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Monthly PyPI downloads by category&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Development &amp;amp; Version Control dominates both in count (267) and downloads (5.4M/month). Visualization &amp;amp; Dashboards (2.7M/month) and System &amp;amp; Resource Management (602K/month) round out the top three most downloaded categories. But the fastest-growing categories point to where things are heading. Here’s what’s new in 2026:&lt;/p&gt;
&lt;h2 id="jupyterlabs-ai-layer-starts-taking-shape"&gt;JupyterLab’s AI Layer Starts Taking Shape&lt;/h2&gt;
&lt;p&gt;AI isn’t yet the biggest category in JupyterLab, but it may be the clearest signal of where new interaction patterns are emerging:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/jupyter-ai-acp-client?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;jupyter-ai-acp-client&lt;/strong&gt;&lt;/a&gt; — Brings external AI agents into JupyterLab’s chat via the Agent Communication Protocol. Ships with Claude Code and Kiro personas.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/nb-margin?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;nb-margin&lt;/strong&gt;&lt;/a&gt; — Annotate cells with margin comments, and Claude Code edits them. A different paradigm from chat-based AI.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/jupyterlite-ai-kernels?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;jupyterlite-ai-kernels&lt;/strong&gt;&lt;/a&gt; — AI-powered kernels for JupyterLite, from Jeremy Tuloup. AI-assisted computation entirely in the browser.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/jupyter-chat-components?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;jupyter-chat-components&lt;/strong&gt;&lt;/a&gt; — Reusable chat UI components from Project Jupyter — building blocks for the next generation of AI tools.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These extensions reflect what the JupyterLab team identified as a 2026 priority: first-class integration with AI tooling.&lt;/p&gt;
&lt;h2 id="reproducibility-gets-a-toolchain"&gt;Reproducibility Gets a Toolchain&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://labextensions.dev/extensions/calkit-python?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;calkit-python&lt;/strong&gt;&lt;/a&gt; is the most downloaded new extension of 2026 (11,000+ monthly downloads). It gives notebooks project-scoped environments, graphical package management via Astral’s &lt;code&gt;uv&lt;/code&gt;, and one-click notebook pipelines with freshness tracking. Think “Makefiles for notebooks” meets “Poetry for Jupyter.”&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Calkit extension in JupyterLab showing a notebook pipeline with three stages — collect-data, process-data, and plot-results — in the left sidebar, alongside a Python notebook with pandas code. The toolbar shows environment and pipeline stage indicators" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/images/005-0_vKMU4QiLD406Ac9c.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Calkit manages notebook pipelines with environment tracking and one-click reruns. The orange ‘run’ button signals stale outputs that need to be regenerated.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href="https://labextensions.dev/extensions/jupyter-projspec?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;jupyter-projspec&lt;/strong&gt;&lt;/a&gt; (from the fsspec contributors) takes a complementary approach — it brings &lt;a href="https://github.com/fsspec/projspec"&gt;projspec&lt;/a&gt; into JupyterLab, letting you scan and analyze project structures directly from the notebook environment.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="jupyter-projspec extension in JupyterLab showing the Project Spec sidebar panel with detected project types including Git Repository, Pixi, and Poetry, alongside the file browser and JupyterLab launcher with notebook and console options." src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/images/006-0_GSE92ExuZWmjQHtA.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;jupyter-projspec integrates to system filebrowser to show the project metadata&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="science"&gt;Science&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/fitsview?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;fitsview&lt;/strong&gt;&lt;/a&gt; — Stream FITS astronomical data slices directly in JupyterLab without downloading full files.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/jupyterlab-urdf-test?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;jupyterlab-urdf-test&lt;/strong&gt;&lt;/a&gt; — 3D robot model viewer/editor (URDF + Three.js), from &lt;a href="https://github.com/jupyter-robotics"&gt;jupyter-robotics&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/climb-jupyter-igv?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;climb-jupyter-igv&lt;/strong&gt;&lt;/a&gt;— Integrative Genomics Viewer with S3 access for bioinformatics.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/ggblab?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;ggblab&lt;/strong&gt;&lt;/a&gt;— GeoGebra interactive geometry with bidirectional Python communication. Second most downloaded new extension of 2026.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="accessibility"&gt;Accessibility&lt;/h2&gt;
&lt;p&gt;Accessibility has been a growing focus for JupyterLab core and extensions are starting to address it too:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/jupyterlab-a11y-checker?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;jupyterlab-a11y-checker&lt;/strong&gt;&lt;/a&gt;— From UC Berkeley’s &lt;a href="https://github.com/berkeley-dsep-infra/jupyterlab-a11y-checker"&gt;DSEP infrastructure team&lt;/a&gt;, this extension scans notebooks for WCAG 2.1 AA issues: missing alt text, heading structure, table headers, color contrast, and link text. Guided fix interfaces, optional AI suggestions, and a CLI for CI pipelines. Over 11,000 total downloads and a &lt;a href="https://a11y-checker-guide.datahub.berkeley.edu/"&gt;documentation site&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labextensions.dev/extensions/jupyterlab-change-ui-font-size-fix?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;&lt;strong&gt;jupyterlab-change-ui-font-size-fix&lt;/strong&gt;&lt;/a&gt; — Fixes file browser icon misalignment when users change the UI font size — a small but real pain point for anyone who needs larger text.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="27-extensions-one-platform"&gt;27 Extensions, One Platform&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/stellarshenson/stellars-jupyterlab-ds"&gt;Stellars&lt;/a&gt; is a JupyterLab-based data science platform — GPU support, MLflow, TensorBoard, Optuna — assembled from &lt;strong&gt;27 custom extensions&lt;/strong&gt; covering everything from &lt;a href="https://labextensions.dev/extensions/jupyterlab-branding-extension?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;branding&lt;/a&gt; and &lt;a href="https://labextensions.dev/extensions/jupyterlab-vscode-icons-extension?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;file icons&lt;/a&gt; to &lt;a href="https://labextensions.dev/extensions/jupyterlab-kernel-terminal-workspace-culler-extension?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;kernel management&lt;/a&gt; and &lt;a href="https://labextensions.dev/extensions/jupyterlab-drawio-render-extension?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;diagram rendering&lt;/a&gt;, &lt;a href="https://labextensions.dev/extensions/jupyterlab-vscode-icons-extension?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;VS Code file icons&lt;/a&gt;, &lt;a href="https://labextensions.dev/extensions/jupyterlab-trash-mgmt-extension?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;trash management&lt;/a&gt;, &lt;a href="https://labextensions.dev/extensions/jupyterlab-mmd-to-png-extension?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=700_extensions"&gt;Mermaid-to-PNG conversion&lt;/a&gt;, and more.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;JupyterLab is now flexible enough that one developer can assemble a domain-specific product entirely from extension building blocks.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="want-to-build-your-own"&gt;Want to Build Your Own?&lt;/h2&gt;
&lt;p&gt;The JupyterCon tutorial is fully available: &lt;a href="https://jupytercon.github.io/jupytercon2025-developingextensions/"&gt;step-by-step materials&lt;/a&gt; and the complete &lt;a href="https://www.youtube.com/watch?v=z-KZ6CjZjbM"&gt;YouTube recording&lt;/a&gt;. It covers scaffolding, plugin architecture, publishing to PyPI, and rapid prototyping techniques. The tools have never been more accessible.&lt;/p&gt;
&lt;h2 id="how-we-track-this"&gt;How We Track This&lt;/h2&gt;
&lt;p&gt;The data behind this post comes from the &lt;a href="https://labextensions.dev"&gt;JupyterLab Marketplace&lt;/a&gt;, a community &lt;a href="https://github.com/orbrx/jupyter-marketplace"&gt;project&lt;/a&gt; that tracks all published JupyterLab extensions using PyPI data. The marketplace refreshes automatically and provides download trends, category breakdowns, and discovery tools.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="JupyterLab Marketplace homepage showing a grid of popular extensions with download counts and GitHub stars — including jupyter-archive, jupyter-resource-usage, ipyanchorviz, jupyterlab-execute, jupyter-collaboration, jupysql-plugin, jupyterlab-unfold, jupyter-ai, jupyterlab-code-snippets, and jupyterlab-autoscroll." src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/700-jupyterlab-4-extensions/images/007-1_CkZpwkmEKNiXm_XsiBRACQ.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;JupyterLab Marketplace&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;For more on the data and methodology, see our &lt;a href="https://www.youtube.com/watch?v=OWt3Yzhrs1E"&gt;PyData Boston 2025 talk&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="whats-next"&gt;What’s Next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;New interaction patterns&lt;/strong&gt; are still being figured out — chat-based assistance, cell annotations, agent protocols. Probably all of them for different use cases.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reproducibility tooling&lt;/strong&gt; suggests the community is ready for opinionated workflow management built into the notebook experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ensuring extensions keep working as JupyterLab evolves is critical — the team has been &lt;a href="https://github.com/jupyterlab/frontends-team-compass/issues/301"&gt;discussing extension compatibility testing&lt;/a&gt; at recent contributors calls.&lt;/p&gt;
&lt;p&gt;For the &lt;a href="https://labextensions.dev"&gt;Marketplace&lt;/a&gt; itself, we’re working on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Deeper integration with JupyterLab Extension Manager&lt;/strong&gt; — deep links and “Install in JupyterLab” buttons to go from discovery to installation in one click.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expanding Trove classifiers&lt;/strong&gt; to indicate Jupyter Notebook and JupyterLite support. All three use the same extension system, with important caveats: Notebook extensions need to target different UI elements, and JupyterLite extensions cannot have a server component.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Better contribution signals&lt;/strong&gt; — surfacing commits, PRs, and issues to help users gauge how actively maintained an extension is.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;At 700 extensions, the community now shapes JupyterLab as much as the core team does. If you’re building extensions, thank you! Every one of them makes Jupyter better for someone.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="about-the-author"&gt;About the author&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/taletskiy/"&gt;Konstantin Taletskiy&lt;/a&gt; is a Senior Software Engineer at &lt;a href="https://www.anaconda.com/"&gt;Anaconda&lt;/a&gt; working on open-source Jupyter. He is a contributor to JupyterLab, maintainer of &lt;a href="https://github.com/mamba-org/mamba-gator"&gt;mamba-gator&lt;/a&gt; and &lt;a href="https://github.com/jupyterlab/jupyterlab-latex"&gt;jupyterlab-latex&lt;/a&gt;, and the creator of the &lt;a href="https://labextensions.dev"&gt;JupyterLab Marketplace&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/><category term="extensions"/><category term="JupyterLab"/></entry><entry><title>Call for applications: Community Manager for JupyterHub and Jupyter Book</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/call-for-applications-community-manager-for-jupyterhub/" rel="alternate"/><published>2026-03-05T16:44:00+00:00</published><updated>2026-03-05T19:07:00+00:00</updated><author><name>Kirstie Whitaker</name></author><id>tag:jasongrout.github.io,2026-03-05:/medium-archive/pelican/posts/2026/call-for-applications-community-manager-for-jupyterhub/</id><summary type="html">&lt;p&gt;The JupyterHub and Jupyter Book communities are hiring a community manager.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;The &lt;a href="https://jupyter.org/hub"&gt;JupyterHub&lt;/a&gt; and &lt;a href="https://jupyterbook.org"&gt;Jupyter Book&lt;/a&gt; communities are hiring a &lt;strong&gt;community manager&lt;/strong&gt;.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="a cartoon of people working together. there are a group in the center and then spokes of people working in different contexts on different focus areas, some are alone but others are working in smaller groups, all part of the whole collaboration." src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/call-for-applications-community-manager-for-jupyterhub/images/001-1__jfvloGZbtvcYdoZ0N6orA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Join our community and support us all to grow, nurture, and build things together. Credit: The Turing Way and Scriberia, used under a CC-BY license &lt;a href="https://doi.org/10.5281/zenodo.3332808"&gt;https://doi.org/10.5281/zenodo.3332808&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In JupyterHub, we are democratizing access to interactive computing environments to allow everyone, no matter where they are, to explore data, develop code, and advance knowledge without barriers. In Jupyter Book, we are building the next generation of open, community-driven technical publication tooling, leveraging the &lt;a href="https://mystmd.org/"&gt;MyST document engine&lt;/a&gt; to create modular, reusable, and reproducible computational narratives.&lt;/p&gt;
&lt;p&gt;We are excited to fund dedicated time for someone — maybe you! — to join these teams.&lt;/p&gt;
&lt;p&gt;The community manager will be responsible for identifying and developing activities and communication pathways that align maintainer and contributor actions with the goals of each project, and that build bridges across the Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;You can read more about our motivation for this role in the &lt;a href="https://github.com/jupyter-governance/funding-proposals/issues/6"&gt;proposal&lt;/a&gt;, part of the Jupyter Foundation’s &lt;a href="https://jupyterfoundation.org/community-funding-proposals"&gt;Community Funding&lt;/a&gt; initiative. We particularly encourage applicants to review the section “&lt;em&gt;Impact Metrics: How do we define success?&lt;/em&gt;”&lt;/p&gt;
&lt;p&gt;In this blog post we have outlined the community manager’s &lt;strong&gt;responsibilities&lt;/strong&gt;, their &lt;strong&gt;preferred expertise&lt;/strong&gt;, and &lt;strong&gt;how to apply.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is a contract role, funded at $90,000 to be spent by the end of April 2027.&lt;/strong&gt; The community manager will be engaged as a contractor of the Linux Foundation and will follow the standard Linux Foundation contractor onboarding process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The deadline to apply is 29 March 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="responsibilities"&gt;Responsibilities&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Strategic alignment and contributor guidance&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collaborate with the maintainer teams from both projects to understand, document, and broadcast each project’s priorities to their communities.&lt;/li&gt;
&lt;li&gt;Actively connect contributors to open issues and workstreams that align with the respective project’s goals, and redirect well-intentioned contributions that are not aligned with the project’s currently prioritized efforts.&lt;/li&gt;
&lt;li&gt;Efficiently connect contributors with maintainers to provide them the guidance and review needed to make efficient progress, managing workload on both sides of the mentorship pair.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Contributor growth and leadership development&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Design, visualize, and manage a clear contributor journey, including identifying requisite skills and project context knowledge, for each community.&lt;/li&gt;
&lt;li&gt;Identify engaged community members and create pathways for them to take on more responsibility, such as triaging issues, reviewing pull requests, or mentoring others within their project of interest.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Fostering knowledge sharing and collaboration&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Identify and create opportunities for the community of each project to share information, best practices, and technical knowledge, while respecting their distinct roadmaps.&lt;/li&gt;
&lt;li&gt;Facilitate cross-community events, such as running “collaboration cafes” for both JupyterHub and JupyterBook, and strategically shape them into meetings that provide value and foster connection for both projects.&lt;/li&gt;
&lt;li&gt;Develop re-usable templates for explaining contributor pathways, such as onboarding documentation, skills maps/matrices for progression into contribution and maintenance roles, and collaboration cafe guides.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Learn in the open&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensure all materials are publicly available and discoverable, including progress against our community health metrics described below.&lt;/li&gt;
&lt;li&gt;Promote these learnings across the Jupyter community including within the Zulip channel, at regular community calls, and by “visiting” other sub-projects (at synchronous meetings or in asynchronous discussion spaces) to discuss community management efforts as requested.&lt;/li&gt;
&lt;li&gt;Join the &lt;a href="https://jupyter.org/governance/communitybuildingworkinggroup/"&gt;Jupyter Community Building Working Group&lt;/a&gt; and be an active member throughout their paid time on the project.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="preferred-expertise"&gt;Preferred expertise&lt;/h2&gt;
&lt;p&gt;We have not marked any of the expertise categories listed here as &lt;em&gt;required&lt;/em&gt;. We recognize that we are looking for a unicorn, and they are curiously hard to find! &lt;strong&gt;If you do not have expertise across all of these categories we encourage you to apply.&lt;/strong&gt; We are looking forward to getting to know candidates better, including where they have identified opportunities for career and skill development as part of the JupyterHub and Jupyter Book teams.&lt;/p&gt;
&lt;p&gt;Our assessment pathway is included as part of this list to guide applicants in curating their strongest application. If you are uncertain how to answer any of the questions and/or prompts, please ask in our &lt;a href="https://jupyter.zulipchat.com/#narrow/channel/469744-jupyterhub"&gt;Jupyter Hub Zulip channel&lt;/a&gt; or email Kirstie Whitaker directly at &lt;a href="mailto:kirstie.whitaker@berkeley.edu"&gt;kirstie.whitaker@berkeley.edu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Track record of contributions to open source projects.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment: Cover letter &amp;amp; links&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Understanding of multi-stakeholder, community governed open source community dynamics.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment: Interview question. Describe two situations — one featuring a success and one a failure — where you have sought to align diverse stakeholders around a common goal. For both, share what you learned from the experiences.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Understanding of the challenges that Jupyter Hub and Jupyter Book are designed to solve (or reduce) in the world.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment: Interview question. Describe two deployments — one each of Jupyter Hub and Jupyter Book — that each meet a need in either education, research or technical development. You do not need to have run these deployments yourself.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Technical skills in Python and/or TypeScript.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment: Cover letter &amp;amp; links&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Track record of identifying and completing tasks in the presence of significant uncertainty.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment: Cover letter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Ability to work effectively with two distinct and diverse teams whose community members are geographically distributed with significant time zone differences.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment: Cover letter. All instructions from this recruitment call followed, the letter is clearly and concisely written, includes concrete examples, and publicly accessible links where appropriate.&lt;/li&gt;
&lt;li&gt;Assessment: Interview question. Given your knowledge of Jupyter Hub and Jupyter Book, and your previous experience, how will you know if you are working effectively within these two communities?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Ability to ask for help and self manage time allocations and tasks.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment: Interview question. Which aspects of this role do you think will be hard for you? Which aspects will be easy (or easier) for you? Where do you expect to ask for help and/or support in the role?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="how-to-apply"&gt;How to apply&lt;/h2&gt;
&lt;p&gt;Submit a cover letter and resume through this Google Form: &lt;a href="https://forms.gle/Qw6ddyJ8rzZY5vQm6"&gt;https://forms.gle/Qw6ddyJ8rzZY5vQm6&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please include:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Your motivation to apply for this role.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Links to up to 3 publicly available GitHub repositories that highlight engagement in issues, pull requests, community discussions (or equivalent conversations on alternative git forge platforms).&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you don’t have publicly available links, provide a letter from a team member from a private initiative who can endorse these collaboration skills.&lt;/li&gt;
&lt;li&gt;If you can not meet this requirement, please note that in your application.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Links to up to 3 examples of code you have written in Python and/or TypeScript.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you don’t have publicly available links, provide a letter from a team member on a private initiative endorsing these development skills.&lt;/li&gt;
&lt;li&gt;If you can not meet this requirement, please note that in your application.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;A description of a previous role (paid or volunteer) where you have identified and delivered outcomes in the presence of uncertainty.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Include links to task documentation (issue / PR / report) if publicly available.&lt;/li&gt;
&lt;li&gt;If you can not meet this requirement, please note that in your application.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-to-expect"&gt;&lt;strong&gt;What to expect&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;We’ll accept applications from now through 29 March, 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Once applications are in, here’s our process:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Resume and cover letter review:&lt;/strong&gt; The recruitment panel will review all applications and invite up to 5 applicants for an interview on zoom at a time that is convenient for the applicant and the panel members.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interview:&lt;/strong&gt; The recruitment panel will meet with applicants for 30 minutes over Zoom. They will ask the same questions of every applicant.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Panel discussion &amp;amp; alignment:&lt;/strong&gt; The recruitment panel will discuss interview outcomes and align on a decision.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Offer:&lt;/strong&gt; We expect to communicate a final decision to all applicants by 30 April, 2026.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Timeline&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;29 March 2026, &lt;a href="https://en.wikipedia.org/wiki/Anywhere_on_Earth"&gt;AoE&lt;/a&gt;: Deadline for resume and cover letter applications.&lt;/li&gt;
&lt;li&gt;Before 5 April 2026: Invite up to 5 applicants to interview.&lt;/li&gt;
&lt;li&gt;8 April — 17 April 2026: Interviews conducted over Zoom.&lt;/li&gt;
&lt;li&gt;Before 11 May 2026: Communicate final decision to all applicants.&lt;/li&gt;
&lt;li&gt;May 2026: Post holder coordinates a contract with the Linux Foundation, following their standard onboarding process.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;This job description was co-created by April Johnson, Yuvi, and Kirstie Whitaker, with guidance from Chris Holdgraf, Min Ragan-Kelley, Raniere Silva, and Stéfan van der Walt, along with community input at the JupyterHub and Jupyter Book collaboration cafes.&lt;/p&gt;
</content><category term="community"/><category term="Jupyter Book"/><category term="JupyterHub"/></entry><entry><title>Jupyter Community Call: February 2026</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyter-community-call-february-2026/" rel="alternate"/><published>2026-02-16T13:26:00+00:00</published><updated>2026-02-16T13:26:00+00:00</updated><author><name>Rosio Reyes</name></author><id>tag:jasongrout.github.io,2026-02-16:/medium-archive/pelican/posts/2026/jupyter-community-call-february-2026/</id><summary type="html">&lt;p&gt;Hey Jovyans, we’d love for you to join us on our final community call of the year! We want to learn all about the great things you’re doing…&lt;/p&gt;
</summary><content type="html">&lt;figure&gt;
&lt;img alt="February 2026 Jupyter Community Call" src="https://jasongrout.github.io/medium-archive/pelican/posts/2026/jupyter-community-call-february-2026/images/001-1_R6exYjMGAakITpsy0WDcAQ.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;February 2026 Jupyter Community Call&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hey Jovyans, we’d love for you to join us on our final community call of the year! We want to learn all about the great things you’re doing with Jupyter. The Community Building working group is holding an open call with the community, for people to discuss and share their work. Think of it as a “virtual JupyterCon”: It’s a place to announce and share new things happening in the Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;We encourage brief (5 minutes or less) presentations with a demo or screen share, as needed. If you have a GitHub repo or demo web site, please remember to share it.&lt;/p&gt;
&lt;p&gt;Anyone can attend, for free! Anyone can present; add yourself to the &lt;a href="https://hackmd.io/zpDSjkqfQYGjxCK3tJLr1w"&gt;HackMD agenda&lt;/a&gt;. Anyone can sit in on the call. Presenters will lead a demo and may leave time to answer questions. Topics should be targeted to broad and global audience. Keep things simple and remember not every listener will be a software engineer.&lt;/p&gt;
&lt;h3 id="event-details"&gt;Event details:&lt;/h3&gt;
&lt;p&gt;February 25, 2026, at 9:00 AM PDT (15:00 UTC; &lt;a href="https://arewemeetingyet.com/Los%20Angeles/2026-02-25/09:00/Jupyter%20Community%20Call"&gt;your timezone&lt;/a&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agenda (add yourself!) on &lt;a href="https://hackmd.io/zpDSjkqfQYGjxCK3tJLr1w"&gt;HackMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting channel: &lt;a href="https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1"&gt;https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting ID: 95228013874 / Meeting Passcode: 659973&lt;/li&gt;
&lt;li&gt;Or connect via phone:&lt;br&gt;
US: +1 253 215 8782 or +1 346 248 7799 or +1 669 900 6833 or +1 301 715 8592&lt;br&gt;
or +1 312 626 6799 or +1 646 374 8656 or 877 369 0926 (Toll Free) or 855 880 1246 (Toll Free)&lt;br&gt;
International numbers: &lt;a href="https://zoom.us/u/alwnPIaVT"&gt;https://zoom.us/u/alwnPIaVT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch previous calls in our &lt;a href="https://www.youtube.com/playlist?list=PLUrHeD2K9Cmkoamm4NjLmvXC4Y6E1o8SP"&gt;YouTube playlist&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Scaling “Maintainer Intuition” with Pull Request Triage Boards</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/scaling-maintainer-intuition-with-pull-request-triage/" rel="alternate"/><published>2025-11-16T21:22:00+00:00</published><updated>2025-11-16T21:22:00+00:00</updated><author><name>yuvipanda</name></author><id>tag:jasongrout.github.io,2025-11-16:/medium-archive/pelican/posts/2025/scaling-maintainer-intuition-with-pull-request-triage/</id><summary type="html">&lt;p&gt;When I helped start 2i2c.org, one of my goals for the non-profit was to experiment with new and different ways of supporting the Jupyter…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;When I helped start &lt;a href="https://2i2c.org"&gt;2i2c.org&lt;/a&gt;, one of my goals for the non-profit was to experiment with new and different ways of supporting the Jupyter ecosystem’s long term health. As part of that, we have identified how &lt;a href="https://2i2c.org/blog/2025/good-citizen/"&gt;foundational contributions are very important (and distinct from directed contributions)&lt;/a&gt;, and have been experimenting with &lt;a href="https://2i2c.org/blog/2025/foundational-contributions/"&gt;new ways to make foundational contributions&lt;/a&gt; in sustainable and structured ways.&lt;/p&gt;
&lt;p&gt;One such way was via systematically doing code reviews for Pull Requests from non-maintainers in the JupyterHub ecosystem. Reviewing PRs is a critical way that maintainers keep an open source project moving forward, but identifying PRs that can productively be merged is hard. This is a post describing our system for scaling this in our team. Each 2 week sprint, we:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Looked at all open PRs in the JupyterHub org who were not maintainers&lt;/li&gt;
&lt;li&gt;Picked a PR that I deemed was reviewable and ideally mergeable within this time window&lt;/li&gt;
&lt;li&gt;Have an engineer on the team pick up that PR, and try to get it to close&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/2i2c-org/infrastructure/issues/5058"&gt;Report back&lt;/a&gt; on what we have learnt, so we can iterate on our process&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We managed to do this for a majority of sprints over the last roughly 12 months! One key bottleneck we identified in the process was Step 2. In particular, I was relying on my &lt;em&gt;maintainer intuition&lt;/em&gt; to pick a single PR that I &lt;em&gt;believe&lt;/em&gt; can be merged, so others in the team can do review work. I started exploring &lt;em&gt;what&lt;/em&gt; this intuition is, and if it can be scaled.&lt;/p&gt;
&lt;h2 id="what-is-this-maintainer-intuition"&gt;What is this maintainer intuition?&lt;/h2&gt;
&lt;p&gt;How did I pick a PR from a long list of open PRs? Observing my own behavior a few times, I noticed I was looking for:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PRs that aren’t too &lt;em&gt;big&lt;/em&gt;, and are &lt;strong&gt;a reasonable size&lt;/strong&gt; that can be merged within a 2 week window&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI tests passing&lt;/strong&gt;, so at least our automated checks haven’t caught any issues with it&lt;/li&gt;
&lt;li&gt;Features or bug fixes that I believe &lt;strong&gt;add value to the project&lt;/strong&gt; and move us in the right direction towards being able to support our users as they need (this is the hardest!)&lt;/li&gt;
&lt;li&gt;If the author of the PR is a &lt;strong&gt;newish contributor&lt;/strong&gt;, as I want to encourage them to stick around by being responsive to their gift. All PRs are gifts that we may or may not choose to accept, but should do so with grace.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How long ago the PR was opened&lt;/strong&gt;. There is such a big difference between a response to your PR 2 days after you make it vs 2 months vs 2 years. I prioritized newer PRs.&lt;/li&gt;
&lt;li&gt;What &lt;strong&gt;kind of contribution&lt;/strong&gt; is it primarily? Different engineers on our team have different skillsets (JS, Python, etc) and I wanted to match the PR to what the engineer preferred code reviewing.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;While (3) is hard to scale, everything else seemed like something we could build systems for that let others follow a process, thus removing myself as a bottleneck. I experimented with some GitHub issue filters and project automations, and after finding them lacking, built out a brand new open source project to do this: &lt;a href="https://github.com/jupyter/pr-triage-board-bot"&gt;pr-triage-board-bot&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id="pr-triage-github-boards"&gt;PR Triage GitHub Boards&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/jupyter/pr-triage-board-bot"&gt;pr-triage-board-bot&lt;/a&gt; automatically maintains PR Triage Boards for a Github organization. You can check out the current boards to get a sense of how it looks: &lt;a href="https://github.com/orgs/jupyterhub/projects/4"&gt;JupyterHub&lt;/a&gt;, &lt;a href="https://github.com/orgs/jupyterlab/projects/11"&gt;JupyterLab&lt;/a&gt;, and &lt;a href="https://github.com/orgs/geojupyter/projects/3"&gt;GeoJupyter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For each PR Triage Board, the bot will:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Add all open, ready for review PRs&lt;/li&gt;
&lt;li&gt;Remove all closed or draft PRs&lt;/li&gt;
&lt;li&gt;Annotate each PR with additional deterministic project fields that allow for sorting and filtering in the project board. To start with, it populates the following fields:
&lt;ol&gt;
&lt;li&gt;Author kind (Maintainer, Seasoned Contributor, First Time Contributor, Bot)&lt;/li&gt;
&lt;li&gt;Size (Number of lines touched)&lt;/li&gt;
&lt;li&gt;Date it was opened&lt;/li&gt;
&lt;li&gt;If a maintainer has already interacted with the PR (One, Many, None)&lt;/li&gt;
&lt;li&gt;Are there merge conflicts?&lt;/li&gt;
&lt;li&gt;What kind of files were mostly changed? (Python, JS, Docs)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Keep this up to date by automatically running every hour via GitHub actions&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once these project fields are populated automatically, maintainers can create different Project Views for themselves to help with different workflows via filters and sorting. For example, &lt;a href="https://github.com/orgs/jupyterhub/projects/4"&gt;the JupyterHub board&lt;/a&gt; contains the following views:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PRs split by author kind, sorted by newness and size so we can try to respond to PRs from new users as early as possible&lt;/li&gt;
&lt;li&gt;PRs that have not had a single maintainer interaction on them, so we can acknowledge people’s contributions to us even if we can’t fully review it at the moment&lt;/li&gt;
&lt;li&gt;Bot PRs with all tests passing and no merge conflicts, so we can more easily stay on top of automated updates&lt;/li&gt;
&lt;li&gt;PRs that have been approved by a maintainer but not merged yet, as sometimes a maintainer wants to give others time to object but needs to go back and hit merge.&lt;/li&gt;
&lt;li&gt;PRs that are primarily updating documentation, as the review process for this can be different&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For our original purpose of getting more people to do code review, this board has served well — we can roughly say ‘Pick a PR that looks good to you from the top of the “First Time Contributor” or “Seasoned Contributor” list’, and that relieves me from being the bottleneck quite a bit. Other maintainers are also finding a lot of value in this board. For example, if you only have 15 min, you can probably get a clean bot PR reviewed and merged. Or look for PRs that haven’t been acknowledged by a maintainer and engage with them. Our next step is to help run structured social experiments, where we try to establish specific ceremonies in the open source ecosystem to get specific lists of open PRs (such as “PRs with no maintainer engagement, or PRs older than 2y”) down to zero. Stay tuned to hear more :)&lt;/p&gt;
&lt;p&gt;We are essentially using GitHub Project Fields as a database, adding additional fields that are very valuable to maintainers but not available in GitHub by default. While ideally these would be contributed by us directly into GitHub, only Microsoft has control over what gets added to the product. So we find interesting workarounds like this to accomplish our goals :)&lt;/p&gt;
&lt;h2 id="successful-adoption"&gt;Successful Adoption&lt;/h2&gt;
&lt;p&gt;I was just playing with this, and Raniere from the JupyterHub team spotted it and &lt;a href="https://jupyter.zulipchat.com/#narrow/channel/469744-jupyterhub/topic/.22PR.20triage.20.28experimental.29.22.20project.20on.20GitHub/with/536668935"&gt;asked about it&lt;/a&gt; on Zulip. &lt;a href="https://jasongrout.org/"&gt;Jason Grout&lt;/a&gt; from the JupyterLab team was also super interested, and with contributions from him, the bot quickly got adopted by the JupyterLab GitHub org as well. We cleaned this up a bit more, and found adoption within the GeoJupyter project too with help from &lt;a href="https://mfisher87.github.io/"&gt;Matt Fisher&lt;/a&gt;. As with everything we do at 2i2c, I had tried to design this to be widely useful to many orgs and maintainers rather than just us, and looks like I have wildly succeeded :)&lt;/p&gt;
&lt;p&gt;I am happy to announce today that 2i2c is officially donating pr-triage-board-bot to Project Jupyter! I will still continue to contribute to maintaining the project, and welcome contributions from everyone else too!&lt;/p&gt;
&lt;p&gt;If this looks useful to your open source project, consider adopting it by &lt;a href="https://github.com/jupyter/pr-triage-board-bot?tab=readme-ov-file#set-up"&gt;following these instructions&lt;/a&gt;. The project is still fairly new, so if you run into issues please let us know on the &lt;a href="https://jupyter.zulipchat.com/"&gt;Project Jupyter Zulip chat&lt;/a&gt; or by &lt;a href="https://github.com/jupyter/pr-triage-board-bot/issues"&gt;opening an issue&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/><category term="JupyterHub"/></entry><entry><title>Hey Jovyans, we’d love for you to join us on our final community call of the year!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/jupyter-community-call-december-2025/" rel="alternate"/><published>2025-11-13T16:18:00+00:00</published><updated>2025-11-13T16:18:00+00:00</updated><author><name>Rosio Reyes</name></author><id>tag:jasongrout.github.io,2025-11-13:/medium-archive/pelican/posts/2025/jupyter-community-call-december-2025/</id><summary type="html">&lt;p&gt;We want to learn all about the great things you’re doing with Jupyter. The Community Building working group is …&lt;/p&gt;
</summary><content type="html">&lt;figure&gt;
&lt;img alt="December 2025 Community Call" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/jupyter-community-call-december-2025/images/001-1_5sfekG4Kp-oJAmpmejRqGw.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;December 2025 Community Call&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hey Jovyans, we’d love for you to join us on our final community call of the year! We want to learn all about the great things you’re doing with Jupyter. The Community Building working group is holding an open call with the community, for people to discuss and share their work. Think of it as a “virtual JupyterCon”: It’s a place to announce and share new things happening in the Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;We encourage brief (5 minutes or less) presentations with a demo or screen share, as needed. If you have a GitHub repo or demo web site, please remember to share it.&lt;/p&gt;
&lt;p&gt;Anyone can attend, for free! Anyone can present; add yourself to the &lt;a href="https://hackmd.io/@LO9atHZCQnWJhKUnBv2UWQ/HkM0gOukbx"&gt;HackMD agenda&lt;/a&gt;. Anyone can sit in on the call. Presenters will lead a demo and may leave time to answer questions. Topics should be targeted to broad and global audience. Keep things simple and remember not every listener will be a software engineer.&lt;/p&gt;
&lt;h2 id="event-details"&gt;Event details:&lt;/h2&gt;
&lt;p&gt;December 04, 2025, at 8:00 AM PDT (16:00 UTC; &lt;a href="https://arewemeetingyet.com/Los%20Angeles/2025-12-04/08:00/Jupyter%20Community%20Call"&gt;your timezone&lt;/a&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agenda (add yourself!) on &lt;a href="https://hackmd.io/@LO9atHZCQnWJhKUnBv2UWQ/HkM0gOukbx"&gt;HackMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting channel: &lt;a href="https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1"&gt;https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting ID: 95228013874 / Meeting Passcode: 659973&lt;/li&gt;
&lt;li&gt;Or connect via phone:&lt;br&gt;
US: +1 253 215 8782 or +1 346 248 7799 or +1 669 900 6833 or +1 301 715 8592&lt;br&gt;
or +1 312 626 6799 or +1 646 374 8656 or 877 369 0926 (Toll Free) or 855 880 1246 (Toll Free)&lt;br&gt;
International numbers: &lt;a href="https://zoom.us/u/alwnPIaVT"&gt;https://zoom.us/u/alwnPIaVT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch previous calls in our &lt;a href="https://www.youtube.com/playlist?list=PLUrHeD2K9Cmkoamm4NjLmvXC4Y6E1o8SP"&gt;YouTube playlist&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Jupyter Community Call: September 2025</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/jupyter-community-call-september-2025/" rel="alternate"/><published>2025-07-31T15:11:00+00:00</published><updated>2025-07-31T15:11:00+00:00</updated><author><name>Rosio Reyes</name></author><id>tag:jasongrout.github.io,2025-07-31:/medium-archive/pelican/posts/2025/jupyter-community-call-september-2025/</id><summary type="html">&lt;p&gt;Hey Jovyans, we want to learn about the great things you’re doing with Jupyter! The Community Building working group is holding an open…&lt;/p&gt;
</summary><content type="html">&lt;figure&gt;
&lt;img alt="September 2025 Community Call" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/jupyter-community-call-september-2025/images/001-1_gmOBCJ-kSWiaSxWWpECerQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;September 2025 Community Call&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hey Jovyans, we want to learn about the great things you’re doing with Jupyter! The Community Building working group is holding an open call with the community for people to discuss and share their work. Think of it as a “virtual JupyterCon”: It’s a place to announce and share new things happening in the Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;We encourage brief (5 minutes or less) presentations with a demo or screen share, as needed. If you have a GitHub repo or demo web site, please remember to share it.&lt;/p&gt;
&lt;p&gt;Anyone can attend, for free! Anyone can present; add yourself to the &lt;a href="https://hackmd.io/@LO9atHZCQnWJhKUnBv2UWQ/ByUTaNxveg"&gt;HackMD agenda.&lt;/a&gt; Anyone can sit in on the call. Presenters will lead a demo and may leave time to answer questions. Topics should be targeted to broad and global audience. Keep things simple and remember not every listener will be a software engineer.&lt;/p&gt;
&lt;h2 id="event-details"&gt;Event details:&lt;/h2&gt;
&lt;p&gt;September 04, 2025, at 8:00 AM PDT (15:00 UTC; &lt;a href="https://arewemeetingyet.com/Los%20Angeles/2025-09-04/08:00/Jupyter%20Community%20Call"&gt;your timezone&lt;/a&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agenda (add yourself!) on &lt;a href="https://hackmd.io/@LO9atHZCQnWJhKUnBv2UWQ/ByUTaNxveg"&gt;HackMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting channel: &lt;a href="https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1"&gt;https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting ID: 95228013874 / Meeting Passcode: 659973&lt;/li&gt;
&lt;li&gt;Or connect via phone:&lt;br&gt;
US: +1 253 215 8782 or +1 346 248 7799 or +1 669 900 6833 or +1 301 715 8592&lt;br&gt;
or +1 312 626 6799 or +1 646 374 8656 or 877 369 0926 (Toll Free) or 855 880 1246 (Toll Free)&lt;br&gt;
International numbers: &lt;a href="https://zoom.us/u/alwnPIaVT"&gt;https://zoom.us/u/alwnPIaVT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch previous calls in our &lt;a href="https://www.youtube.com/playlist?list=PLUrHeD2K9Cmkoamm4NjLmvXC4Y6E1o8SP"&gt;YouTube playlist&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Jupyter Community Call: June 2025</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/jupyter-community-call-june-2025/" rel="alternate"/><published>2025-05-22T15:06:00+00:00</published><updated>2025-05-22T15:06:00+00:00</updated><author><name>Rosio Reyes</name></author><id>tag:jasongrout.github.io,2025-05-22:/medium-archive/pelican/posts/2025/jupyter-community-call-june-2025/</id><summary type="html">&lt;p&gt;Hey Jovyans, we want to learn about the great things you’re doing with Jupyter! The Diversity, Equity, and Inclusion (DEI) standing…&lt;/p&gt;
</summary><content type="html">&lt;figure&gt;
&lt;img alt="June 2025 Community Call" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/jupyter-community-call-june-2025/images/001-1_yIEU3e51tbC4uOdX4w9v4Q.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;June 2025 Community Call&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hey Jovyans, we want to learn about the great things you’re doing with Jupyter! The Diversity, Equity, and Inclusion (DEI) standing committee is holding an open call with the community for people to discuss and share their work. Think of it as a “virtual JupyterCon”: It’s a place to announce and share new things happening in the Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;We encourage brief (5 minutes or less) presentations with a demo or screen share, as needed. If you have a GitHub repo or demo web site, please remember to share it.&lt;/p&gt;
&lt;p&gt;Anyone can attend, for free! Anyone can present; add yourself to the &lt;a href="https://hackmd.io/@LO9atHZCQnWJhKUnBv2UWQ/S1BKYK5gxl"&gt;HackMD agenda&lt;/a&gt;. Anyone can sit in on the call. Presenters will lead a demo and may leave time to answer questions. Topics should be targeted to broad and global audience. Keep things simple and remember not every listener will be a software engineer.&lt;/p&gt;
&lt;h2 id="event-details"&gt;Event details:&lt;/h2&gt;
&lt;p&gt;June 11, 2025, at 9:00 AM PST (17:00 UTC; &lt;a href="https://arewemeetingyet.com/Los%20Angeles/2025-06-11/09:00/Jupyter%20Community%20Call"&gt;your timezone&lt;/a&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agenda (add yourself!) on &lt;a href="https://hackmd.io/@LO9atHZCQnWJhKUnBv2UWQ/S1BKYK5gxl"&gt;HackMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting channel: &lt;a href="https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1"&gt;https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting ID: 95228013874 / Meeting Passcode: 659973&lt;/li&gt;
&lt;li&gt;Or connect via phone:&lt;br&gt;
US: +1 253 215 8782 or +1 346 248 7799 or +1 669 900 6833 or +1 301 715 8592&lt;br&gt;
or +1 312 626 6799 or +1 646 374 8656 or 877 369 0926 (Toll Free) or 855 880 1246 (Toll Free)&lt;br&gt;
International numbers: &lt;a href="https://zoom.us/u/alwnPIaVT"&gt;https://zoom.us/u/alwnPIaVT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch previous calls in our &lt;a href="https://www.youtube.com/playlist?list=PLUrHeD2K9Cmkoamm4NjLmvXC4Y6E1o8SP"&gt;YouTube playlist&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Congratulations, Distinguished Contributors!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/" rel="alternate"/><published>2025-05-15T15:15:00+00:00</published><updated>2025-05-15T15:22:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2025-05-15:/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/</id><summary type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2024 cohort of contributors.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are proud to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2024 cohort of contributors.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their substantial contributions to Jupyter itself in both quality and quantity over at least two years. Contributions may include code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, fundraising, branding, marketing, inclusion and diversity, UX design and research, etc.&lt;/p&gt;
&lt;p&gt;Please congratulate the winners of the 2024 cohort of Jupyter Distinguished Contributors!&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Denisa Checiu" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/001-1_NAL0ma8SVR9HGcwBo0RorA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Denisa Checiu&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Rowan Cockett" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/002-1_RrEf4-SrJqlAemyX_adfpg.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Rowan Cockett&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Mahendra Paipuri" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/003-1_tJbjvVBKnd3ulyaTdBtEsQ.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Mahendra Paipuri&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Isabel Paredes" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/004-1_mpNi0Uqt9egOWkiVzgzr8Q.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Isabel Paredes&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of David L. Qiu" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/005-1_dhQc-wwRu30xZJB5PNLIdg.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;David L. Qiu&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Portrait of Rick Wagner" src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/006-1_gwYPh1yExp-OR0e7q3e5pA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Rick Wagner&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/congratulations-distinguished-contributors/images/007-1_nj6HDIgEnZzC9G3bBdnnbg.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
</content><category term="community"/></entry><entry><title>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>Join JupyterHub on Zulip chat!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/join-jupyterhub-on-zulip-chat/" rel="alternate"/><published>2025-02-06T16:05:00+00:00</published><updated>2025-02-06T16:05:00+00:00</updated><author><name>Sarah Gibson</name></author><id>tag:jasongrout.github.io,2025-02-06:/medium-archive/pelican/posts/2025/join-jupyterhub-on-zulip-chat/</id><summary type="html">&lt;p&gt;The JupyterHub team have just moved all their chat to a Zulip channel!&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2025/join-jupyterhub-on-zulip-chat/images/001-1_szQUtcTU4TbmrkGrSNzBpw.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;The JupyterHub team have just moved all their chat to a &lt;a href="https://jupyter.zulipchat.com/#narrow/channel/469744-jupyterhub"&gt;Zulip channel&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://jupyter.zulipchat.com"&gt;Jupyter Zulip instance&lt;/a&gt; is a Jupyter-wide chat space allowing cross-team communication in channels, some of which can be viewed publicly without an account.&lt;/p&gt;
&lt;p&gt;For the JupyterHub team, we have found better engagement from team members and across the wider eco-system by using the Zulip instance. To that end, we recently updated all of our Gitter rooms to “invite-only” so no new members could join, and left a pinned message with a link to the JupyterHub channel on Zulip and an invite to join the conversation there. We have also updated any of our repositories that had Gitter links to point to Zulip as well.&lt;/p&gt;
&lt;p&gt;If you would like to keep in touch with the JupyterHub, we would love to hear from you over on &lt;a href="https://jupyter.zulipchat.com/#narrow/channel/469744-jupyterhub"&gt;Zulip&lt;/a&gt;!&lt;/p&gt;
</content><category term="community"/><category term="JupyterHub"/></entry><entry><title>Jupyter Community Call: February 2025</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2025/jupyter-community-call-february-2025/" rel="alternate"/><published>2025-01-30T22:59:00+00:00</published><updated>2025-01-31T17:37:00+00:00</updated><author><name>Rosio Reyes</name></author><id>tag:jasongrout.github.io,2025-01-30:/medium-archive/pelican/posts/2025/jupyter-community-call-february-2025/</id><summary type="html">&lt;p&gt;Hey Jovyans, we want to see the great things you’re doing with Jupyter! The Diversity, Equity, and Inclusion (DEI) standing committee is…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Hey Jovyans, we want to see the great things you’re doing with Jupyter! The Diversity, Equity, and Inclusion (DEI) standing committee is holding an open call with the community for people to discuss and share their work. Think of it as a “virtual JupyterCon”: It’s a place to announce and share new things happening in the Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;We encourage brief (5 minutes or less) presentations with a demo or screen share, as needed. If you have a GitHub repo or demo web site, please remember to share it.&lt;/p&gt;
&lt;p&gt;Anyone can attend, for free! Anyone can present; add yourself to the agenda above. Anyone can sit in on the call. Presenters will lead a demo and spend a few minutes answering questions. Topics should be targeted at a broad Jupyter audience, not just programmers.&lt;/p&gt;
&lt;h2 id="event-details"&gt;&lt;strong&gt;Event details:&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;February 19, 2025, at 9:00 AM PST (17:00 UTC; &lt;a href="https://arewemeetingyet.com/Los%20Angeles/2025-02-19/9:00/Jupyter%20Community%20Call"&gt;your timezone&lt;/a&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agenda (add yourself) on &lt;a href="https://hackmd.io/@Ruv7/H16BFvb_1g/edit"&gt;HackMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting channel: &lt;a href="https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1"&gt;https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meeting ID: 95228013874 / Meeting Passcode: 659973&lt;/li&gt;
&lt;li&gt;Or connect via phone:&lt;br&gt;
US: +1 253 215 8782 or +1 346 248 7799 or +1 669 900 6833 or +1 301 715 8592&lt;br&gt;
or +1 312 626 6799 or +1 646 374 8656 or 877 369 0926 (Toll Free) or 855 880 1246 (Toll Free)&lt;br&gt;
International numbers: &lt;a href="https://zoom.us/u/alwnPIaVT"&gt;https://zoom.us/u/alwnPIaVT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch previous calls in our &lt;a href="https://www.youtube.com/playlist?list=PLUrHeD2K9Cmkoamm4NjLmvXC4Y6E1o8SP"&gt;YouTube playlist&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></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>November 2024 Jupyter Community Call</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/november-2024-jupyter-community-call/" rel="alternate"/><published>2024-10-21T20:12:00+00:00</published><updated>2024-11-12T19:22:00+00:00</updated><author><name>Jason Weill</name></author><id>tag:jasongrout.github.io,2024-10-21:/medium-archive/pelican/posts/2024/november-2024-jupyter-community-call/</id><summary type="html">&lt;p&gt;Hey, Jupyter community! We want to see the cool things you’re doing with Jupyter, so the Diversity, Equity, and Inclusion (DEI) standing…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Hey, Jupyter community! We want to see the cool things you’re doing with Jupyter, so the Diversity, Equity, and Inclusion (DEI) standing committee is holding an open call with the community for people to share and chat about their work. Think of it as a “virtual JupyterCon”: It’s a place to announce and share fun things happening in the Jupyter community.&lt;/p&gt;
&lt;p&gt;We encourage brief (5 minutes or less) presentations with a demo or screen share, as needed. If you have a GitHub repo or demo web site, please share it!&lt;/p&gt;
&lt;h2 id="event-details"&gt;Event details&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;November 13, 2024, at 9:00 AM PST (17:00 UTC; &lt;a href="https://arewemeetingyet.com/Los%20Angeles/2024-11-13/9:00/Jupyter%20Community%20Call"&gt;your timezone&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Agenda (add yourself) on &lt;a href="https://hackmd.io/Y71c6HqpSliEBb3L_McGfg?both"&gt;HackMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Meet on &lt;a href="https://zoom.us/my/jovyan?pwd=c0JZTHlNdS9Sek9vdzR3aTJ4SzFTQT09"&gt;Zoom&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anyone can attend, for free! Anyone can present; add yourself to the agenda above. Anyone can sit in on the call. Presenters will lead a demo and spend a few minutes answering questions. Topics will be targeted at a broad Jupyter audience, not just programmers.&lt;/p&gt;
&lt;p&gt;Watch previous calls in our &lt;a href="https://www.youtube.com/playlist?list=PLUrHeD2K9Cmkoamm4NjLmvXC4Y6E1o8SP"&gt;YouTube playlist&lt;/a&gt;.&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Announcing the 2023 Jupyter Distinguished Contributor Award Recipients</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/announcing-the-2023-jupyter-distinguished-contributor/" rel="alternate"/><published>2024-09-04T16:46:00+00:00</published><updated>2024-09-04T16:46:00+00:00</updated><author><name>Johan Mabille</name></author><id>tag:jasongrout.github.io,2024-09-04:/medium-archive/pelican/posts/2024/announcing-the-2023-jupyter-distinguished-contributor/</id><summary type="html">&lt;p&gt;We are delighted to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2023 cohort.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are delighted to announce the recipients of the Jupyter Distinguished Contributor (JDC) award for the 2023 cohort.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jupyter.org/governance/distinguished_contributors.html"&gt;Project Jupyter Distinguished Contributors&lt;/a&gt; are recognized for their significant and sustained contributions to Jupyter over a period of at least two years. These contributions encompass a wide range of areas, including code development, code review, infrastructure work, participation in mailing lists and chats, community building and support, education and outreach, fundraising, branding and marketing, efforts in inclusion and diversity, UX design, and research.&lt;/p&gt;
&lt;p&gt;Please join us in congratulating the winners of the 2023 cohort of Jupyter Distinguished Contributors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nicolas Brichet&lt;/li&gt;
&lt;li&gt;Piyush Jain&lt;/li&gt;
&lt;li&gt;Duc Trung Le&lt;/li&gt;
&lt;li&gt;Jason Weill&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Their dedication and hard work have been instrumental in advancing the Jupyter project and community.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/announcing-the-2023-jupyter-distinguished-contributor/images/001-0_psjWHR7z2EmlvZlF.webp" alt="“Portraits of the recipients of the JDC award: Nicolas Brichet, Piyush Jain, Duc Trung Le, Jason Weill”." loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Johan Mabille — on behalf of the Jupyter Distinguished Contributors&lt;/p&gt;
</content><category term="community"/></entry><entry><title>Community Building Report: Project Jupyter</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2024/community-building-report-project-jupyter/" rel="alternate"/><published>2024-08-29T19:21:00+00:00</published><updated>2024-08-29T19:21:00+00:00</updated><author><name>Ana Ruvalcaba</name></author><id>tag:jasongrout.github.io,2024-08-29:/medium-archive/pelican/posts/2024/community-building-report-project-jupyter/</id><summary type="html">&lt;p&gt;The Jupyter Community Building Working Group would like to share a report and community building recommendations from interviews with…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2024/community-building-report-project-jupyter/images/001-1_AuDqkqkQjDlNIr96Vc2o1Q.jpeg" alt="Image with an orange and dark grey curved graphic meant to depict movement including a Jupyter logo. Words: Special report, August 2024 Community Building Working Group (JCB)." loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://jupyter.org/governance/communitybuildingworkinggroup.html"&gt;Jupyter Community Building Working Group&lt;/a&gt; would like to share a report and community building recommendations from interviews with members of Project Jupyter subprojects. We invite you to view the full report by &lt;a href="https://executive-council-team-compass.readthedocs.io/en/latest/Jupyter_Community_Building_Survey_Report_2024.pdf"&gt;clicking here&lt;/a&gt; and we welcome feedback on the &lt;a href="https://discourse.jupyter.org/t/community-building-report-project-jupyter/27791?u=ruv7"&gt;Jupyter Discourse channel&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="community-building-report-executive-summary"&gt;Community Building Report: Executive Summary&lt;/h3&gt;
&lt;p&gt;In late 2023, the Jupyter Community Building Working Group (JCB) launched a series of discussions with subproject representatives to better understand and support their community-building needs: a Jupyter Community Building Survey. The goals of the survey were to understand community-building needs and goals for each subproject, to gather information necessary to advise the Executive Council (EC) on where and what types of resources would be most impactful to meeting these needs and goals, and to identify and share community practices across Project Jupyter.&lt;/p&gt;
&lt;p&gt;The JCB used a hybrid approach including a written survey followed by a 30 minute in-depth interview. The report includes our methodology and findings broken out by cross subproject topics and by subproject interviews. A copy of the interview questionnaire is included as Appendix A. This report will be publicly shared and sent to the EC to inspire or serve as a catalyst for strategic activities moving forward. If you have ideas or feedback, we invite you to reach out to us on &lt;a href="https://discourse.jupyter.org/c/meta/community-building/49"&gt;Discourse&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is a brief summary of our recommendations (in no particular order).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Create a sustainable events program for subprojects&lt;/strong&gt;&lt;br&gt;
Project Jupyter should establish stable sources of funding, allocation procedures, and logistical support specifically for subprojects to conduct synchronous, in-person, collaborative meetings on an annual basis. The Project should also provide a way for associated events funded externally to label themselves as “affiliated” or “endorsed” by Project Jupyter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Establish a mechanism for requesting resources&lt;/strong&gt;&lt;br&gt;
Project Jupyter should establish a procedure for accepting, reviewing, and funding proposals from subprojects. This could include support for external consulting services, infrastructure, or other items that have the potential to benefit the subproject itself and by extension the wider Jupyter ecosystem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Increase Cross Project Coordination&lt;/strong&gt;&lt;br&gt;
Project Jupyter should create a regular program of Jupyter-wide meetings (virtual and in-person). These meetings should include opportunities to share news between subprojects, discuss best practices and lessons, and also provide opportunities for the wider user community to share information with contributors.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Improve onboarding processes for contributors&lt;/strong&gt;&lt;br&gt;
Project Jupyter should establish a dedicated effort to improve onboarding processes for contributors. This could be a working group, strategic initiative, or paid staff and should focus on creating a more streamlined, consistent, and inclusive onboarding experience for all contributors. An approach that includes code and non-code contributors is important to success.&lt;/p&gt;
&lt;p&gt;For more context on these four recommendations and some idea of what next steps are for implementing them, please visit section 4 of the &lt;a href="https://executive-council-team-compass.readthedocs.io/en/latest/Jupyter_Community_Building_Survey_Report_2024.pdf"&gt;full report&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="acknowledgements"&gt;Acknowledgements&lt;/h3&gt;
&lt;p&gt;The members of the &lt;a href="https://jupyter.org/governance/communitybuildingworkinggroup.html"&gt;Jupyter Community Building Working Group&lt;/a&gt; — Rollin Thomas (Berkeley Lab NERSC), Martha Cryan (Plotly), Ana Ruvalcaba (Cal Poly, San Luis Obispo), and Jason Grout (Databricks) — would like to thank all involved in this survey. We extend our gratitude to the subproject participants who found time in their busy schedules to respond to our survey questions and meet with us for interviews! We enjoyed learning more about the different subprojects and connecting with their contributors. This report represents a significant investment of time and we hope that its contents will help drive new strategic initiatives at Project Jupyter.&lt;/p&gt;
</content><category term="community"/></entry></feed>