<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jupyter | 2i2c</title><link>https://deploy-preview-604--2i2c-org.netlify.app/tag/jupyter/</link><atom:link href="https://deploy-preview-604--2i2c-org.netlify.app/tag/jupyter/index.xml" rel="self" type="application/rss+xml"/><description>Jupyter</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 23 Apr 2026 00:00:00 +0000</lastBuildDate><image><url>https://deploy-preview-604--2i2c-org.netlify.app/media/sharing.png</url><title>Jupyter</title><link>https://deploy-preview-604--2i2c-org.netlify.app/tag/jupyter/</link></image><item><title>Report from the Jupyter and AI community meetup</title><link>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupyter-ai-seattle-meetup/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupyter-ai-seattle-meetup/</guid><description>&lt;p>A small group of
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyter/" >Jupyter&lt;/a> community members recently met in Seattle to demo Jupyter workflows augmented with AI tools and discuss what&amp;rsquo;s next. This is a quick report-out about what stood out.&lt;/p>
&lt;p>The conversations focused on what agentic workflows could unlock for researchers and students - with broad acknowledgement that deployment, security, authorization, and ethics still have a lot to be worked out.&lt;/p>
&lt;p>Here are a few highlights from the demos.&lt;/p>
&lt;h2 id="jupyter-ai-and-the-agent-client-protocol">
Jupyter AI and the Agent Client Protocol
&lt;a class="header-anchor" href="#jupyter-ai-and-the-agent-client-protocol">#&lt;/a>
&lt;/h2>&lt;p>
&lt;a href="https://github.com/jupyterlab/jupyter-ai" target="_blank" rel="noopener" >Jupyter AI&lt;/a> v3 is adding support for the
&lt;a href="https://agentclientprotocol.com/" target="_blank" rel="noopener" >Agent Client Protocol (ACP)&lt;/a>, enabling multi-agent collaboration within JupyterLab. We saw how a single request could be split across multiple specialized agents based on each one&amp;rsquo;s skills, similar to
&lt;a href="https://www.youtube.com/watch?v=hyzPC6moEJ0" target="_blank" rel="noopener" >this demo from JupyterCon 2025&lt;/a>.&lt;/p>
&lt;p>Some things still to figure out:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>No tool isolation yet&lt;/strong> - agents aren&amp;rsquo;t scoped by user role or security group.&lt;/li>
&lt;li>&lt;strong>Manual configuration required&lt;/strong> - agents running locally need to be registered by hand.&lt;/li>
&lt;li>A future goal is for JupyterLab to auto-detect locally installed agents, or for LLM providers to contribute integrations directly.&lt;/li>
&lt;/ul>
&lt;p>The Jupyter AI team also shared a new &amp;ldquo;Personas&amp;rdquo; abstraction that lets you define a skill-specific agent in just a few lines of Python. Personas open the door to domain-specific agents or agents with crafted &amp;ldquo;personalities&amp;rdquo;. They are written in a few lines of Python, though we discussed the possibility of using markdown instead. This seems to be evolving rapidly!&lt;/p>
&lt;p>
&lt;a href="https://github.com/jupyterlab/jupyter-ai/releases/tag/v3.0.0" target="_blank" rel="noopener" >Jupyter AI v3.0.0 has since been released&lt;/a>.&lt;/p>
&lt;h2 id="notebook-cli">
Notebook CLI
&lt;a class="header-anchor" href="#notebook-cli">#&lt;/a>
&lt;/h2>&lt;p>
&lt;a href="https://github.com/jupyter-ai-contrib/nb-cli" target="_blank" rel="noopener" >&lt;code>nb-cli&lt;/code>&lt;/a> is a Rust-based tool for interacting with notebooks from the command line - changing cells, running them, checking errors, and rendering the notebook in the console. It can also connect to remote JupyterLab instances, making it useful for headless workflows like CI pipelines or batch grading.&lt;/p>
&lt;h2 id="sidebar-comments-and-real-time-collaboration">
Sidebar comments and Real-time collaboration
&lt;a class="header-anchor" href="#sidebar-comments-and-real-time-collaboration">#&lt;/a>
&lt;/h2>&lt;p>A demo showed Google Docs-style side-panel comments for &lt;code>.ipynb&lt;/code> files. Previous collaboration efforts used
&lt;a href="https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type" target="_blank" rel="noopener" >Conflict-free Replicated Data Types (CRDTs)&lt;/a> for multi-cursor editing, but the team felt that approach may not have hit the mark. Side-panel comments felt more natural, though how this extends to &lt;code>.py&lt;/code> files is still an open question.&lt;/p>
&lt;h2 id="opportunities-for-2i2c">
Opportunities for 2i2c
&lt;a class="header-anchor" href="#opportunities-for-2i2c">#&lt;/a>
&lt;/h2>&lt;p>The meeting helped us understand the role we &lt;em>could&lt;/em> play in this space.
We think there&amp;rsquo;s opportunity to help facilitate the use of agents on shared infrastructure, particularly around the upstream control planes for deployment, administration, and authorization. We can also help facilitate community conversations about the ethics and impact of AI tools on open science.&lt;/p>
&lt;h2 id="acknowledgements">
Acknowledgements
&lt;a class="header-anchor" href="#acknowledgements">#&lt;/a>
&lt;/h2>&lt;ul>
&lt;li>The
&lt;a href="https://jupyterfoundation.org" target="_blank" rel="noopener" >Jupyter Foundation&lt;/a> for supporting the event.&lt;/li>
&lt;li>
&lt;a href="https://www.linkedin.com/in/zach-sailer-8a1472151" target="_blank" rel="noopener" >Zach Sailer&lt;/a> (Apple), for organizing this meetup.&lt;/li>
&lt;li>
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/author/chris-holdgraf/" >Chris Holdgraf&lt;/a> for editing and adapting the original content for this post.&lt;/li>
&lt;/ul></description></item><item><title>Report from the Jupyter Security Working Group security tooling sprint</title><link>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupyter-security-sprint/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupyter-security-sprint/</guid><description>&lt;p>The
&lt;a href="https://github.com/jupyter/security" target="_blank" rel="noopener" >Jupyter Security Working Group&lt;/a> recently held a Security Tooling Sprint.
It was a timely event given the
&lt;a href="https://blog.pypi.org/posts/2026-04-02-incident-report-litellm-telnyx-supply-chain-attack/" target="_blank" rel="noopener" >recent spate&lt;/a> of software supply chain attacks across the tech world.&lt;/p>
&lt;p>The sprint covered two main areas:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Governance and strategy&lt;/strong> — conversations about responsibility and accountability in the face of AI, with emphasis on ensuring humans are ultimately responsible for code committed to
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyter/" >Jupyter&lt;/a> subprojects. The group also discussed how security could benefit from working group members regularly attending subproject meetings like the
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyterhub/" >JupyterHub&lt;/a> Collaboration Cafes.&lt;/li>
&lt;li>&lt;strong>Automation and tools&lt;/strong> — the group evaluated several tools for improving security posture across the Jupyter ecosystem. Here are a few that stood out:
&lt;ul>
&lt;li>
&lt;a href="https://semgrep.dev/" target="_blank" rel="noopener" >Semgrep&lt;/a> as an alternative vulnerability scanner to CodeQL&lt;/li>
&lt;li>
&lt;a href="https://github.com/anchore/grype" target="_blank" rel="noopener" >Grype&lt;/a>,
&lt;a href="https://www.checkov.io/" target="_blank" rel="noopener" >Checkov&lt;/a>, and
&lt;a href="https://kubescape.io/" target="_blank" rel="noopener" >Kubescape&lt;/a> for cloud infrastructure misconfiguration checks&lt;/li>
&lt;li>
&lt;a href="https://github.com/schemathesis/schemathesis" target="_blank" rel="noopener" >Schemathesis&lt;/a> and
&lt;a href="https://github.com/microsoft/restler-fuzzer" target="_blank" rel="noopener" >restler-fuzzer&lt;/a> for API fuzz testing&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>One challenge we discussed was how blindly running security scanning tools generates many false positives. There&amp;rsquo;s real effort needed to tune these tools for each project&amp;rsquo;s edge cases before they&amp;rsquo;re useful in automation. On a related note, we discussed the increase in AI-generated (or AI-assisted) vulnerability and security reports, and the challenges associated with sifting through all of those pieces of information.&lt;/p>
&lt;h2 id="acknowledgements">
Acknowledgements
&lt;a class="header-anchor" href="#acknowledgements">#&lt;/a>
&lt;/h2>&lt;ul>
&lt;li>Thanks to
&lt;a href="https://github.com/jupyter/security" target="_blank" rel="noopener" >the jupyter security working group&lt;/a> for providing leadership and organizing, in particular Joe Lucas!&lt;/li>
&lt;li>Thanks to the
&lt;a href="https://jupyterfoundation.org" target="_blank" rel="noopener" >Jupyter Foundation&lt;/a> for funding community meetings like these.&lt;/li>
&lt;/ul></description></item><item><title>April joins the Jupyter Community Building Working Group</title><link>https://deploy-preview-604--2i2c-org.netlify.app/blog/april-jupyter-community-building/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-604--2i2c-org.netlify.app/blog/april-jupyter-community-building/</guid><description>&lt;p>We&amp;rsquo;re pleased to share that our People Operations Lead,
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/author/april-johnson/" >April Johnson&lt;/a>, has joined the
&lt;a href="https://jupyter.org/governance/communitybuildingworkinggroup.html" target="_blank" rel="noopener" >Jupyter Community Building Working Group&lt;/a>!&lt;/p>
&lt;p>This kind of work reflects how we think about
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/blog/april-jupyter-community-building/../../2025/foundational-contributions/" >foundational contributions&lt;/a> and upstream support: strengthening the social infrastructure that helps open source communities grow and thrive, not just contributing code and running infrastructure. April brings deep experience building teams and communities, and we’re proud to support her upstream efforts in this way.&lt;/p>
&lt;h2 id="acknowledgements">
Acknowledgements
&lt;a class="header-anchor" href="#acknowledgements">#&lt;/a>
&lt;/h2>&lt;ul>
&lt;li>Thanks to the
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyter/" >Jupyter&lt;/a> Community Building Working Group for their leadership in building a stronger Jupyter community, and for welcoming April&lt;/li>
&lt;/ul></description></item><item><title>2i2c at JupyterCon 2025: Helping communities navigate the Interactive Computing ecosystem</title><link>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupytercon-2025-talks/</link><pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupytercon-2025-talks/</guid><description>&lt;p>This year several team members attended
&lt;a href="https://jupytercon.com" target="_blank" rel="noopener" >JupyterCon 2025&lt;/a> to show off our own work and the upstream work that we&amp;rsquo;ve been doing in open source.
JupyterCon recently shared the videos of all talks, so here&amp;rsquo;s a quick run-down of 2i2c&amp;rsquo;s contributions and where you can watch more.&lt;/p>
&lt;h2 id="building-computational-narratives-with-jupyter-book">
Building computational narratives with Jupyter Book
&lt;a class="header-anchor" href="#building-computational-narratives-with-jupyter-book">#&lt;/a>
&lt;/h2>&lt;p>
&lt;a href="https://www.youtube.com/watch?v=3MUSteQFGq8&amp;amp;t=850s" target="_blank" rel="noopener" >Introducing Jupyter Book 2: Next-generation Tools for Creating Computational Narratives&lt;/a> - Chris Holdgraf and Rowan Cockett (
&lt;a href="https://curvenote.com" target="_blank" rel="noopener" >Curvenote&lt;/a>) introduce the next generation of
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyter-book/" >Jupyter Book&lt;/a>, built on modern tooling and designed for creating rich computational narratives.&lt;/p>
&lt;p>
&lt;a href="https://jupytercon2025.sched.com/event/1jNKI" target="_blank" rel="noopener" >Tutorial: Build-a-Jupyter Book With the Turing Way&lt;/a> - Angus Hollands co-led this hands-on tutorial teaching participants how to create their own Jupyter Books using examples from the Turing Way.&lt;/p>
&lt;h2 id="jupyterhubs-evolution-and-sustainable-operations">
JupyterHub&amp;rsquo;s evolution and sustainable operations
&lt;a class="header-anchor" href="#jupyterhubs-evolution-and-sustainable-operations">#&lt;/a>
&lt;/h2>&lt;p>
&lt;a href="https://www.youtube.com/watch?v=-wwia9YzHO" target="_blank" rel="noopener" >Not Just for Notebooks: JupyterHub in 2025&lt;/a> - Yuvi Panda explores how
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyterhub/" >JupyterHub&lt;/a> is evolving beyond just notebooks to support a wider range of interactive computing workflows.&lt;/p>
&lt;p>
&lt;a href="https://www.youtube.com/watch?v=M5x3bTgRzVs" target="_blank" rel="noopener" >Cloudy With a Chance of Savings: Per-User Usage and Cost Monitoring for JupyterHubs in the Cloud&lt;/a> - Jenny Wong presents our recent work improving tools and approaches for monitoring per-user cloud costs in JupyterHub deployments, helping communities operate more sustainably.&lt;/p>
&lt;p>
&lt;a href="https://jupytercon2025.sched.com/event/1jNQC" target="_blank" rel="noopener" >Lightning Talk: Controlling Home Directory Costs (with User Empathy) on the Cloud&lt;/a> - Yuvi Panda shares practical strategies for managing home directory storage costs while keeping user experience in mind, using &lt;code>jupyterhub-home-nfs&lt;/code>.&lt;/p>
&lt;hr>
&lt;p>Finally, there were also several talks that weren&amp;rsquo;t &lt;em>by&lt;/em> 2i2c team members, but were partially &lt;em>enabled&lt;/em> by 2i2c&amp;rsquo;s collaboration. We&amp;rsquo;re particularly proud of these, because it&amp;rsquo;s an example of us bringing others into the ecosystem and empowering them to contribute.&lt;/p>
&lt;h2 id="understanding-the-jupyterhub-community">
Understanding the JupyterHub community
&lt;a class="header-anchor" href="#understanding-the-jupyterhub-community">#&lt;/a>
&lt;/h2>&lt;p>
&lt;a href="https://www.youtube.com/watch?v=NnsD_Ly49Z0" target="_blank" rel="noopener" >Findings from the Voices of JupyterHub report&lt;/a> - This community strategy talk shares insights from conversations with JupyterHub users and operators about their needs and challenges. It&amp;rsquo;s not given by a 2i2c team member, but many of us have been involved in guiding (and being participants in!) this project.&lt;/p>
&lt;h2 id="pythia-sharing-their-myst-journey">
Pythia sharing their MyST journey
&lt;a class="header-anchor" href="#pythia-sharing-their-myst-journey">#&lt;/a>
&lt;/h2>&lt;p>
&lt;a href="https://www.youtube.com/watch?v=SqmMoyqSU8o" target="_blank" rel="noopener" >MyST-ifying Project Pythia&lt;/a> - Julia Kent of NSF NCAR discusses
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/pythia/" >Project Pythia&lt;/a>, an open-source platform dedicated to educating geoscientists on Python for complex Earth data analysis. Learn how Project Pythia manages its expansive repository of &amp;ldquo;cookbooks&amp;rdquo; and educational content, detailing their strategic shift to MyST Markdown and
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyter-book/" >Jupyter Book&lt;/a> 2 to drastically improve project sustainability and reduce maintenance overhead.&lt;/p>
&lt;h2 id="how-cryocloud-built-a-healthy-open-science-community">
How CryoCloud built a healthy open science community
&lt;a class="header-anchor" href="#how-cryocloud-built-a-healthy-open-science-community">#&lt;/a>
&lt;/h2>&lt;p>
&lt;a href="https://www.youtube.com/watch?v=XD72H0Dkhq8" target="_blank" rel="noopener" >Building a successful open science community in the cloud&lt;/a> - Tasha Snow shares key insights from running the
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/cryocloud/" >CryoCloud&lt;/a>
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/jupyterhub/" >JupyterHub&lt;/a>, emphasizing that a successful scientific community relies on both technology and social innovation. She shares data-driven results on how shared JupyterHubs can significantly reduce research computing costs and accelerate scientific iteration. She also explores the critical balance between platform capabilities and the need for &lt;em>social infrastructure&lt;/em> to overcome technical barriers and foster true collaboration.&lt;/p></description></item><item><title>Updates from Chris' position on the Jupyter Executive Council and Foundation Board</title><link>https://deploy-preview-604--2i2c-org.netlify.app/blog/executive-council-updates/</link><pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-604--2i2c-org.netlify.app/blog/executive-council-updates/</guid><description>&lt;p>This is a running blog post for Chris to share out community updates from his time on the
&lt;a href="https://ec.jupyter.org/" target="_blank" rel="noopener" >Jupyter Executive Council&lt;/a>. See
&lt;a href="#context" >context for this page&lt;/a>.&lt;/p>
&lt;h2 id="updates-for-the-jupyter-community-from-chris">
Updates for the Jupyter community from Chris
&lt;a class="header-anchor" href="#updates-for-the-jupyter-community-from-chris">#&lt;/a>
&lt;/h2>&lt;p>Chris aims to write monthly updates for Jupyter&amp;rsquo;s community in the
&lt;a href="https://discourse.jupyter.org/c/governance/executive-council/51" target="_blank" rel="noopener" >Jupyter Community Forum&lt;/a> to share his perspective on what the council is up to. We&amp;rsquo;ll update this index post as new posts are available.&lt;/p>
&lt;ul>
&lt;li>
&lt;a href="https://discourse.jupyter.org/t/chris-update-for-september-october-november-2025-wow-three-months-passed/38204" target="_blank" rel="noopener" >November 2025&lt;/a>&lt;/li>
&lt;li>
&lt;a href="https://discourse.jupyter.org/t/chris-update-for-august-2025-community-proposals-are-live/37879" target="_blank" rel="noopener" >August 2025&lt;/a>&lt;/li>
&lt;li>
&lt;a href="https://discourse.jupyter.org/t/chris-update-for-july-2025-towards-community-led-funding-proposals/37424/2" target="_blank" rel="noopener" >July 2025&lt;/a>&lt;/li>
&lt;li>
&lt;a href="https://discourse.jupyter.org/t/chris-jec-and-board-experience-for-june-2025/36488/1" target="_blank" rel="noopener" >June 2025&lt;/a>&lt;/li>
&lt;li>
&lt;a href="https://discourse.jupyter.org/t/chris-update-for-may-2025-a-few-funding-discussions-from-the-jupyter-foundation-board/35764/3" target="_blank" rel="noopener" >May 2025&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="blog-posts-about-chris-experience-on-the-executive-council">
Blog posts about Chris&amp;rsquo; experience on the executive council
&lt;a class="header-anchor" href="#blog-posts-about-chris-experience-on-the-executive-council">#&lt;/a>
&lt;/h2>&lt;p>Chris blogs now and then to share his thoughts, important announcements, and provide major updates from his perspective on the executive council. Here are the posts that have come out of this effort.&lt;/p>
&lt;ul>
&lt;li>
&lt;a href="https://blog.jupyter.org/your-ideas-our-support-jupyter-community-call-for-funding-proposals-f4642590ae76?source=collection_home_page----95916e268740-----0-----------------------------------" target="_blank" rel="noopener" >Your Ideas, Our Support: Jupyter Community Call For Funding Proposals&lt;/a>&lt;/li>
&lt;li>
&lt;a href="https://chrisholdgraf.com/blog/fund-systems-not-developmend" target="_blank" rel="noopener" >Why open source foundations try to fund systems, not development&lt;/a> - May 31, 2025&lt;/li>
&lt;li>
&lt;a href="https://chrisholdgraf.com/blog/more-contributors" target="_blank" rel="noopener" >Jupyter can align the needs of its community and its foundation by enabling contribution&lt;/a> - Mar 22, 2025&lt;/li>
&lt;li>
&lt;a href="https://chrisholdgraf.com/blog/jupyter-org-structure" target="_blank" rel="noopener" >The relationship between the Jupyter Executive Council, Software Steering Council, and Foundation&lt;/a> - Mar 02, 2025&lt;/li>
&lt;li>
&lt;a href="https://chrisholdgraf.com/blog/os-support" target="_blank" rel="noopener" >Ways the Jupyter Foundation could support open source projects&lt;/a> - Feb 26, 2025&lt;/li>
&lt;li>
&lt;a href="https://chrisholdgraf.com/blog/jec" target="_blank" rel="noopener" >Running for the Jupyter Executive Council&lt;/a> - Jan 14, 2025&lt;/li>
&lt;/ul>
&lt;h2 id="2i2cs-commitment-to-supporting-open-source-communities">
2i2c&amp;rsquo;s commitment to supporting open source communities
&lt;a class="header-anchor" href="#2i2cs-commitment-to-supporting-open-source-communities">#&lt;/a>
&lt;/h2>&lt;p>In early 2025, Chris was
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/blog/jupyter-executive-council/" >elected to the Jupyter Executive Council&lt;/a>.
We&amp;rsquo;re tracking these efforts because providing leadership and community support to open source projects is a
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/blog/good-citizen/" >key Foundational contribution&lt;/a> we wish to make for open source projects. 2i2c makes time for team members to contribute upstream in strategic ways like this as part of our
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/open-practices/" >commitment to open practices&lt;/a>. However, this kind of work is very difficult to track! This blog post is an attempt at putting these efforts into one place for us to track and for others to discover.&lt;/p>
&lt;h2 id="acknowledgements">
Acknowledgements
&lt;a class="header-anchor" href="#acknowledgements">#&lt;/a>
&lt;/h2>&lt;ul>
&lt;li>
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/members/" >2i2c&amp;rsquo;s member communities&lt;/a> support
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/blog/good-citizen/" >Foundation open source contributions&lt;/a> like this with their membership fees.&lt;/li>
&lt;li>
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/navigation/" >The Navigation Fund&lt;/a> provides strategic funding support for 2i2c which covers major open source leadership contributions like this.&lt;/li>
&lt;/ul></description></item><item><title>2i2c's submissions to JupyterCon 2025</title><link>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupytercon-2025-submissions/</link><pubDate>Sat, 19 Jul 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupytercon-2025-submissions/</guid><description>&lt;p>&lt;em>&lt;strong>Update&lt;/strong>: The talks are now live! See this
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/blog/jupytercon-2025-talks/" >blog post with links to our videos&lt;/a>.&lt;/em>&lt;/p>
&lt;p>We were excited to hear that
&lt;a href="https://jupytercon.com" target="_blank" rel="noopener" >JupyterCon is happening again in 2025&lt;/a>. The Call for Proposals just wrapped up, and our team was involved in preparing and submitting several directly from 2i2c as well as from the ecosystem in general.&lt;/p>
&lt;p>Enjoy brief summaries of the proposals we contributed to below.
&lt;a href="https://forms.fillout.com/t/uQHVMkgvsuus" target="_blank" rel="noopener" >Let us know&lt;/a> if you have ideas for future talks you want to hear from us?&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Note&lt;/strong>: Many of these submissions were written in collaboration with others in the open-source projects we participate in. Particularly, in
&lt;a href="https://compass.hub.jupyter.org" target="_blank" rel="noopener" >JupyterHub&lt;/a> and
&lt;a href="https://compass.jupyterbook.org" target="_blank" rel="noopener" >JupyterBook&lt;/a>.&lt;/p>
&lt;/blockquote>
&lt;h2 id="jupyterhub-a-multi-user-server-for-jupyter-notebooks">
JupyterHub: A multi-user server for Jupyter notebooks
&lt;a class="header-anchor" href="#jupyterhub-a-multi-user-server-for-jupyter-notebooks">#&lt;/a>
&lt;/h2>&lt;p>This is how JupyterHub was described when it was announced in 2015, 10 years ago. The focus was on bringing Jupyter Notebooks to multiple users on shared infrastructure. The Jupyter Notebooks focus was so strong that Jupyter was even in the name of the project! Fast forward 10 years, &amp;amp; this is still the most common perception of JupyterHub.&lt;/p>
&lt;p>However, this has not been true for a &lt;em>long&lt;/em> time now. Instead of setting up 5 different kinds of infrastructure to support your users based on what kind of &lt;em>interface&lt;/em> they like to use (
&lt;a href="https://jupyterlab.readthedocs.io/" target="_blank" rel="noopener" >JupyterLab&lt;/a>,
&lt;a href="https://posit.co/products/open-source/rstudio/" target="_blank" rel="noopener" >RStudio&lt;/a>, Linux Desktop tools like
&lt;a href="https://qgis.org/" target="_blank" rel="noopener" >QGIS&lt;/a> or
&lt;a href="https://napari.org/" target="_blank" rel="noopener" >Napari&lt;/a>,
&lt;a href="https://code.visualstudio.com/" target="_blank" rel="noopener" >Visual Studio Code&lt;/a>, full &lt;code>ssh&lt;/code> (!?), etc) for their interactive computing, you can set up a JupyterHub that supports all of those! Meet your users where they are, rather than force them to conform to using only a specific set of tools.&lt;/p>
&lt;p>Come to this talk to:&lt;/p>
&lt;ul>
&lt;li>See cool demos of various popular applications running on JupyterHub seamlessly&lt;/li>
&lt;li>Understand the security model of JupyterHub &amp;amp; how that enables these cool demos&lt;/li>
&lt;li>Learn how you can set up your own application to run in JupyterHub&lt;/li>
&lt;li>Influence the future of how JupyterHub is marketed&lt;/li>
&lt;/ul>
&lt;h2 id="cloudy-with-a-chance-of-savings-per-user-usage-and-cost-monitoring-for-jupyterhubs-in-the-cloud">
Cloudy with a Chance of Savings: Per-User Usage and Cost Monitoring for JupyterHubs in the Cloud
&lt;a class="header-anchor" href="#cloudy-with-a-chance-of-savings-per-user-usage-and-cost-monitoring-for-jupyterhubs-in-the-cloud">#&lt;/a>
&lt;/h2>&lt;p>Cloud cost monitoring is moving beyond just preventing runaway cost explosions – it&amp;rsquo;s about empowering JupyterHub administrators with the guardrails they need to run efficient, transparent, and sustainable infrastructures. A cloud cost bill can show a broad view of services and machines provisioned, but how can we provide granular insights into each user and the value they are deriving from the hub on an application level?&lt;/p>
&lt;p>We&amp;rsquo;ve developed several open-source components towards answering this question:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Metric Collection&lt;/strong> –
&lt;a href="https://prometheus.io/" target="_blank" rel="noopener" >Prometheus&lt;/a> collects resource usage metrics (including CPU, memory, and storage) from individual user pods via standard and custom exporters.&lt;/li>
&lt;li>&lt;strong>Cost Estimation&lt;/strong> – Usage is correlated with AWS cost data to estimate per-user costs.&lt;/li>
&lt;li>&lt;strong>Visualization&lt;/strong> –
&lt;a href="https://grafana.com/" target="_blank" rel="noopener" >Grafana&lt;/a> dashboards display rich, interactive views of usage and cost data, making it easy to monitor trends, identify high-cost workloads, and generate reports for funders and decision-makers.&lt;/li>
&lt;/ul>
&lt;p>This approach delivers cloud observability and cost transparency that can be reliably deployed using
&lt;a href="https://kubernetes.io/" target="_blank" rel="noopener" >Kubernetes&lt;/a> and integrated with
&lt;a href="https://z2jh.jupyter.org/" target="_blank" rel="noopener" >Zero to JupyterHub&lt;/a> distributions.&lt;/p>
&lt;h2 id="controlling-home-directory-costs-with-user-empathy-on-the-cloud-with-jupyterhub-home-nfs">
Controlling home directory costs (with user empathy) on the cloud with jupyterhub-home-nfs
&lt;a class="header-anchor" href="#controlling-home-directory-costs-with-user-empathy-on-the-cloud-with-jupyterhub-home-nfs">#&lt;/a>
&lt;/h2>&lt;p>User home directories on JupyterHubs deployed in cloud providers has been a pain point for both end users and administrators. Administrators feel the pain of cloud costs for home directory storage (sometimes higher than compute!). No user wants to receive an email saying &amp;ldquo;well, this code you copy pasted downloaded 3TB of netcdf files into your home directory, and now we have used up our entire team&amp;rsquo;s cloud budget for the next 2 years&amp;rdquo; (true story).&lt;/p>
&lt;p>The
&lt;a href="https://github.com/2i2c-org/jupyterhub-home-nfs" target="_blank" rel="noopener" >jupyterhub-home-nfs&lt;/a> open source project is a JupyterHub native, cloud agnostic solution to these problems. Administrators can do per user limits, tune performance, report on usage and make cloud cost conscious choices around overprovisioning. It provides users empathetic guardrails to prevent them from overuse, rather than punitive gates that zap them after the fact.&lt;/p>
&lt;p>In this short talk, we will:&lt;/p>
&lt;ul>
&lt;li>Describe the core of the problem, and how it manifests for users and admins.&lt;/li>
&lt;li>Review current solutions and their limitations&lt;/li>
&lt;li>Introduce jupyterhub-home-nfs and how it moves the solution space forward&lt;/li>
&lt;li>Demo how this looks like for an end user&lt;/li>
&lt;li>Talk about future direction, and opportunities for collaboration&lt;/li>
&lt;/ul>
&lt;h2 id="rebuilding-user-trust-in-mybinderorg">
Rebuilding user trust in &lt;code>mybinder.org&lt;/code>
&lt;a class="header-anchor" href="#rebuilding-user-trust-in-mybinderorg">#&lt;/a>
&lt;/h2>&lt;p>Have you clicked a
&lt;a href="https://mybinder.org/" target="_blank" rel="noopener" >mybinder.org&lt;/a> link, waited for it to start and gave up after it took far too long to start? Or just failed?&lt;/p>
&lt;p>Have you stopped using mybinder.org for your tutorials, repositories and presentations because you could no longer rely on it to work each time?&lt;/p>
&lt;p>mybinder.org is open infrastructure run by incredible volunteers (who go above and beyond constantly) in the Jupyter community. Is &amp;lsquo;slow fade into unreliability&amp;rsquo; just the fate of all openly run infrastructure?&lt;/p>
&lt;p>But perhaps maybe, just maybe, you have tried doing that again recently, &amp;amp; noticed improvements! Launches are more reliable. Faster. The UI looks better. Maybe things are getting better?&lt;/p>
&lt;p>This talk will go through the problems facing mybinder.org &amp;amp; what we are doing about it. Come to this talk to find out:&lt;/p>
&lt;ol>
&lt;li>How is mybinder.org run?&lt;/li>
&lt;li>What are the structural issues facing open infrastructure services like mybinder.org?&lt;/li>
&lt;li>What sustainability experiments are we running to improve reliability and rebuild user trust?&lt;/li>
&lt;li>Has reliability actually improved?&lt;/li>
&lt;li>How can I help?&lt;/li>
&lt;/ol>
&lt;h2 id="can-your-jupyterhub-handle-your-workload-performance-testing-with-jupyterhub-simulator">
Can your JupyterHub handle your workload? Performance testing with &lt;code>jupyterhub-simulator&lt;/code>
&lt;a class="header-anchor" href="#can-your-jupyterhub-handle-your-workload-performance-testing-with-jupyterhub-simulator">#&lt;/a>
&lt;/h2>&lt;p>Your JupyterHub is all set up, and you&amp;rsquo;re excited to use it for your workshop of 60 students. Or your class of 600 students. Or your research group of 5 people with complex workflows.&lt;/p>
&lt;p>You &lt;em>feel&lt;/em> your infrastructure should hold up fine, but do you &lt;em>know&lt;/em> if your infrastructure will hold up fine? Is that just excitement, or is there a little bit of nervousness in there too? Wouldn&amp;rsquo;t it be nice to test and know for sure?&lt;/p>
&lt;p>&lt;code>jupyterhub-simulator&lt;/code> is an open source project that allows you to describe what you expect your users to be doing - starting servers, clicking on
&lt;a href="https://github.com/jupyterhub/nbgitpuller" target="_blank" rel="noopener" >nbgitpuller&lt;/a> links, running notebooks, etc. Once you have described it, you can then simulate any number of users doing that workflow simultaneously, and verify that your JupyterHub can handle that workload. If it can&amp;rsquo;t, tweak your infrastructure and try again until it does!&lt;/p>
&lt;p>In this talk you will learn:&lt;/p>
&lt;ul>
&lt;li>What is &lt;code>jupyterhub-simulator&lt;/code>?&lt;/li>
&lt;li>How can I describe my expected workflow?&lt;/li>
&lt;li>How can I test if N users can do this workflow all simultaneously?&lt;/li>
&lt;li>How can I visualize the performance of my infrastructure so I can tweak its configuration and try the simulation again?&lt;/li>
&lt;/ul>
&lt;h2 id="not-just-for-notebooks-jupyterhub-in-2025">
Not just for notebooks: JupyterHub in 2025
&lt;a class="header-anchor" href="#not-just-for-notebooks-jupyterhub-in-2025">#&lt;/a>
&lt;/h2>&lt;blockquote>
&lt;p>JupyterHub: A multi-user server for Jupyter notebooks&lt;/p>
&lt;/blockquote>
&lt;p>This is how JupyterHub was described when it was announced in 2015, 10 years ago. The focus was on bringing Jupyter Notebooks to multiple users on shared infrastructure. The Jupyter Notebooks focus was so strong that Jupyter was even in the name of the project! Fast forward 10 years, &amp;amp; this is still the most common perception of JupyterHub.&lt;/p>
&lt;p>However, this has not been true for a &lt;em>long&lt;/em> time now. Instead of setting up 5 different kinds of infrastructure to support your users based on what kind of &lt;em>interface&lt;/em> they like to use (
&lt;a href="https://jupyterlab.readthedocs.io/" target="_blank" rel="noopener" >JupyterLab&lt;/a>,
&lt;a href="https://posit.co/products/open-source/rstudio/" target="_blank" rel="noopener" >RStudio&lt;/a>, Linux Desktop tools like
&lt;a href="https://qgis.org/" target="_blank" rel="noopener" >QGIS&lt;/a> or
&lt;a href="https://napari.org/" target="_blank" rel="noopener" >Napari&lt;/a>,
&lt;a href="https://code.visualstudio.com/" target="_blank" rel="noopener" >Visual Studio Code&lt;/a>, full &lt;code>ssh&lt;/code> (!?), etc) for their interactive computing, you can set up a JupyterHub that supports all of those! Meet your users where they are, rather than force them to conform to using only a specific set of tools.&lt;/p>
&lt;p>Come to this talk to:&lt;/p>
&lt;ul>
&lt;li>See cool demos of various popular applications running on JupyterHub seamlessly&lt;/li>
&lt;li>Understand the security model of JupyterHub &amp;amp; how that enables these cool demos&lt;/li>
&lt;li>Learn how you can set up your own application to run in JupyterHub&lt;/li>
&lt;li>Influence the future of how JupyterHub is marketed&lt;/li>
&lt;/ul>
&lt;h2 id="introducing-jupyter-book-20">
Introducing Jupyter Book 2.0
&lt;a class="header-anchor" href="#introducing-jupyter-book-20">#&lt;/a>
&lt;/h2>&lt;p>This is a community talk from the
&lt;a href="https://compass.jupyterbook.org/team" target="_blank" rel="noopener" >Jupyter Book team&lt;/a>, detailing the principles behind the new
&lt;a href="https://mystmd.org/" target="_blank" rel="noopener" >MyST Document Engine&lt;/a> and
&lt;a href="https://next.jupyterbook.org" target="_blank" rel="noopener" >Jupyter Book 2&amp;rsquo;s upcoming release&lt;/a>. We&amp;rsquo;ll share the text when the Jupyter Book team posts it publicly.&lt;/p>
&lt;h2 id="you-dont-need-to-contribute-more-to-open-source-you-need-to-go-to-therapy">
You don&amp;rsquo;t need to contribute more to open source, you need to go to therapy
&lt;a class="header-anchor" href="#you-dont-need-to-contribute-more-to-open-source-you-need-to-go-to-therapy">#&lt;/a>
&lt;/h2>&lt;p>Open source communities can be incredible and irreplaceable sources of human connection in our lives, offering a unique kind of fulfillment hard to find elsewhere. This feeling of fulfillment and approval can, for some people, be a soothing balm in an otherwise rough life. However, it has the be part of a healthy, balanced ecosystem of different kinds of connections offering different kinds of fulfillment . If a significant chunk of fulfillment in your life comes from the open source work you do, unbalanced by other sources, that can quickly become unhealthy for both you and the community. Disagreements are more likely to become high stakes. Interactions can quickly become emotionally charged and filled with hard to interpret subtext. This can both burn you out, and drive away potential new community members.&lt;/p>
&lt;p>This talk explores the why &lt;em>emotional regulation&lt;/em> is a critical skill for participating in open source communities, and how therapy can be a tool for learning that skill. Come to learn:&lt;/p>
&lt;ol>
&lt;li>What is &lt;em>emotional regulation&lt;/em>?&lt;/li>
&lt;li>Why should I care?&lt;/li>
&lt;li>What is therapy and how can I access it?&lt;/li>
&lt;li>Wait that&amp;rsquo;s not what I thought therapy was! Are you telling me Missy Armitage lied in &lt;em>Get Out&lt;/em>?!&lt;/li>
&lt;li>What negative effects do &lt;em>communities&lt;/em> feel?&lt;/li>
&lt;/ol>
&lt;h2 id="what-2i2c-has-learned-while-trying-to-build-sustainable-relationships-with-jupyters-community">
What 2i2c has learned while trying to build sustainable relationships with Jupyter&amp;rsquo;s community.
&lt;a class="header-anchor" href="#what-2i2c-has-learned-while-trying-to-build-sustainable-relationships-with-jupyters-community">#&lt;/a>
&lt;/h2>&lt;p>2i2c is a non-profit organization that fosters co-creation and collaboration between science communities and open source communities. We are deeply embedded in an international network of research and education communities, as well as open source communities that underlie their infrastructure (particularly in the Jupyter ecosystem). Our technical infrastructure is built entirely with open source components that we contribute to, but do not control. This is a really hard problem to solve!&lt;/p>
&lt;p>We&amp;rsquo;ve learned a lot in the first four years of our existence. This talk will describe how our organization approaches a healthy and productive open source relationship with the Jupyter (and broader scientific python) ecosystem. It&amp;rsquo;ll cover some of the major mistakes we&amp;rsquo;ve made, lessons learned, and where we think we&amp;rsquo;ve had impact. We aim to make this talk full of practical learnings that others can follow in building sustainable open science organizations that contribute to a healthy and vibrant open source ecosystem. Our goal will be to provide inspiration to others that are interested in building on top of open source projects like Jupyter, and want to do so in a way that is healthy and sustainable.&lt;/p></description></item><item><title>Chris is joining Project Jupyter's Executive Council</title><link>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupyter-executive-council/</link><pubDate>Mon, 10 Mar 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-604--2i2c-org.netlify.app/blog/jupyter-executive-council/</guid><description>&lt;p>We are proud to announce that 2i2c&amp;rsquo;s Executive Director, Chris Holdgraf, was
&lt;a href="https://blog.jupyter.org/project-jupyters-2025-executive-council-elections-605b183ec64c" target="_blank" rel="noopener" >recently elected to Jupyter&amp;rsquo;s Executive Council&lt;/a>. The 2i2c team discussed whether Chris should run for this position last year, and concluded that it was a way for our non-profit to both support Jupyter&amp;rsquo;s mission at a strategic level, and represent the interests of research and education communities in Jupyter&amp;rsquo;s direction. Chris wrote
&lt;a href="https://chrisholdgraf.com/blog/jupyter-org-structure" target="_blank" rel="noopener" >a blog post about his reasons for running&lt;/a> with more information.&lt;/p>
&lt;p>One of Chris&amp;rsquo; goals is to be a transparent source of information about what the council is working on, where its priorities lie, and what are the major challenges it is trying to tackle. He&amp;rsquo;s written two blog posts that describe some of his experiences so far, at the links below:&lt;/p>
&lt;ul>
&lt;li>
&lt;a href="https://chrisholdgraf.com/blog/os-support" target="_blank" rel="noopener" >On the ways that the Jupyter Foundation could support the Jupyter Project with its funds&lt;/a>&lt;/li>
&lt;li>
&lt;a href="https://chrisholdgraf.com/blog/jupyter-org-structure" target="_blank" rel="noopener" >A high-level overview of Jupyter&amp;rsquo;s structure&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>We&amp;rsquo;re hopeful that this is a way for 2i2c to scale its impact and lean into its
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/open-technology/" >commitment to open technology&lt;/a>. Chris intends to keep writing about his personal experience via
&lt;a href="https://chrisholdgraf.com" target="_blank" rel="noopener" >his blog&lt;/a>, and we&amp;rsquo;ll provide updates here for major developments that are relevant to 2i2c&amp;rsquo;s network of communities.
We&amp;rsquo;re proud to have Chris in this role, and excited for his contributions to the Jupyter community!&lt;/p>
&lt;h2 id="acknowledgements">
Acknowledgements
&lt;a class="header-anchor" href="#acknowledgements">#&lt;/a>
&lt;/h2>&lt;ul>
&lt;li>Strategic open source support like this is supported by a grant from
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/collaborators/navigation/" >The Navigation Fund&lt;/a> and fees from
&lt;a href="https://deploy-preview-604--2i2c-org.netlify.app/members/" >our member organizations&lt;/a>.&lt;/li>
&lt;/ul></description></item></channel></rss>