<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Jupyter Blog - funding</title><link href="https://blog.jupyter.org/" rel="alternate"/><link href="https://blog.jupyter.org/feeds/tag-funding.atom.xml" rel="self"/><id>https://blog.jupyter.org/</id><updated>2026-07-09T09:54:00+00:00</updated><subtitle>Grants, donations, and other funding for Project Jupyter and its community.</subtitle><entry><title>2026 Jupyter Community Call For Funding Proposals</title><link href="https://blog.jupyter.org/posts/2026/2026-jupyter-community-call-for-funding-proposals/" rel="alternate"/><published>2026-07-06T19:32:00+00:00</published><updated>2026-07-09T09:54:00+00:00</updated><author><name>Project Jupyter</name></author><id>tag:blog.jupyter.org,2026-07-06:/posts/2026/2026-jupyter-community-call-for-funding-proposals/</id><summary type="html">&lt;p&gt;The Jupyter Executive Council and Jupyter Foundation are pleased to announce a new Call for Proposals (CFP) for funding the Jupyter community to improve Jupyter. Visit the Jupyter Foundation Community Proposals webpage to learn more about the process and how to submit proposals.&lt;/p&gt;</summary><content type="html">&lt;p class="standalone-image"&gt;&lt;img src="https://blog.jupyter.org/posts/2026/2026-jupyter-community-call-for-funding-proposals/images/001-0_jwHtZqyuA711MXw9.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://jupyter.org/about#executive-council-members"&gt;Jupyter Executive Council&lt;/a&gt; and &lt;a href="https://jupyterfoundation.org/"&gt;Jupyter Foundation&lt;/a&gt; are pleased to announce a new Call for Proposals (CFP) for funding the Jupyter community to improve Jupyter. Visit the &lt;a href="https://jupyterfoundation.org/community-funding-proposals/submit-a-proposal/"&gt;Jupyter Foundation Community Proposals webpage&lt;/a&gt; to learn more about the process and how to submit proposals. &lt;strong&gt;&lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;Submit a proposal&lt;/a&gt; by Wednesday, September 9, 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Jupyter Foundation began its operations in early 2025 with a mission to use its resources to support the Jupyter community. As part of this mission, we funded a round of &lt;a href="https://blog.jupyter.org/posts/2025/announcing-our-first-jupyter-community-funded-proposals/"&gt;community proposals in 2025&lt;/a&gt;. This funded work continues to bring many benefits to the Jupyter ecosystem (see the progress reports &lt;a href="https://github.com/jupyter-governance/funding-proposals/tree/main/Reports"&gt;here&lt;/a&gt;). In this next call for proposals, we are iterating on this success.&lt;/p&gt;
&lt;p&gt;Visit the &lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;Community Proposals webpage&lt;/a&gt; to learn more about past funded proposals and the &lt;a href="https://jupyter-governance.github.io/jupyter-foundation-governing-board/funding/process/"&gt;Jupyter Foundation team compass&lt;/a&gt; for more detailed background about this funding call. In this second round, our goal is to continue learning how to best manage a community funding program. Based on feedback, we are updating the proposal process in several ways, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A new section of the proposal template has been added for Jupyter council or committee endorsements. We strongly encourage authors to seek and include endorsements from Jupyter councils or committees affected by the proposal. Each endorsement should be a brief paragraph about the impact of the proposed work from the council or committee’s perspective, and express support for the work and a willingness to receive it. We encourage authors to communicate early with relevant Jupyter councils and committees to make this endorsement process easier.&lt;/li&gt;
&lt;li&gt;The de-risk section of the proposal is now optional for smaller funding requests.&lt;/li&gt;
&lt;li&gt;The CFP is open for several weeks longer than the previous round. We do not anticipate extending the CFP deadline this time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;Submit a proposal&lt;/a&gt; by Wednesday, September 9, 2026.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As with the previous round, to help inspire proposals we are particularly excited to fund, we’ve defined &lt;a href="https://jupyter-governance.github.io/jupyter-foundation-governing-board/funding/priorities/"&gt;funding priorities for the Jupyter Foundation&lt;/a&gt;. These are key outcomes that we must improve in order to grow the overall health and impact of the ecosystem. Briefly summarizing, these priorities are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grow the contributor capacity of Jupyter&lt;/strong&gt;. We would like to grow the number of contributors, improve the efficiency of existing contributors, and facilitate learning across Jupyter subprojects. We’d love to see proposals that help us mobilize and support the total pool of energy available to contribute to Jupyter. Examples of recent activities in this area include hiring a community manager and hosting community workshops.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve the reliability, security, and consistency of Jupyter’s software and team practices.&lt;/strong&gt; We believe that our technology will be more impactful and easier to contribute to and deploy if we improve our development infrastructure and team practices in ways that contribute to reliability, security, and consistency. Examples of recent activities in this area include investing in better testing infrastructure and linting rules, refactoring build systems, improving accessibility, funding security issue triage, and hosting a subproject roadmap alignment workshop.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While we’re particularly excited about these two outcomes and aim to focus funding on proposals that clearly feed into one or both of these priorities, we also encourage people to get creative and submit proposals for outcomes that have high impact and strategic value for the Jupyter community. We’re excited to see what others come up with, and are eager to work with you in unlocking critical funding in support of Jupyter’s community.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
</content><category term="funding"/><category term="Jupyter Foundation"/></entry><entry><title>Announcing our first Jupyter Community Funded Proposals</title><link href="https://blog.jupyter.org/posts/2025/announcing-our-first-jupyter-community-funded-proposals/" rel="alternate"/><published>2025-11-04T19:19:00+00:00</published><updated>2025-11-04T19:19:00+00:00</updated><author><name>Chris Holdgraf</name></author><id>tag:blog.jupyter.org,2025-11-04:/posts/2025/announcing-our-first-jupyter-community-funded-proposals/</id><summary type="html">&lt;p&gt;We are thrilled to announce the results of our first round of Jupyter Community Funding proposals. This is the first funding call from the Jupyter Foundation to directly solicit proposals from the Jupyter community.&lt;/p&gt;</summary><content type="html">&lt;p&gt;We are thrilled to announce the results of our first round of &lt;a href="https://blog.jupyter.org/posts/2025/your-ideas-our-support-jupyter-community-call-for/"&gt;Jupyter Community Funding proposals&lt;/a&gt;. This is the first funding call from the &lt;a href="http://jupyterfoundation.org"&gt;Jupyter Foundation&lt;/a&gt; to directly solicit proposals from the Jupyter community.&lt;/p&gt;
&lt;p class="standalone-image"&gt;&lt;img src="https://blog.jupyter.org/posts/2025/announcing-our-first-jupyter-community-funded-proposals/images/001-1_mLI9dFl_eCv-u4S_t1J71Q_2x.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;We received many outstanding ideas from community members. We are so grateful for the time and effort everyone put into their submissions. This is a new process for us, and we’ve already learned a lot. We’re excited to take this first step in directly supporting community-driven work.&lt;/p&gt;
&lt;p&gt;After a careful review, we are happy to fund the following proposals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-governance/funding-proposals/issues/7"&gt;&lt;strong&gt;More reliable visual testing for Jupyter frontends&lt;/strong&gt;&lt;/a&gt;: This project will improve visual regression and integration testing across Jupyter frontends. We hope this will lower maintenance costs and reduce maintainer burnout by making testing more reliable.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-governance/funding-proposals/issues/9"&gt;&lt;strong&gt;Separating JupyterLab’s build system for easier maintenance&lt;/strong&gt;&lt;/a&gt;: This work will finish separating JupyterLab’s build system into a standalone tool. This will make maintenance easier for both core developers and extension authors.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-governance/funding-proposals/issues/16"&gt;&lt;strong&gt;Improving keyboard accessibility in JupyterLab&lt;/strong&gt;&lt;/a&gt;: This proposal will focus on making JupyterLab fully navigable via keyboard and testing with disabled users. The goal is to find and fix key accessibility blockers, making the tools more usable for everyone.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-governance/funding-proposals/issues/6"&gt;&lt;strong&gt;Growing the contributor community for JupyterHub and JupyterBook&lt;/strong&gt;&lt;/a&gt;: This project will tackle efforts like team coordination and mentorship pipelines with clear entry points for contributions. We hope this will grow our contributor base by making it easier to attract, retain, and leverage community contributions.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-governance/funding-proposals/issues/11"&gt;&lt;strong&gt;Improving code quality with custom linting rules&lt;/strong&gt;&lt;/a&gt;: This proposal will develop custom linting rules to enforce project-specific standards in the JupyterLab and Notebook codebases. This will help catch common issues early and improve the long-term health of the code.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jupyter-governance/funding-proposals/issues/8"&gt;&lt;strong&gt;Reviving the extension playground for easier prototyping&lt;/strong&gt;&lt;/a&gt;: This project will revive and improve the extension playground, a tool for prototyping new extensions. We’re excited for this to lower the entry barrier for extension development and help the ecosystem grow.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A huge thank you to everyone who submitted a proposal and participated in the review. We also want to thank the authors of proposals that were not funded in this round. We particularly appreciate their effort and hope they will continue to engage with this process.&lt;/p&gt;
&lt;p&gt;We’re excited to see these projects develop and support the dedicated people behind them. This is just the beginning, and we look forward to more community funding opportunities in the future.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;We want to send a special thank-you to &lt;a href="https://www.linkedin.com/in/savannahostrowski"&gt;Savannah Ostrowski&lt;/a&gt;, former Jupyter Foundation board treasurer, for her work in setting up this initial round of funding.&lt;/em&gt;&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
</content><category term="funding"/><category term="Jupyter Foundation"/></entry><entry><title>Your Ideas, Our Support: Jupyter Community Call For Funding Proposals</title><link href="https://blog.jupyter.org/posts/2025/your-ideas-our-support-jupyter-community-call-for/" rel="alternate"/><published>2025-08-28T15:18:00+00:00</published><updated>2025-09-26T23:11:00+00:00</updated><author><name>Chris Holdgraf</name></author><id>tag:blog.jupyter.org,2025-08-28:/posts/2025/your-ideas-our-support-jupyter-community-call-for/</id><summary type="html">&lt;p&gt;The Jupyter Executive Council and Jupyter Foundation are pleased to announce a call for proposals for the Jupyter community. Visit the Jupyter Foundation Community Proposals webpage to learn more about the process and how to submit proposals.&lt;/p&gt;</summary><content type="html">&lt;p class="standalone-image"&gt;&lt;img src="https://blog.jupyter.org/posts/2025/your-ideas-our-support-jupyter-community-call-for/images/001-1_62F-8MV2IQQToNrR4GdU_g.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://jupyter.org/about#executive-council-members"&gt;Jupyter Executive Council&lt;/a&gt; and &lt;a href="https://jupyterfoundation.org/"&gt;Jupyter Foundation&lt;/a&gt; are pleased to announce a call for proposals for the Jupyter community. Visit the &lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;Jupyter Foundation Community Proposals webpage&lt;/a&gt; to learn more about the process and how to submit proposals. &lt;strong&gt;The &lt;a href="https://jupyterfoundation.org/community-funding-proposals"&gt;call for proposals&lt;/a&gt; is open through Sunday, October 5th, 2025.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;edit: We’ve decided to extend this by one week to give a few in-progress proposals time to write and submit! The new deadline is October 5th.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The Jupyter Foundation began its operations in early 2025 with a mission to use its resources to support the Jupyter community. We’ve set up the operations, structure, goals, and strategy of the Jupyter Foundation and published them on the &lt;a href="https://compass.jupyterfoundation.org"&gt;Foundation team compass&lt;/a&gt;. We’ve had several rounds of &lt;a href="https://github.com/jupyter-governance/jupyter-foundation-governing-board/issues/1"&gt;feedback from the Jupyter community&lt;/a&gt; and defined the Foundation’s &lt;a href="https://jupyter-governance.github.io/jupyter-foundation-governing-board/strategy/"&gt;overall goals&lt;/a&gt; for its first year of operation.&lt;/p&gt;
&lt;p&gt;Our first funding allocation supported events that grow the connections within the Jupyter community via the &lt;a href="https://blog.jupyter.org/posts/2025/jupyter-community-workshops-are-back/"&gt;community workshops series&lt;/a&gt; as well as our connection with the broader data science community via &lt;a href="https://jupytercon.com"&gt;JupyterCon 2025&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For the next wave of funding for the community, we’re running an experiment to directly solicit funding proposals from the Jupyter community. We think this will result in a strong clear connection between the Foundation’s funds and the needs of Jupyter’s maintainers, contributors, power users, and advocates.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The &lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;call for proposals&lt;/a&gt; is open through Sunday, October 5th, 2025.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Visit the &lt;a href="https://jupyterfoundation.org/community-funding-proposals/"&gt;Community Proposals webpage&lt;/a&gt; to learn how to submit a proposal and the &lt;a href="https://jupyter-governance.github.io/jupyter-foundation-governing-board/funding/process/"&gt;Jupyter Foundation team compass&lt;/a&gt; for more detailed background about this funding call.&lt;/p&gt;
&lt;p&gt;In this first round, one of our goals is to &lt;em&gt;learn&lt;/em&gt;. We’d like to learn how to administer a community call like this as well as what kind of value it delivers to the Jupyter community. We’ve set minimum targets for funding disbursement and hope to grow our funding allotment as we iterate from here.&lt;/p&gt;
&lt;p&gt;To help inspire proposals we are particularly excited to fund, we’ve defined &lt;a href="https://jupyter-governance.github.io/jupyter-foundation-governing-board/funding/priorities/"&gt;funding priorities for the Jupyter Foundation&lt;/a&gt;. These are key outcomes that we must improve in order to grow the overall health and impact of the ecosystem. Briefly summarizing, these priorities are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grow the contributor capacity of Jupyter&lt;/strong&gt;. We would like to grow the number of contributors, improve the efficiency of existing contributors, and facilitate learning across Jupyter subprojects. We’d love to see proposals that help us mobilize and support the total pool of energy available to contribute to Jupyter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve the reliability, security, and consistency of Jupyter’s software and team practices.&lt;/strong&gt; We believe that our technology will be more impactful and easier to contribute to and deploy if we improve our development infrastructure and team practices in ways that contribute to reliability, security, and consistency.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While we’re particularly excited about these outcomes and aim to focus funding on proposals that clearly feed into one or both of these priorities, we also encourage people to get creative and submit proposals for outcomes that have high impact and strategic value for the Jupyter community. We’re excited to see what others come up with, and are eager to work with you in unlocking critical funding in support of Jupyter’s community.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;We are grateful for the support of the &lt;a href="https://jupyterfoundation.org"&gt;Jupyter Foundation&lt;/a&gt; and its &lt;a href="https://jupyterfoundation.org/members"&gt;members&lt;/a&gt; that makes this opportunity possible. If your organization would like to support this program, please &lt;a href="https://jupyterfoundation.org/contact/"&gt;contact the Jupyter Foundation&lt;/a&gt;.&lt;/p&gt;
</content><category term="funding"/><category term="Jupyter Foundation"/></entry><entry><title>JupyterGIS</title><link href="https://blog.jupyter.org/posts/2024/jupytergis/" rel="alternate"/><published>2024-06-12T17:09:00+00:00</published><updated>2024-06-12T17:09:00+00:00</updated><author><name>Sylvain Corlay</name></author><id>tag:blog.jupyter.org,2024-06-12:/posts/2024/jupytergis/</id><summary type="html">&lt;p&gt;Pioneering Web-based, Collaborative, and Open-source GIS Tools&lt;/p&gt;
</summary><content type="html">&lt;p class="standalone-image"&gt;&lt;img src="https://blog.jupyter.org/posts/2024/jupytergis/images/001-1_IkYCf2cbk3SaxaROQ0eUsA.webp" alt="The logo of Project Jupyter next to a stylised terrestrial globe" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;We are thrilled to announce that the European Space Agency (ESA) is funding our proposal “&lt;em&gt;Real-time collaboration and collaborative editing for GIS workflows with Jupyter and QGIS&lt;/em&gt;.”&lt;/p&gt;
&lt;p&gt;The consortium spearheading this project comprises &lt;a href="https://quantstack.net/"&gt;QuantStack&lt;/a&gt; and &lt;a href="https://www.simula.no/"&gt;Simula Research Lab&lt;/a&gt; (Simula), two organizations with a long history of contributions to the Jupyter project and the broader open-source scientific computing ecosystem.&lt;/p&gt;
&lt;p&gt;The goal of the project is to build solid foundations for a versatile web-based user interface for Geographic Information Systems (GIS) workflows. It will comprise several components, including a JupyterLab extension for collaboratively editing QGIS project files and the integration of these APIs in the Jupyter Notebook. We will then explore integration with platforms like the &lt;a href="https://dataspace.copernicus.eu/"&gt;Copernicus Data Space Ecosystem&lt;/a&gt; (CDSE) and the &lt;a href="https://eosc.eu/"&gt;European Open Science Cloud&lt;/a&gt; (EOSC).&lt;/p&gt;
&lt;h2 id="collaborative-workflows-in-geosciences"&gt;Collaborative workflows in geosciences&lt;/h2&gt;
&lt;p&gt;Collaborative editing of documents has become an integral part of our digital lives and has made us collectively more productive. Gone are the days of cumbersome email exchanges with documents shuttling back and forth.&lt;/p&gt;
&lt;p&gt;Looking ahead, the potential of co-editing extends far beyond text documents and will apply to all authoring UIs, from CAD to image processing. We think that the shift to collaborative editing will be even more transformative for larger and more complex projects, which are inherently social and require the concerted effort of large teams. Whether you are designing a stadium, a plane, or an ocean liner, you need to coordinate a diverse expertise to build a unified model. In geosciences, it may range from climate modeling to agriculture, ecology, urban planning, and many more areas of expertise. For such endeavors, we must embrace tools favoring collaboration, and this applies to the future web-based user interfaces for geoscience research.&lt;/p&gt;
&lt;p&gt;We have been working on collaborative editing in the core of JupyterLab for the past three years. Our approach is based on the &lt;a href="https://yjs.dev/"&gt;Yjs framework&lt;/a&gt;, an implementation of CRDT data structures (Conflict-free Replicated Data Type). We have learned that since it is so tied to the data model, retrofitting these features into an existing application is considerably more arduous than building the initial data model on the appropriate paradigm from inception. This is why JupyterGIS will be built from the ground up with collaborative editing in mind.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;JupyterGIS will be the first open-source GIS tool to provide collaborative editing features.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Importantly, JupyterGIS is part of a broader mission to enable collaborative workflows in open-source technical computing. The &lt;a href="https://blog.jupyter.org/posts/2023/collaborative-cad-in-jupyterlab/"&gt;JupyterCAD&lt;/a&gt; project, a collaborative CAD modeler, is another example of this endeavor. By sharing knowledge and resources, both JupyterGIS and JupyterCAD will benefit from and contribute to each other’s progress, ultimately driving innovation and productivity in their respective fields.&lt;/p&gt;
&lt;h2 id="from-the-desktop-to-the-web"&gt;From the desktop to the web&lt;/h2&gt;
&lt;p&gt;Advanced authoring tools, including IDEs, CAD modelers, image processing software, and GIS applications, are essential for professionals who rely on them for extended periods. These users have high expectations and demand key features to optimize their productivity and workflow. Among these features are extensibility with plugins, configurable keyboard shortcuts, themability, internationalization, scriptability, a unified settings system, and the ability to operate across multiple browser windows and devices.&lt;/p&gt;
&lt;p&gt;Developing a new application from the ground up that meets all these requirements is a formidable challenge. This is where the JupyterLab application framework proves invaluable. By leveraging this framework, developers can build custom, feature-rich authoring tools that incorporate these essential features from the outset, making it an ideal solution for creating modern, user-centric applications.&lt;/p&gt;
&lt;p&gt;Beyond the pure authoring user interface, for which JupyterLab is a great tool, it is also the &lt;em&gt;perfect&lt;/em&gt; tool for integration with notebook-based workflows. As part of this project, we will develop an advanced Python API to manage JupyterGIS sessions, leveraging Jupyter’s robust display system to incorporate sophisticated GIS features inline in Jupyter notebooks and consoles. This integration will further enhance the capabilities and versatility of our application. This feature will follow the same architecture as that of JupyterCAD for the integration with the notebook user interface.&lt;/p&gt;
&lt;h2 id="real-world-applications"&gt;Real-world applications&lt;/h2&gt;
&lt;p&gt;JupyterGIS is meant to become a &lt;em&gt;general-purpose&lt;/em&gt; tool. However, we will work with teams of practitioners on &lt;em&gt;specific&lt;/em&gt; real-world applications to ensure that it addresses their needs.&lt;/p&gt;
&lt;p&gt;One such project concerns the use of digital and GIS solutions for emergency management. While practitioners involved in emergency management already have experience with such tools, we are convinced that web-based applications built with collaboration in mind from the start can foster improved coordination and collaboration, and therefore the effectiveness of the response.&lt;/p&gt;
&lt;p&gt;Response teams comprise different organizations, including the affected municipalities, police, emergency response organizations like the Red Cross, and advisers such as the U.S. Army Corps of Engineers (USACE) in the United States or the Norwegian Water Resources and Energy Directorate (NVE) in Norway. Even when using the same incident management system, miscommunications and misunderstandings can occur between these stakeholders, resulting in delays or improper use of resources. An improved integration of collaborative GIS software can improve upon the existing tooling.&lt;/p&gt;
&lt;h2 id="building-collaborations-in-europe-and-beyond"&gt;Building collaborations in Europe and beyond&lt;/h2&gt;
&lt;p&gt;We will partner with key practitioners and make sure JupyterGIS addresses their use cases. Integration in the &lt;a href="https://dataspace.copernicus.eu/"&gt;Copernicus Data Space Ecosystem&lt;/a&gt; (CDSE) and the &lt;a href="https://eosc.eu/"&gt;European Open Science Cloud&lt;/a&gt; (EOSC) will be key to the adoption of JupyterGIS and demonstrate its deployment in such environments.&lt;/p&gt;
&lt;p&gt;Beyond Europe, we are currently working on including this project into a broader scope. We are excited to be partnering with the “&lt;a href="https://www.live-env.org/"&gt;LIVE-Env&lt;/a&gt;” project, an open-source initiative spearheaded by Alyssa Goodman at Harvard University. Furthermore, we are establishing a key collaboration with the &lt;a href="https://bids.berkeley.edu/home"&gt;Berkeley Institute for Data Sciences&lt;/a&gt; (BIDS) and the &lt;a href="https://dse.berkeley.edu/"&gt;Schmidt Center for Data Science and Environment&lt;/a&gt; (DSE) at UC Berkeley and &lt;a href="https://2i2c.org/"&gt;2i2c&lt;/a&gt;, with a focus on Jupyter-based geosciences.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
&lt;h2 id="affiliations"&gt;Affiliations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Sylvain Corlay: &lt;a href="https://quantstack.net/"&gt;QuantStack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Anne Fouilloux: &lt;a href="https://www.simula.no/"&gt;Simula&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Monika Weissschnur: &lt;a href="https://www.simula.no/"&gt;Simula&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><category term="collaboration"/><category term="funding"/><category term="geoscience"/><category term="JupyterGIS"/><category term="science"/></entry><entry><title>European Commission Funds Jupyter Bug Bounty Program</title><link href="https://blog.jupyter.org/posts/2023/european-commission-funds-jupyter-bug-bounty-program/" rel="alternate"/><published>2023-07-28T19:46:00+00:00</published><updated>2023-07-28T19:46:00+00:00</updated><author><name>Rick Wagner</name></author><id>tag:blog.jupyter.org,2023-07-28:/posts/2023/european-commission-funds-jupyter-bug-bounty-program/</id><summary type="html">&lt;p&gt;Three Jupyter Subprojects – Jupyter Server, JupyterLab, and JupyterHub –are participating in a bug bounty program sponsored by the European Commission and hosted on the Intigriti platform.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Three Jupyter Subprojects – Jupyter Server, JupyterLab, and JupyterHub –are participating in a &lt;a href="https://app.intigriti.com/programs/jupyter/jupyter/detail"&gt;bug bounty program&lt;/a&gt; &lt;a href="https://commission.europa.eu/news/european-commissions-open-source-programme-office-starts-bug-bounties-2022-01-19_en"&gt;sponsored by the European Commission&lt;/a&gt; and hosted on the &lt;a href="https://www.intigriti.com/"&gt;Intigriti platform&lt;/a&gt;.&lt;/p&gt;
&lt;p class="standalone-image"&gt;&lt;img src="https://blog.jupyter.org/posts/2023/european-commission-funds-jupyter-bug-bounty-program/images/001-1_8C-9fnjUJwJ56vdcNX0-bA.webp" alt="Screenshot showing the bug bounty program description on the Intigriti site." loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;Intigriti is a cybersecurity company that specializes in crowdsourced security services like &lt;a href="https://www.intigriti.com/landing/bug-bounty"&gt;bug bounty programs&lt;/a&gt;, hybrid penetration testing, and hosting live hacking events. The financial support covers bounties from €250 to €5,000 and is part of the European Commission’s &lt;a href="https://commission.europa.eu/about-european-commission/departments-and-executive-agencies/informatics/open-source-software-strategy_en"&gt;Open Source Software Strategy 2020–2023&lt;/a&gt;, which:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Promotes the sharing and reuse of software solutions, knowledge and expertise, to deliver better European services that benefit society and lower costs to that society. The Commission commits to increasing its use of open source not only in practical areas such as IT, but also in areas where it can be strategic.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a great opportunity for Project Jupyter to reduce the number of potential vulnerabilities in critical Jupyter components and to evaluate our vulnerability handling processes.&lt;/p&gt;
&lt;p&gt;Project Jupyter was selected for sponsorship at the end of 2022. After discussions involving several Jupyter Subprojects and other stakeholders, the three Jupyter software components were chosen for inclusion. Representatives from Jupyter Server, JupyterLab, and JupyterHub have committed to validating and responding to submissions for their area. Focusing on a limited number of key Jupyter components was a way to balance the benefits of identifying vulnerabilities against developer obligations to review vulnerability submissions. The Jupyter Security Subproject is contributing to this effort by drafting the bug bounty program details and being a liaison between Intigriti and the other Jupyter Subprojects.&lt;/p&gt;
&lt;p&gt;Submissions are triaged by Intigriti, including reproducing potential vulnerabilities and assigning a severity. The triage process ensures that submissions fall within the scope (software components, versions, etc.) defined by the program. Vulnerability severity is based on Intigriti’s &lt;a href="https://kb.intigriti.com/en/articles/5041991-intigriti-s-contextual-cvss-standard"&gt;contextualized Common Vulnerability Scoring System (CVSS)&lt;/a&gt; and assigned a rating of low, medium, high, critical, or exceptional. The severity determines both the bounty and the response time for Project Jupyter to validate a submission. After a submission passes triage, it is sent to Project Jupyter for validation.&lt;/p&gt;
&lt;p&gt;Project Jupyter appreciates the financial support from the European Commission and the help by Intigriti representatives to establish the program. Security researchers and others interested in the bug bounty program can view the details &lt;a href="https://app.intigriti.com/programs/jupyter/jupyter/detail"&gt;on the Intigriti website&lt;/a&gt;.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
</content><category term="funding"/><category term="security"/></entry><entry><title>CZI awards three EOSS grants to Jupyter community members</title><link href="https://blog.jupyter.org/posts/2021/czi-awards-three-eoss-grants-to-jupyter-community/" rel="alternate"/><published>2021-10-14T20:30:00+00:00</published><updated>2021-10-14T20:32:00+00:00</updated><author><name>Chris Holdgraf</name></author><id>tag:blog.jupyter.org,2021-10-14:/posts/2021/czi-awards-three-eoss-grants-to-jupyter-community/</id><summary type="html">&lt;p&gt;The Jupyter community is pleased to announce that members of its community have received three awards from the CZI Essential Open Source Software grant series.&lt;/p&gt;</summary><content type="html">&lt;p&gt;The Jupyter community is pleased to announce that members of its community have received three awards from the CZI &lt;a href="https://chanzuckerberg.com/eoss/"&gt;Essential Open Source Software grant series&lt;/a&gt;. This grant series has previously funded work in the Jupyter ecosystem such as &lt;a href="https://chanzuckerberg.com/eoss/proposals/real-time-collaboration-in-jupyter/"&gt;real-time collaboration in JupyterLab&lt;/a&gt; and JupyterHub’s &lt;a href="https://chanzuckerberg.com/eoss/proposals/jupyterhub-contributor-in-residence-program/"&gt;Contributor in Residence pilot&lt;/a&gt;. Read below for a brief overview of the recently-funded proposals!&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="CZI’s Essential Open Source Software for Science program supports software maintenance, growth, development, and community engagement for critical open source tools." src="https://blog.jupyter.org/posts/2021/czi-awards-three-eoss-grants-to-jupyter-community/images/001-1_UBrbPqVueIypC9GA9wAccg.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;CZI’s &lt;a href="https://chanzuckerberg.com/eoss/"&gt;Essential Open Source Software for Science program&lt;/a&gt; supports software maintenance, growth, development, and community engagement for critical open source tools.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="accessibility-in-jupyter"&gt;Accessibility in Jupyter&lt;/h2&gt;
&lt;p&gt;One of the biggest challenges in building complex web-based applications is ensuring that they are accessible to a broad and diverse audience of users. Improving accessibility requires dedicated time and significant expertise in understanding the major challenges to overcome. Tania (&lt;a href="https://discourse.jupyter.org/u/trallard"&gt;&lt;strong&gt;@trallard&lt;/strong&gt;&lt;/a&gt;), Isabela (&lt;a href="https://discourse.jupyter.org/u/isabela-pf"&gt;&lt;strong&gt;@isabela-pf&lt;/strong&gt;&lt;/a&gt;), and Tony (&lt;a href="https://discourse.jupyter.org/u/tonyfast"&gt;&lt;strong&gt;@tonyfast&lt;/strong&gt;&lt;/a&gt;) were recently awarded an EOSS award to dedicate time and development towards making Jupyter tools more accessible. You can follow some of their work in the &lt;a href="https://github.com/jupyter/accessibility"&gt;Accessibility repository&lt;/a&gt; and see &lt;a href="https://github.com/jupyter/accessibility/blob/f01fe0a71fb0bfcc27211caf916fd6802478834b/grant-applications/Inclusive_and_Accessible_Scientific_Computing_in_Jupyter_Ecosystem_SUBMITTED_PROPOSAL.pdf"&gt;the original text of this proposal here&lt;/a&gt;. This grant will be led by Tania, Isabela, and Tony (each at &lt;a href="https://www.quansight.com/labs"&gt;QuanSight Labs&lt;/a&gt;), and administered by the team at &lt;a href="https://www.quansight.com/labs"&gt;QuanSight Labs&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="interactive-documentation"&gt;Interactive documentation&lt;/h2&gt;
&lt;p&gt;Because Jupyter is a dynamic and web-based interface, you can do a lot more with interactive documentation than is possible on traditional static websites. &lt;a href="https://discourse.jupyter.org/u/carreau"&gt;&lt;strong&gt;@carreau&lt;/strong&gt;&lt;/a&gt; was awarded an EOSS grant to improve the state of interactive documentation within Jupyter. You can &lt;a href="https://labs.quansight.org/blog/2021/05/rethinking-jupyter-documentation/"&gt;check out some of his early ideas in this blog post&lt;/a&gt;. This grant will be led by Matthias Bussonnier at &lt;a href="https://www.quansight.com/labs"&gt;QuanSight Labs&lt;/a&gt;, and administered by the team at &lt;a href="https://www.quansight.com/labs"&gt;QuanSight Labs&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="community-strategic-support-for-jupyterhub"&gt;Community strategic support for JupyterHub&lt;/h2&gt;
&lt;p&gt;The JupyterHub community built off of its Contributor in Residence pilot to propose a dedicated role for designing and developing community strategy for the JupyterHub sub-project. This role will spearhead efforts to ensure that there are inclusive and effective pathways into and throughout the JupyterHub community, with the goal of sharing best-practices with others in Jupyter and PyData ecosystems. You can follow along with this work in the &lt;a href="https://github.com/jupyterhub/team-compass"&gt;JupyterHub Team Compass&lt;/a&gt; and find &lt;a href="https://drive.google.com/file/d/124LWcFe8Hq2n_3l4jAgDgJ1lpXRzV1Kc/view?usp=sharing"&gt;the original text of this proposal here&lt;/a&gt;. This effort will be led by Sarah Gibson(&lt;a href="https://discourse.jupyter.org/u/sgibson91"&gt;&lt;strong&gt;@sgibson91&lt;/strong&gt;&lt;/a&gt;) and Chris Holdgraf (&lt;a href="https://discourse.jupyter.org/u/choldgraf"&gt;&lt;strong&gt;@choldgraf&lt;/strong&gt;&lt;/a&gt;) (both at &lt;a href="https://2i2c.org"&gt;2i2c&lt;/a&gt;), and Sarah will serve as our first community strategic lead. The grant will be administered by the team at &lt;a href="https://numfocus.org/"&gt;NumFocus&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Congrats to the recipients of these awards, we’re excited to see what comes out of this work! And many thanks to all of the community members that helped write and refine these proposals.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
</content><category term="community"/><category term="funding"/></entry><entry><title>The JupyterHub and Binder Contributor in Residence!</title><link href="https://blog.jupyter.org/posts/2019/the-jupyterhub-and-binder-contributor-in-residence/" rel="alternate"/><published>2019-11-26T19:52:00+00:00</published><updated>2019-11-26T19:52:00+00:00</updated><author><name>Tim Head</name></author><id>tag:blog.jupyter.org,2019-11-26:/posts/2019/the-jupyterhub-and-binder-contributor-in-residence/</id><summary type="html">&lt;p&gt;Thanks to funding from the CZI Essential Open Source Software for Science initiative we are welcoming Georgiana Elena as our first Contributor in Residence!&lt;/p&gt;</summary><content type="html">&lt;figure&gt;
&lt;img alt="The Chan Zuckerberg Initiative and Project Jupyter are teaming up to pilot a new role in the Jupyter community: the JupyterHub Contributor in Residence" src="https://blog.jupyter.org/posts/2019/the-jupyterhub-and-binder-contributor-in-residence/images/001-1_guy_H5cSnar8-qnscfVuzw_2x.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The Chan Zuckerberg Initiative and Project Jupyter are teaming up to pilot a new role in the Jupyter community: the JupyterHub Contributor in Residence&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Thanks to funding from the &lt;a href="https://medium.com/@cziscience/essential-open-source-software-for-science-72faec2c38c1"&gt;CZI Essential Open Source Software for Science&lt;/a&gt; initiative we are welcoming &lt;a href="https://github.com/GeorgianaElena"&gt;Georgiana Elena&lt;/a&gt; as our first Contributor in Residence!&lt;/p&gt;
&lt;p&gt;Managing a codebase that spans many repositories and sub-projects as well as operating &lt;a href="https://mybinder.org"&gt;mybinder.org&lt;/a&gt; is a significant effort. Over time we have identified a need for dedicated support to ensure that activity and communication within these repositories is efficient and productive. Driven by this need and inspired by the &lt;a href="https://www.djangoproject.com/fundraising/"&gt;Django Fellowship model&lt;/a&gt;, we shaped the idea of a JupyterHub/Binder Contributor in Residence (CIR).&lt;/p&gt;
&lt;p&gt;Thanks to the Chan Zuckerberg Initiative, a Contributor in Residence within the community is now possible. Starting this year, CZI launched the &lt;a href="https://chanzuckerberg.com/rfa/essential-open-source-software-for-science/"&gt;Essential Open Source Software for Science&lt;/a&gt; grant program. It is aimed at helping open source communities that make up the core foundation of the scientific stack. We applaud CZI in providing support for core infrastructure across the sciences, and we’re honored to be part of CZI’s vision of funding maintenance, growth, development, and community engagement for open-source projects.&lt;/p&gt;
&lt;p&gt;In this post we’ll introduce the community to our first Contributor in Residence (Georgiana) and her mentor (Tim)! The rest of this post is in the form of a conversation between Georgiana and Tim. We hope you enjoy it and that it let’s you get to know the team a bit better.&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Tim:&lt;/em&gt; Hello Georgiana. Congrats on becoming the inaugural CIR. We’ve been lucky to have you already as a contributor on JupyterHub especially &lt;a href="https://blog.jupyter.org/posts/2019/introducing-traefikproxy-a-new-jupyterhub-proxy-based/"&gt;your work adding support for using Traefik as a proxy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo&lt;/em&gt;: Hey Tim! Thank you, it’s been a really amazing experience to work on JupyterHub. I’m really excited for this next year’s journey.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tim:&lt;/em&gt; You are the very first Contributor in Residence. Can you explain a little what this means?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo:&lt;/em&gt; The CIR role is about helping make the little things around the projects be amazing. Little things like answering newly opened issues, guide people towards the right place for discussion, improve bits of documentation or code, helping with releases, give people the right tools to make great contributions. And I have a great team of existing contributors to work with.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tim:&lt;/em&gt; That’s right! My role in all this is to be a mentor and guide. JupyterHub and Binder have a small team that does a good job looking after the main repositories, but the universe of JupyterHub and Binder repositories is huge. So sometimes things get overlooked or missed. For example Pull Requests or Issues in one of the less-popular repositories can go for a long time without getting attention. This may hold up progress somewhere else, and people have a bad experience contributing to the project.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo:&lt;/em&gt; Hopefully we can improve on this a bit so that more people have a great experience when contributing.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Tim&lt;/em&gt;: Let’s find out a bit more about you. What did you do before getting involved with JupyterHub?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo&lt;/em&gt;: I studied computer science in Bucharest spending the last semester developing my bachelor’s project as an Erasmus exchange student in Madrid. During summers I worked in the industry, doing a few internships abroad. I tried to gain as much practical experience as possible, to get in touch with different people and cultures, and interning seemed like the right move.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tim&lt;/em&gt;: How did you get involved with JupyterHub?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo&lt;/em&gt;: I got involved with JupyterHub thanks to the amazing &lt;a href="https://www.outreachy.org/"&gt;Outreachy community&lt;/a&gt;. The Outreachy program introduced me to the world of opensource and guided me through my first steps. I now feel very lucky to have applied for the Outreachy internship &lt;a href="https://blog.jupyter.org/posts/2018/outreachy-jupyter-supporting-diversity-in-open/"&gt;at the same time that JupyterHub came up with two amazing projects&lt;/a&gt;. I chose JupyterHub because I “clicked” with the TraefikProxy project and I was happy to find a very welcoming community that made contributing a very pleasant and not at all a scary experience.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tim&lt;/em&gt;: Have you turned into someone who spends all their time contributing or do you still have other hobbies?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Georgiana&lt;/em&gt;: Because I currently live in the busiest/loudest city of Romania, I love to escape it at the end of the week and spend some time in nature. My favorite place to be is the village I grew up in, where I recharge my batteries walking my dogs and cooking with my mother and sister. I like painting and photography and sometimes I do both using the photos I take as an inspiration for my paintings.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Tim&lt;/em&gt;: Moving on to the things you will be doing as CIR, have you already picked out something to get started with?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo&lt;/em&gt;: At first, I will be focusing on trying to get an overview of what issues are feature requests, support questions and which have been solved already. I will also spend some time getting familiar with more of the JH/Binder projects. And what better way to learn about a project than to try and use it, and to be a first time contributor.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tim&lt;/em&gt;: If you had to name the top three goals you hope to achieve while being contributor in residence, what would those be?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo&lt;/em&gt;: From the perspective of someone with still a lot to learn and figure out, I would be extremely happy if during this year I will grow to be the CIR this community needs. I would love to help improve the contributing experience, increase the overall productivity of the projects and become a better contributor myself.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Tim&lt;/em&gt;: How can people interact with you?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo&lt;/em&gt;: People can use the usual community communication channels, GitHub, Gitter and Discourse to provide feedback or ask questions and I’ll do my best to help out.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tim&lt;/em&gt;: Now that we have a CIR, do people still need to contribute to the projects?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo&lt;/em&gt;: Definitely! People are always welcome to contribute. The CIR role wasn’t created to replace anything, but to be an extra pair of hands helping the daily activities around the community become more efficient.&lt;/li&gt;
&lt;li&gt;Tim: How can people stay engaged with the CIR program or the broader JupyterHub community moving forward?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Geo:&lt;/em&gt; As the CIR, I am a team member just like anyone else, and the best way to stay connected is to connect is through our team channels — we have team discussions in the &lt;a href="https://discourse.jupyter.org/"&gt;Jupyter Community Forum&lt;/a&gt;, and team information in the &lt;a href="https://jupyterhub-team-compass.readthedocs.io/en/latest/"&gt;JupyterHub Team Compass repository&lt;/a&gt; (including &lt;a href="https://jupyterhub-team-compass.readthedocs.io/en/latest/meetings.html"&gt;monthly team meetings&lt;/a&gt; that anyone is welcome to join).&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
</content><category term="Binder"/><category term="community"/><category term="funding"/><category term="JupyterHub"/></entry><entry><title>Jupyter meets the Earth</title><link href="https://blog.jupyter.org/posts/2019/jupyter-meets-the-earth/" rel="alternate"/><published>2019-09-09T17:48:00+00:00</published><updated>2020-08-07T17:34:00+00:00</updated><author><name>Lindsey Heagy</name></author><id>tag:blog.jupyter.org,2019-09-09:/posts/2019/jupyter-meets-the-earth/</id><summary type="html">&lt;p&gt;We are thrilled to announce that the NSF is funding our EarthCube proposal “Jupyter meets the Earth: Enabling discovery in geoscience through interactive computing at scale” (pdf).&lt;/p&gt;</summary><content type="html">&lt;p class="standalone-image"&gt;&lt;img src="https://blog.jupyter.org/posts/2019/jupyter-meets-the-earth/images/001-1_s3i12gpdCYyM0srHQkPZnw.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;We are thrilled to announce that the NSF is funding our EarthCube proposal &lt;em&gt;“Jupyter meets the Earth: Enabling discovery in geoscience through interactive computing at scale”&lt;/em&gt; (&lt;a href="https://doi.org/10.5281/zenodo.3369938"&gt;pdf&lt;/a&gt;). The team working on this project consists of Fernando Pérez [1, 2, 3], Joe Hamman [4], Laurel Larsen [5], Kevin Paul [6], Lindsey Heagy [1], Chris Holdgraf [1, 2] and Yuvi Panda [7]. Our project team includes members from the &lt;a href="https://jupyter.org"&gt;Jupyter&lt;/a&gt; and &lt;a href="http://pangeo.io/"&gt;Pangeo&lt;/a&gt; communities, with representation across the geosciences including climate modeling, water resource applications, and geophysics. Three active research projects, one in each domain, will motivate developments in the Jupyter and Pangeo ecosystems. Each of these research applications demonstrates aspects of a research workflow which requires scalable, interactive computational tools.&lt;/p&gt;
&lt;p&gt;In this project we intend to follow the patterns that have made Jupyter an effective and successful platform: we will drive the development of computational machinery by concrete use cases from our own experience and research needs, and then find the appropriate points for extension, abstraction, and generalization. We are motivated to advancing research of contemporary importance in geoscience, and are equally committed to producing work that leads to broad impact, general use infrastructure that benefits scientists, educators, industry, and the general community.&lt;/p&gt;
&lt;p&gt;The adoption of open languages such as Python and the coalescence of communities of practice around open-source tools, is visible in nearly every domain of science. This is a fundamental shift in how science is conducted and shared. In recent years, there have been several high-profile examples in which open tools from the Python and Jupyter ecosystems played an integral role in the research, from data analysis to the dissemination of results. These include the first image of a black hole from the &lt;a href="https://eventhorizontelescope.org/"&gt;Event Horizon Telescope team&lt;/a&gt; and the detection of gravitational waves by the &lt;a href="https://www.caltech.edu/about/news/gravitational-waves-detected-100-years-after-einstein-s-prediction-49777"&gt;LIGO collaboration&lt;/a&gt;. The utility of open-source software in projects like these and the success of open communities such as Pangeo, provide evidence of the force-multiplying impact of investing in an ecosystem of open, community-driven tools. Through this project, we will advance this open paradigm in geoscience research, while strengthening and improving the infrastructure that supports it. We made this argument when discussing the intended impacts of our proposal, and we are pleased that the NSF is investing in this vision.&lt;/p&gt;
&lt;h2 id="geoscience-use-cases"&gt;Geoscience use cases&lt;/h2&gt;
&lt;p&gt;Given our project’s aims and approach, participating actively in domain research is crucial to our success. The following descriptions are meant to offer a flavour of the research questions we are tackling, each led by a geoscientist in the team.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CMIP6 climate data analysis (Hamman).&lt;/strong&gt; The &lt;a href="https://www.wcrp-climate.org/wgcm-cmip"&gt;World Climate Research Program’s Coupled Model Intercomparison Project&lt;/a&gt; is now in its sixth phase and is expected to provide the most comprehensive and robust projections of future climate predictions. When complete, the archive is expected to exceed 18 PB in size. In the coming years, this collection of climate model experiments will form the basis for fundamental research, climate adaptation studies, and policy initiatives. While the CMIP6 dataset is likely to hold new answers to many pressing climate questions, the sheer volume of data is likely to present significant challenges to researchers. Indeed, new tools for scalable data analysis, machine learning, and inference are required to make the most out of these data.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Large-Scale Hydrologic Modeling (Larsen).&lt;/strong&gt; Streamflow forecasts are a valuable tool for flood mitigation and water management. Creating these forecasts requires that a variety of data types be brought together including model-generated streamflow estimates, sensor-based observations of water discharge, and hydrometeorological forcing factors, such as precipitation, temperature, relative humidity, and snow-water equivalent. The integration of simulated and observed data over disparate spatial and temporal scales creates new avenues for exploring data science techniques for effective water management.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Geophysical inversions (Heagy).&lt;/strong&gt; Geophysical inversions construct models of the subsurface by combining simulations of the governing physics with optimization techniques. These models are critical tools for locating and managing natural resources, such as groundwater, or for assessing the risk from natural hazards, such as volcanoes. Today, we need models applicable to increasingly complex scenarios, such as the socially delicate task of developing groundwater management policies in water-limited regions. This will require the development of new techniques for combining multiple geophysical data sets in a joint inversion, as well as the use of statistical and data science methods for including geologic and hydrologic data in the construction of 3D models.&lt;/p&gt;
&lt;p&gt;These scientific problems exhibit, each with its own flavour, similar technical challenges with respect to handling large volumes of data, performing expensive computations, and doing both of these as a part of the interactive, exploratory workflow that is necessary for scientific discovery.&lt;/p&gt;
&lt;h2 id="jupyter-pangeo-empowering-scientists"&gt;Jupyter &amp;amp; Pangeo: empowering scientists&lt;/h2&gt;
&lt;p&gt;Jupyter and Pangeo are both open communities that share the goal of developing tools and practices for interactive scientific workflows; these tools aim to deliver practical value to scientists who, in the course of everyday research, face a combination of big data and large-scale computing needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Project Jupyter&lt;/strong&gt; creates open-source tools and standards for interactive computing. These span the spectrum from low-level protocols for running code interactively up to &lt;a href="https://blog.jupyter.org/posts/2018/jupyterlab-is-ready-for-users/"&gt;the web-based JupyterLab interface&lt;/a&gt; that a researcher uses. Jupyter is agnostic of programming language: over &lt;a href="https://github.com/jupyter/jupyter/wiki/Jupyter-kernels"&gt;130 different Jupyter kernels exist&lt;/a&gt;, and they provide support for most programming languages in widespread use today. Jupyter can be run on a laptop, in an HPC center, or in the cloud. Shared-infrastructure deployments (e.g. HPC / cloud) are enabled by JupyterHub, a component in the Jupyter toolbox that supports the deployment and management of Jupyter sessions for multiple users. The development process of tools in the Jupyter ecosystem is community-oriented and includes a diverse set of stakeholders across research, education, and industry. The project has a strong tradition of building tools that are first designed to solve specific problems, and then generalized to other users and applications.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;Pangeo Platform&lt;/strong&gt; is a modular composition of open, community-driven projects, tailored to the scientific needs of a specific scientific domain. In its simplest form, it is based on the following generic components: a browser-based user interface (&lt;a href="https://jupyter.org"&gt;Jupyter&lt;/a&gt;), a data model and analytics toolkit (&lt;a href="http://xarray.pydata.org"&gt;Xarray&lt;/a&gt;), a parallel job distribution system (&lt;a href="https://dask.org/"&gt;Dask&lt;/a&gt;), a resource management system (either &lt;a href="https://kubernetes.dask.org/en/latest/"&gt;Kubernetes&lt;/a&gt; or a job queuing system such as &lt;a href="https://jobqueue.dask.org/"&gt;PBS&lt;/a&gt;), and a storage system (either cloud object store or traditional HPC file system). These are complemented by problem- and domain-specific libraries.&lt;/p&gt;
&lt;p&gt;This modular design allows for individual components to be readily exchanged and the system to be applied in new use cases. &lt;a href="https://medium.com/pangeo/announcing-pangeo-earthcube-award-fefbe54acbec"&gt;Pangeo was created by, and for, geoscientists&lt;/a&gt; faced with large-scale data and computation challenges, but such problems are now common in science. Researchers in a variety of disciplines including neuroscience and astrophysics are working to adapt the Pangeo design pattern for their communities. Beyond the initial Pangeo deployments supported by the NSF EarthCube grant for Pangeo, the platform has been adopted internationally, including by the &lt;a href="https://medium.com/pangeo/whats-so-cool-about-pangeo-974598f4bafc"&gt;UK Met office&lt;/a&gt;. It has also supported new research and education efforts from other federal agencies, such as NASA’s HackWeek focused on the analysis of &lt;a href="https://medium.com/pangeo/icesat-2-hackweek-mix-70-scientists-and-1-pangeo-jupyterhub-for-5-days-and-what-do-you-get-85f5267a4dfa"&gt;ICESat-2 data&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="user-centered-development"&gt;User-Centered Development&lt;/h2&gt;
&lt;p&gt;Pushing the boundaries of any toolset unveils areas for improvement and opportunities for developments that streamline and upgrade the user experience. We aim to take a holistic view of the scientific discovery process, from initial data acquisition through computational analysis to the dissemination of findings. Our development efforts will make technological improvements within the Jupyter and Pangeo ecosystems in order to reduce pain-points along the discovery lifecycle and to advance the infrastructure that serves scientists. Following established patterns in Jupyter’s development, we take a user-first, needs-driven approach and then generalize these ideas to work across related fields. Broadly, there are 4 areas along the research lifecycle where we will invest development efforts, which we discuss next.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Data discovery.&lt;/strong&gt; An early step in the research process is locating and acquiring data of interest. Data catalogs provide a way to expose datasets to the community in a way that is structured. Within the geosciences, there are a number of emerging community standards for data catalogs (e.g. THREDDS, STAC). To streamline access to such data sets, we plan to develop JupyterLab extensions which provide a user-interface that exposes these catalogs to researchers. This work will build upon the &lt;a href="https://github.com/jupyterlab/jupyterlab/issues/5548"&gt;JupyterLab Data Registry&lt;/a&gt;, which will provide a consistent set of standards for how data can be consumed and displayed by extensions in the Jupyter ecosystem, as well as &lt;a href="https://intake.readthedocs.io/en/latest/index.html"&gt;Intake&lt;/a&gt;, a lightweight library for finding, loading, and sharing data which is already serving the Pangeo community. Our communities are already &lt;a href="https://github.com/jupyterlab/jupyterlab-data-explorer/issues/51"&gt;discussing potential avenues for integration&lt;/a&gt; between these tools.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scientific discovery through interactive computing.&lt;/strong&gt; The Jupyter Notebook has been adopted by many scientists because it supports an iterative, exploratory workflow combining code and narrative. Beyond code, text, and images, Jupyter supports the creation of Graphical User Interfaces (GUIs) with minimal programming effort on the part of the scientist. The &lt;a href="https://jupyter.org/widgets"&gt;Jupyter widgets framework&lt;/a&gt; lets scientists create a “Research GUI” that combines scientific code with interactive elements such as sliders, buttons and menus in just a single line of code, while still allowing for extensive customization and more complex interfaces when required. In this project, we will develop custom widgets tailored at the specific scientific needs of each of our driving use cases.&lt;/p&gt;
&lt;p&gt;Beyond their utility in the exploratory phase of research, interactive interfaces, or “dashboards” provide a mechanism for delivering custom scientific displays to collaborators, stakeholders, and students for whom the details of the code may not be pertinent. &lt;a href="https://blog.jupyter.org/posts/2019/and-voila/"&gt;Voilà&lt;/a&gt; is a project, led by the &lt;a href="http://quantstack.net"&gt;QuantStack&lt;/a&gt; team, that enables dashboards to be generated from Jupyter notebooks. We plan to develop interactive dashboards using Voilà for our geoscience use-cases, contribute generic improvements to the Voilà codebase, and provide a demonstration of how researchers can deploy dashboards to share their research.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Research GUIs to explore Maxwell’s equations in research and education. Photo credit: SEOGI KANG" src="https://blog.jupyter.org/posts/2019/jupyter-meets-the-earth/images/002-1_djLNdz13Z4kickGSQFCNUQ.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;Research GUIs to explore Maxwell’s equations in research and education. Photo credit: SEOGI KANG&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;Established tools and data visualization.&lt;/strong&gt; Many widely-used tools, particularly for visualization (e.g. Ncview, Paraview), are desktop-based applications and therefore cannot easily be used in cloud or HPC workflows. In some cases, modern, open-source alternatives are available. But often for specialized tasks, modern tools may not yet have functionality equivalent to the desktop version. JupyterHub can readily serve non-Jupyter web-native software applications such as RStudio, Shiny applications, and Stencila to users; under this project we aim to extend JupyterHub to also be able to serve desktop-native applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Using and managing shared computational infrastructure.&lt;/strong&gt; JupyterHub makes it possible to manage computing resources, user accounts, and provide access to computational environments online. Currently, JupyterHubs in the Pangeo project are deployed and maintained using the &lt;a href="http://z2jh.jupyter.org/en/latest/"&gt;Zero to JupyterHub guide&lt;/a&gt; alongside the &lt;a href="https://hubploy.readthedocs.io/en/latest/"&gt;HubPloy library&lt;/a&gt;. Together, these libraries have simplified the initial setup and automated upgrades to the Hubs. There are still many improvements that can make JupyterHub more suitable for larger, more complex deployments, both in terms of managing users and efficiently allocating resources. Under this project, we plan to build tools which collect metrics such as CPU and memory usage and expose these to both users and administrators so they can make more efficient use of the Hub. For shared deployments, we will improve user management so that user-groups can be used to manage permissions and allocations, and so that usage can be tracked and appropriately billed to the relevant grants. Within the HubPloy library, we also plan to make improvements to streamline continuous deployments so that installation and upgrade processes are repeatable and reliable.&lt;/p&gt;
&lt;h2 id="an-opportunity-for-meaningful-impact-join-us"&gt;An opportunity for meaningful impact — join us!&lt;/h2&gt;
&lt;p&gt;The impacts of climate change and the need for data-driven management of resources are some of the most critical and complex challenges facing society today. In recent years, we have experienced severe droughts in California and are in the midst of water management crises in the Central Valley, while devastating wildfires have destroyed entire communities. Through this partnership between researchers and Jupyter developers, we hope to contribute to the advancement of science-based solutions to these challenges, both by contributing directly to the research and by improving the open ecosystem of tools available to researchers and the stakeholders impacted by these issues.&lt;/p&gt;
&lt;p&gt;If developing open-source tech to advance research in geoscience and beyond excites you, then please &lt;a href="mailto:lheagy@berkeley.edu;fernando.perez@berkeley.edu"&gt;get in touch&lt;/a&gt;! At UC Berkeley, we will be hiring in 2 positions: a dev-ops position focussed on JupyterHub and shared infrastructure deployments, and a JupyterLab-oriented role focussed on extensions, dashboards, and interactivity. There will also be a position opening up at NCAR for a software engineer targeting improvements to improving the user experience of Xarray and Dask workflows.&lt;/p&gt;
&lt;p&gt;Even if you aren’t looking for a new job, there are other ways to get involved with both the Jupyter and Pangeo communities. We welcome new participants to the &lt;a href="https://pangeo.io/meeting-notes.html"&gt;weekly Pangeo meetings&lt;/a&gt; (on Wednesdays alternating between 4p GMT and 8p GMT) and there are &lt;a href="https://discourse.jupyter.org/t/jupyter-community-calls/668"&gt;monthly Jupyter community calls&lt;/a&gt;, which are open and meant to be accessible to a wide audience. Outside of calls, general Jupyter conversations happen on the &lt;a href="https://discourse.jupyter.org"&gt;Jupyter discourse&lt;/a&gt; and Pangeo conversations are typically on the &lt;a href="https://github.com/pangeo-data/pangeo"&gt;Pangeo GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="in-closing-a-step-toward-sustainable-open-science"&gt;In closing: a step toward sustainable open science&lt;/h2&gt;
&lt;p&gt;This project provides our team with $2 Million in funding over 3 years as a part of the NSF &lt;a href="https://earthcube.org/"&gt;EarthCube&lt;/a&gt; program. It also represents the first time federal funding is being allocated for the development of core Jupyter infrastructure.&lt;/p&gt;
&lt;p&gt;The open source ecosystem that Jupyter and Pangeo belong to has become part of the backbone that supports much of today’s computation in science, from astronomy and cosmology to microbiology and subatomic physics. Such broad usage represents a victory for this open and collaborative model of building scientific tools. Much of this success has come through the efforts of scientists and engineers who are committed to an open model of science, but who have had to work with little direct funding, minimal institutional support, and few viable career paths within science.&lt;/p&gt;
&lt;p&gt;There is real strategic risk to continuing with the implicit assumption that scientific open-source tools can be developed and maintained “for free.” If open, community-driven tools are to sustainably grow into the computational backbone of science, we need to recognize this role and support those who create them as regular members of the scientific community (we recently talked about this in more detail in a &lt;a href="http://www.tvworldwide.com/events/nsf/190815"&gt;talk at NSF headquarters&lt;/a&gt;). Projects like ours, where funding and resources are explicitly allocated toward this goal, are a step in the right direction. We hope that our experiences will contribute to ongoing conversations in the scientific community around these complex issues.&lt;/p&gt;
&lt;p&gt;In the past, we have tried to maintain a close relationship between domain problems and software development in Jupyter. However, this has typically been done in an ad-hoc manner, either by “hiding” the software development under the cover of science or by having funding to Jupyter alone. This is the first project where we explicitly partner with a team of domain scientists to simultaneously drive forward domain research and the development of Jupyter infrastructure.&lt;/p&gt;
&lt;p&gt;We are excited about this opportunity and hope to be able to demonstrate that investing in open tools can be a force-multiplier of resources. As always, our work will be done openly, transparently, and with constant community engagement. We look forward to your critiques, ideas, and contributions to make this effort as successful as possible.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
&lt;h2 id="acknowledgments"&gt;Acknowledgments&lt;/h2&gt;
&lt;p&gt;Thanks to Joe Hamman, Chris Holdgraf, and Doug Oldenburg for constructive feedback and edits on this blog post.&lt;/p&gt;
&lt;p&gt;Many thanks to &lt;a href="https://www.ldeo.columbia.edu/user/rpa"&gt;Ryan Abernathey (Columbia)&lt;/a&gt;, &lt;a href="https://www.usgs.gov/staff-profiles/paul-a-bedrosian?qt-staff_profile_science_products=3#qt-staff_profile_science_products"&gt;Paul Bedrosian (USGS)&lt;/a&gt;, &lt;a href="https://quantstack.net/sylvain.html"&gt;Sylvain Corlay (QuantStack)&lt;/a&gt;, &lt;a href="https://www.usgs.gov/staff-profiles/richard-p-signell?qt-staff_profile_science_products=0#qt-staff_profile_science_products"&gt;Rich Signell (USGS)&lt;/a&gt;, and &lt;a href="https://www.nersc.gov/about/nersc-staff/data-analytics-services/rollin-thomas/"&gt;Rollin Thomas (NERSC)&lt;/a&gt;, who provided us with letters of support for this project; we look forward to working with you all! We are also grateful to &lt;a href="https://www.nsf.gov/staff/staff_bio.jsp?lan=sumishra"&gt;Shree Mishra&lt;/a&gt;, our NSF Program Director on this project, and to Dave Stuart for their support as we move forward with the project. This project is a part of the to the EarthCube program and we look forward to engaging with its working group.&lt;/p&gt;
&lt;p&gt;Finally, the sustained growth of Jupyter to the large-scale project that it has become would not have happened without the generous support of the Alfred P. Sloan, the Gordon and Betty Moore, and the Helmsley Foundations, as well as the leadership of Josh Greenberg and Chris Mentzel respectively at Sloan and Moore.&lt;/p&gt;
&lt;p&gt;This work is supported by the NSF EarthCube program under awards 1928406, 1928374&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="affiliations"&gt;Affiliations&lt;/h2&gt;
&lt;p&gt;[1] UC Berkeley, Statistics Department&lt;/p&gt;
&lt;p&gt;[2] UC Berkeley, Berkeley Institute for Data Science&lt;/p&gt;
&lt;p&gt;[3] Lawrence Berkeley National Lab, Computational Research Division&lt;/p&gt;
&lt;p&gt;[4] National Center for Atmospheric Research, Climate and Global Dynamics Laboratory&lt;/p&gt;
&lt;p&gt;[5] UC Berkeley, Department of Geography&lt;/p&gt;
&lt;p&gt;[6] National Center for Atmospheric Research, Computational Information Systems Laboratory&lt;/p&gt;
&lt;p&gt;[7] UC Berkeley, Division of Data Sciences&lt;/p&gt;
</content><category term="funding"/><category term="geoscience"/><category term="science"/></entry><entry><title>Continuum Analytics donates $100k to Project Jupyter</title><link href="https://blog.jupyter.org/posts/2015/continuum-analytics-gift/" rel="alternate"/><published>2015-12-15T16:59:00+00:00</published><updated>2015-12-16T01:21:00+00:00</updated><author><name>Brian Granger</name></author><id>tag:blog.jupyter.org,2015-12-15:/posts/2015/continuum-analytics-gift/</id><summary type="html">&lt;p&gt;If you are a user of the Jupyter Notebook, you are probably familiar with Continuum Analytics. Continuum is well known in the data science space for their Anaconda Python Distribution, which eases the pain of installing the Jupyter Notebook and many other open-source Python and R packages.&lt;/p&gt;</summary><content type="html">&lt;p&gt;If you are a user of the Jupyter Notebook, you are probably familiar with &lt;a href="https://www.continuum.io/"&gt;Continuum Analytics&lt;/a&gt;. Continuum is well known in the data science space for their Anaconda Python Distribution, which eases the pain of installing the Jupyter Notebook and many other open-source Python and R packages.&lt;/p&gt;
&lt;p&gt;Continuum is also an Institutional Partner and long time collaborator with Project Jupyter. Damian Avila (Jupyter Steering Council member) and a number of other Jupyter Contributors work with and for Continuum. Furthermore, the open-source project, &lt;a href="http://phosphorjs.github.io"&gt;phosphor.js&lt;/a&gt;, is being developed at Continuum under the leadership of Chris Colbert, in partnership with Bloomberg. Phosphor.js is being used as the foundation for the next-generation of the official Jupyter Notebook frontend, called &lt;a href="https://github.com/jupyter/roadmap"&gt;JupyterLab&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Today we are pleased to announce a new aspect of Continuum’s support for Project Jupyter. Continuum has made a research gift of $100,000 to the project through Fernando Perez (UC Berkeley and the Lawrence Berkeley National Laboratory) and Brian Granger (Cal Poly). This funding will enable the project to strengthen its core activities and expand into new areas that existing funding doesn’t cover.&lt;/p&gt;
&lt;p&gt;Fernando Perez, creator of IPython and co-founder of Project Jupyter, describes the significance of the funding in the following terms:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As the adoption and usage of the Jupyter Notebook has grown dramatically over the last few years, the project faces new challenges expanding in multiple directions at once. Continuum’s financial support helps us build the project’s foundations to ensure we can continue creating a valuable research, education and industrial data science platform for years to come.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We would like to thank Continuum for their contributions, and are looking forward to working with them in the future.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
</content><category term="funding"/></entry><entry><title>New funding for Jupyter</title><link href="https://blog.jupyter.org/posts/2015/new-funding-for-jupyter/" rel="alternate"/><published>2015-07-08T03:34:00+00:00</published><updated>2017-08-28T19:43:00+00:00</updated><author><name>Fernando Pérez</name></author><id>tag:blog.jupyter.org,2015-07-08:/posts/2015/new-funding-for-jupyter/</id><summary type="html">&lt;p&gt;We are pleased to announce that the Jupyter/IPython project has received $6M in funding from three organisations: the Leona M. and Harry B. Helmsley Charitable Trust, the Gordon and Betty Moore Foundation and the Alfred P. Sloan Foundation.&lt;/p&gt;
</summary><content type="html">&lt;p class="standalone-image"&gt;&lt;img src="https://blog.jupyter.org/posts/2015/new-funding-for-jupyter/images/001-1_3AfgbRQ1LyjE6hVwWVU8zw.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;We are pleased to announce that the Jupyter/IPython project has received $6M in funding from three organisations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href="http://helmsleytrust.org/news/uc-berkeley-and-cal-poly-expand-and-enhance-open-source-software-scientific-computing-and-data"&gt;Leona M. and Harry B. Helmsley Charitable Trust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://www.moore.org/newsroom/press-releases/2015/07/07/$6m-for-uc-berkeley-and-cal-poly-to-expand-and-enhance-open-source-software-for-scientific-computing-and-data-science"&gt;Gordon and Betty Moore Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://www.sloan.org/"&gt;Alfred P. Sloan Foundation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The grant, which is being made both to the &lt;a href="http://news.berkeley.edu/2015/07/07/jupyter-project/"&gt;University of California, Berkeley&lt;/a&gt; and &lt;a href="http://www.calpolynews.calpoly.edu/news_releases/2015/July/jupyter.html"&gt;California Polytechnic State University, San Luis Obispo&lt;/a&gt;, will support the project for three years and includes new collaborations with the &lt;a href="http://www.ngcm.soton.ac.uk"&gt;University of Southampton&lt;/a&gt;, and the &lt;a href="https://www.simula.no/"&gt;Simula Research Lab&lt;/a&gt; in Norway.&lt;/p&gt;
&lt;p&gt;With these resources, our team will expand the reach of the Jupyter Notebook in research, education and industry, emphasizing collaborative data science, the creation of interactive dashboards, and tools for using the notebook in rich documentation workflows.&lt;/p&gt;
&lt;p&gt;The complete text of our grant proposal can be found here: ( &lt;a href="https://blog.jupyter.org/posts/2015/project-jupyter-computational-narratives/"&gt;html&lt;/a&gt; | &lt;a href="http://archive.ipython.org/JupyterGrantNarrative-2015.pdf"&gt;pdf&lt;/a&gt; ). In brief, these are some of the main areas on which we will focus during the next three years:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We aim to greatly improve the experience of collaboration and sharing with notebooks. Our team has &lt;a href="https://developer.rackspace.com/blog/deploying-jupyterhub-for-education/"&gt;already shown how to deploy Jupyter Hub in complex educational scenarios&lt;/a&gt;. Building on this, we will define a sharing and access model that makes sense when code execution is an integral part of the documents.&lt;/li&gt;
&lt;li&gt;We also want to tackle the complex challenge of real-time, multi-user collaborative editing and execution of notebooks. This continues our ongoing partnersnip &lt;a href="http://googleresearch.blogspot.com/2014/08/doing-data-science-with-colaboratory.html"&gt;with researchers at Google&lt;/a&gt;.
&lt;img src="https://blog.jupyter.org/posts/2015/new-funding-for-jupyter/images/g002-ScreenShot-Lorenz.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/li&gt;
&lt;li&gt;We want to make components of the notebook readily reusable in completely different applications, so that various interfaces can quickly leverage our JavaScript infrastructure for interactive computation. Projects like &lt;a href="https://oreillymedia.github.io/thebe/"&gt;Thebe&lt;/a&gt; from O’Reilly, and the &lt;a href="https://atom.io/packages/hydrogen"&gt;Hydrogen editor plug in&lt;/a&gt; are early examples of such applications; we plan to make the architecture more flexible and easier to use.&lt;/li&gt;
&lt;li&gt;We will develop new tools to improve the management of notebooks as documents. This includes better documentation of our own project as well as integration with technical documenation systems like Sphinx, electronic publishing formats like ePub, and stronger partnerships with the publishing community, from traditional journals to novel models. In particular, we want to leverage &lt;a href="https://github.com/jupyter/tmpnb"&gt;tmpnb&lt;/a&gt; and &lt;a href="https://github.com/oreillymedia/thebe"&gt;Thebe&lt;/a&gt; to allow any project to have live, executable examples in their documentation.&lt;/li&gt;
&lt;li&gt;The community is a key component to our success, and we want to recognize that more. It is always thrilling to see other projects using our architecture; with &lt;a href="https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages"&gt;more than 40 kernels now available&lt;/a&gt;, and a growing ecosystem of frontends and related tools, it is hard to keep track of all things Jupyter. This is why we will start organizing an annual Jupyter Conference, targeted at developers who want to build their own tools with our platform, and as a way for our team to better understand the needs of our community. We also have reserved resources for Jupyter Days, small, community-driven events that we can support where we hope to seed local knowledge and activity beyond our core team. We will communicate more on all these in the coming weeks and months.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch this space as we ramp up with our new resources. We will be making a number of announcements for job openings, including some &lt;a href="https://www.calpolycorporationjobs.org/postings/736"&gt;great opportunities at Cal Poly that are already out, so apply if you are interested!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We would like to thank the generous support of these three foundations, and look forward to working with them over the next three years on advancing this effort.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
</content><category term="funding"/></entry><entry><title>Project Jupyter: Computational Narratives as the Engine of Collaborative Data Science</title><link href="https://blog.jupyter.org/posts/2015/project-jupyter-computational-narratives/" rel="alternate"/><published>2015-07-08T01:45:00+00:00</published><updated>2023-08-12T20:54:00+00:00</updated><author><name>Fernando Pérez</name></author><id>tag:blog.jupyter.org,2015-07-08:/posts/2015/project-jupyter-computational-narratives/</id><summary type="html">&lt;p&gt;Note: this is the full text of the grant proposal that was funded by the Helmsley Trust, the Gordon and Betty Moore Foundation and the Alfred P. Sloan Foundation on April 2015, as described on these two announcements from UC Berkeley and Cal Poly, and press releases from the Helmsley Trust and the…&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; this is the full text of the grant proposal that was funded by the Helmsley Trust, the Gordon and Betty Moore Foundation and the Alfred P. Sloan Foundation on April 2015, as described on these two announcements from &lt;a href="http://news.berkeley.edu/2015/07/07/jupyter-project/"&gt;UC Berkeley&lt;/a&gt; and &lt;a href="http://www.calpolynews.calpoly.edu/news_releases/2015/July/jupyter.html"&gt;Cal Poly&lt;/a&gt;, and press releases from the &lt;a href="http://helmsleytrust.org/news/uc-berkeley-and-cal-poly-expand-and-enhance-open-source-software-scientific-computing-and-data"&gt;Helmsley Trust&lt;/a&gt; and the &lt;a href="https://www.moore.org/newsroom/press-releases/2015/07/07/$6m-for-uc-berkeley-and-cal-poly-to-expand-and-enhance-open-source-software-for-scientific-computing-and-data-science"&gt;Moore Foundation&lt;/a&gt;. A PDF version of this document &lt;a href="https://blog.jupyter.org/posts/2015/project-jupyter-computational-narratives/JupyterGrantNarrative-2015.pdf"&gt;can be found here&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Fernando Perez,&lt;/strong&gt; Lawrence Berkeley National Lab &amp;amp; UC Berkeley&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Brian E. Granger,&lt;/strong&gt; Cal Poly San Luis Obispo&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="statement-of-the-problem-and-audience"&gt;Statement of the problem and audience&lt;/h2&gt;
&lt;p&gt;Computers are good at consuming, producing and processing data. Humans, on the other hand, process the world through narratives. Thus, in order for data, and the computations that process and visualize that data, to be useful for humans, they must be embedded into a narrative — a &lt;em&gt;computational narrative&lt;/em&gt; — that tells a story for a particular audience and context. There are three fundamental aspects of these computational narratives that frame the problem we seek to address. First, a single computational narrative needs to span a wide range of contexts and audiences. For example, a biomedical researcher might originally perform statistical analyses and visualizations for a highly technical paper to be published in an academic journal. Over time, however, that same individual will give talks to other researchers, or even non-technical audiences. Eventually, it may even be important to enable non-coding lab scientists to perform that same statistical analyses and visualizations on data from new samples using a simplified graphical user interface. Across all of these different audiences and contexts, core aspects of the computational narrative remain invariant. Second, these computational narratives need to be reproducible. That is, other people — including the same scientist six months later — need to be able to understand exactly what was done (code, data and narrative) and be able to reliably reproduce the work in order to build new ideas off it. Reproducibility has long been one of the foundations of the scientific method, but the rise of data science brings new challenges to scientific reproducibility, while simultaneously extending these questions to other domains like policy making, government or journalism. Third, computational narratives are created in collaboration. Multiple individuals need the ability to work together at the same time, on the code, data and narrative. Collaboration is present in nearly all contexts where computational narratives are created: between two postdocs and a professor in the same research group; between the writers, editors and visual designers of an online news site; between the data scientists and business strategists at a large internet company; or between a teacher and students in a university classroom.&lt;/p&gt;
&lt;p&gt;Given this background, the core problem we are trying to solve is &lt;em&gt;the collaborative creation of reproducible computational narratives that can be used across a wide range of audiences and contexts&lt;/em&gt;. We propose to accomplish this through Project Jupyter (formerly IPython), a set of open-source software tools for interactive and exploratory computing. These software projects support scientific computing and data science across a wide range of programming languages (Python, Julia, R, etc.) and already provide basic reproducibility and collaboration features. This grant aims at making major progress atop this foundation. The main application offered by Project Jupyter is the Jupyter Notebook, a web-based interactive computing platform that allows users to author computational narratives that combine live code, equations, narrative text, interactive user interfaces and other rich media. These documents provide a complete record of a computation that can be converted to a number of formats (HTML, PDF, etc.) and shared with others through email, Dropbox, GitHub, etc. They can also be published online thanks to our Jupyter Notebook Viewer, a free service we operate that allows anyone on the web to view a notebook as a regular web page.&lt;/p&gt;
&lt;h2 id="related-work-and-collaborations"&gt;Related work and collaborations&lt;/h2&gt;
&lt;p&gt;In this section, we describe related work in two areas: interactive computing and online collaboration software. After that, we detail the various organizations with which we have significant collaborations. There are a number of interactive computing environments that have similarities to our work with Project Jupyter. The largest group of products, by number of users, are the traditional commercial interactive computing environments: Matlab&lt;sup class="footnote-ref"&gt;&lt;a href="#fn1" id="fnref1"&gt;[1]&lt;/a&gt;&lt;/sup&gt;, Mathematica&lt;sup class="footnote-ref"&gt;&lt;a href="#fn2" id="fnref2"&gt;[2]&lt;/a&gt;&lt;/sup&gt;, SAS&lt;sup class="footnote-ref"&gt;&lt;a href="#fn3" id="fnref3"&gt;[3]&lt;/a&gt;&lt;/sup&gt;, SPSS&lt;sup class="footnote-ref"&gt;&lt;a href="#fn4" id="fnref4"&gt;[4]&lt;/a&gt;&lt;/sup&gt; and Microsoft Excel. While these products are extremely popular, their proprietary nature and expensive licensing fees make them unattractive for open and reproducible scientific research and data science. On the open source side, there are the popular Sage&lt;sup class="footnote-ref"&gt;&lt;a href="#fn5" id="fnref5"&gt;[5]&lt;/a&gt;&lt;/sup&gt; and RStudio&lt;sup class="footnote-ref"&gt;&lt;a href="#fn6" id="fnref6"&gt;[6]&lt;/a&gt;&lt;/sup&gt; projects and the newer Spyder IDE&lt;sup class="footnote-ref"&gt;&lt;a href="#fn7" id="fnref7"&gt;[7]&lt;/a&gt;&lt;/sup&gt;, Beaker Notebook&lt;sup class="footnote-ref"&gt;&lt;a href="#fn8" id="fnref8"&gt;[8]&lt;/a&gt;&lt;/sup&gt;, Zeppelin Project&lt;sup class="footnote-ref"&gt;&lt;a href="#fn9" id="fnref9"&gt;[9]&lt;/a&gt;&lt;/sup&gt;, SageMathCloud&lt;sup class="footnote-ref"&gt;&lt;a href="#fn10" id="fnref10"&gt;[10]&lt;/a&gt;&lt;/sup&gt; and Wakari&lt;sup class="footnote-ref"&gt;&lt;a href="#fn11" id="fnref11"&gt;[11]&lt;/a&gt;&lt;/sup&gt;(Wakari is a proprietary project based on open-source tools). A number of these projects (Sage, Spyder, Beaker, SageMathCloud and Wakari) rely on and provide integration with the Jupyter/IPython architecture. In the area of online collaboration software, there are two gold standards. First, Google Drive&lt;sup class="footnote-ref"&gt;&lt;a href="#fn12" id="fnref12"&gt;[12]&lt;/a&gt;&lt;/sup&gt; has, quite literally, invented modern online collaboration by offering a productive environment that allows multiple, distributed users to simultaneously edit documents, spreadsheets, and slide presentations. For many organizations, these &lt;em&gt;real-time collaboration&lt;/em&gt; capabilities of Google Drive have transformed how distributed teams get work done together. Second, for code and data, git&lt;sup class="footnote-ref"&gt;&lt;a href="#fn13" id="fnref13"&gt;[13]&lt;/a&gt;&lt;/sup&gt; and GitHub&lt;sup class="footnote-ref"&gt;&lt;a href="#fn14" id="fnref14"&gt;[14]&lt;/a&gt;&lt;/sup&gt; have played a similar transformative role in distributed collaboration. The git project is an open source distributed version control system that programmers use to track and share changes in complex software. GitHub is a commercial (but free for public usage) collaboration platform built around git that has become invaluable for companies, open source projects and scientists alike. SageMathCloud and Wakari expose the Jupyter Notebook online and provide some collaboration features. While there are other online code and document collaboration platforms (Bitbucket, Office 365, Hackpad, Etherpad, etc.) all of these are largely inspired by Google Drive and git/GitHub.&lt;/p&gt;
&lt;p&gt;Over the past few years, we have spent significant amounts of time and effort investing in relationships with other individuals and organizations that have overlapping missions, impact areas, user groups and technologies as Project Jupyter. In the area of &lt;em&gt;academic research and education&lt;/em&gt;, we have ongoing collaborations with individuals and departments at Stanford, UW, NYU, MIT, Harvard, Bryn Mawr, U. Southampton, U. Sheffield and Simula Research Lab (Norway). In the area of &lt;em&gt;open science&lt;/em&gt;, we coordinate efforts with the Center for Open Science (Brian Nosek and Jeff Spies) and Software Carpentry (Greg Wilson). In traditional &lt;em&gt;journalism&lt;/em&gt;, we have relationships with staff at 538, BuzzFeed and the New York Times focused around data-driven journalism. In &lt;em&gt;open source software&lt;/em&gt;, we collaborate closely with the core developers of all the major scientific computing and data science projects in Python (NumPy, SciPy, Pandas, Matplotlib, Scikit-Learn, etc.), Julia (core developers) and R (rOpenSci).&lt;/p&gt;
&lt;p&gt;We also work closely with a number of companies that are building products based on the Jupyter Notebook, contribute code and financial resources to the project and serve as advisors on a wide range of technical and strategic topics. Because these collaborations are so important for the ongoing sustainability of Project Jupyter, we wish to highlight a few of these.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt; is an online collaboration and hosting site for software projects and code. For us, GitHub is significant because many users of the Jupyter Notebook host and share their computational narratives, as Jupyter Notebook documents, on GitHub. Our own Notebook Viewer service renders notebooks stored on GitHub as static HTML pages, which can be shared with anyone in the world without their installing anything. We are currently working with Arfon Smith and Tim Clem of GitHub to explore other integration points between GitHub and Project Jupyter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rackspace&lt;/strong&gt; is a commercial cloud hosting company that supports a wide range of open source projects, including Project Jupyter. For the last year, Rackspace has provided significant hosting resources for our popular Notebook Viewer service. This includes one of Rackspace’s engineers, Kyle Kelley, building and maintaining this deployment and making significant contributions to the Jupyter codebase. In the summer of 2014, Kyle, with Rackspace’s explicit support, began a much more ambitious effort to offer cloud-hosted Jupyter Notebooks where users could instantly try a live Jupyter Notebook to run Python, R and Julia code. Thanks to this work, we were able to embed a live demo of the Jupyter Notebook in an article about the project that was published in November of 2014 in Nature&lt;sup class="footnote-ref"&gt;&lt;a href="#fn15" id="fnref15"&gt;[15]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Microsoft&lt;/strong&gt; has been collaborating with the PIs of this grant since 2008, when Dr. Brian Granger added support for Microsoft’s job scheduler to IPython’s parallel computing framework. Since then, Microsoft has added IPython integration to the popular Python Tools for Visual Studio, demonstrated the Jupyter Notebook running in the Microsoft cloud (Azure) and donated $100,000 to the project through NumFOCUS. We are currently working closely with Microsoft to identify future areas of collaboration.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bloomberg&lt;/strong&gt; is one of the largest financial data and news companies in the world. Two individuals at Bloomberg (Jason Grout and Sylvain Corlay) have been approved to contribute to Project Jupyter in an official capacity. Both are regular contributors and have been critical in the design of the project’s interactive widget architecture. This collaboration has led to our working with Chris Colbert and others at Bloomberg to begin designing the next generation of web-based user interfaces. We will use the open-source phosphor.js JavaScript library developed at Bloomberg, needed for this grant’s deliverables. Bloomberg also has an official open source program and policies, including hosting of “Open Source Days” at their headquarters in NYC and London.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google&lt;/strong&gt; approached us in 2014 regarding a prototype of a project, called coLaboratory, that integrates the Jupyter Notebook into Google Drive. Most importantly, this prototype demonstrated that building real-time collaboration into the Jupyter Notebook would be possible. However, this prototype also revealed the incredible technical challenges of doing so. In late 2014, Google donated $100,000 to Fernando Perez at UC Berkeley to hire a postdoc (Matthias Bussonnier) that would begin to extract the Google Drive integration from coLaboratory into Project Jupyter itself. We want to emphasize two aspects of this collaboration. First, the technical challenges in building real-time collaboration into the Jupyter Notebook are so significant that we could not do this without close collaboration with Google. Second, the effort required to implement this in Project Jupyter requires resources that extend &lt;em&gt;far&lt;/em&gt; beyond those provided to us by Google.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;O’Reilly Media&lt;/strong&gt; is a major publisher of technology focused books and online content as well as the organizer of the most significant conferences in the data science and open source spaces (Strata, Hadoop World, OSCON, etc.). In 2014, we began working with the CTO of O’Reilly, Andrew Odewahn, to explore ways of integrating the Jupyter architecture into their publishing platform, to enable both authors and readers of O’Reilly content to experience books as live, computational entities. O’Reilly already has multiple books that include code examples as Jupyter Notebooks.&lt;/p&gt;
&lt;h2 id="organizational-background"&gt;Organizational background&lt;/h2&gt;
&lt;h3 id="mission-and-background"&gt;Mission and Background&lt;/h3&gt;
&lt;p&gt;Project Jupyter’s mission is to create open source tools for interactive scientific computing and data science in research, education and industry, with an emphasis on usability, collaboration and reproducibility.&lt;/p&gt;
&lt;p&gt;Today’s Jupyter evolved from the IPython project, created in 2001 as an interactive Python shell by Dr. Fernando Perez. Dr. Brian Granger joined the IPython project in 2004, and the two of us have led the project since then. The core development team has grown to roughly a dozen active contributors and a “long tail” of community contributors currently numbering over 400, who participate with various degrees of regularity.&lt;/p&gt;
&lt;p&gt;For the first decade, IPython focused strictly on scientific and interactive computing in the Python language, providing a rich interactive shell well suited to the workflow of everyday research, as well as tools for parallel computing. It was part of an organic ecosystem of open-source projects for scientific computing in Python, informally known as the “SciPy Stack”.&lt;/p&gt;
&lt;p&gt;Around 2010, IPython evolved from providing only a terminal-based interactive shell into a generic architecture for interactive computing and computational narratives in any programming language. This design allowed us to build the web-based Notebook described in this proposal. This expansion beyond Python led to a renaming of all the non-Python specific parts to &lt;em&gt;Project Jupyter&lt;/em&gt;. Today, this architecture supports over 20 different programming languages, with most implementations having been created by third-parties.&lt;/p&gt;
&lt;h3 id="core-problems-and-constituency"&gt;Core problems and constituency&lt;/h3&gt;
&lt;p&gt;While scientists have always used computers as a research tool, they use them differently than industrial software engineers: in science, the computer is a kind of “abstract microscope” that enables the scientist to peek into data and models that represent or summarize the real world. Software engineers tend to write programs to solve reasonably well-defined and independently specified problems, and their deliverable is a software artifact: a standalone application, library or system. While standalone software libraries exist in science (say the building of a library to solve differential equations), we target a more common scenario: the iterative exploration of a problem via computation and the interactive study of intermediate results. In this kind of computational work, scientists evolve their codes iteratively, executing small test programs or fragments and using the results of each iteration as insight that informs the next step. The computations inform their understanding of their scientific questions, and those questions shape the process of computing. The nature of this process means that, for scientists, an interactive computing system is of paramount importance: the ability to execute very small fragments of code (possibly a single line) and immediately see the results is at the heart of their workflow.&lt;/p&gt;
&lt;p&gt;Furthermore, the purpose of computation in science is precisely to advance science itself. In the famous words of R. Hamming, &lt;em&gt;“the purpose of computing is insight, not numbers.”&lt;/em&gt; For this reason, computation in science is ultimately in service of a result that needs to be woven into the bigger narrative of the questions under study: that result will be part of a paper, will support or contest a theory, will advance our understanding of a domain. And those insights are communicated in papers, books and lectures: &lt;em&gt;narratives&lt;/em&gt; of various formats.&lt;/p&gt;
&lt;p&gt;The problem the Jupyter project tackles is precisely this intersection: creating tools to support in the best possible ways the computational workflow of scientific inquiry, &lt;em&gt;and&lt;/em&gt; providing the environment to create the proper narrative around that central act of computation. We refer to this as &lt;em&gt;Literate Computing&lt;/em&gt;, in contrast to Knuth’s concept of &lt;em&gt;Literate Programming&lt;/em&gt;, where the emphasis is on narrating algorithms and programs. In a Literate Computing environment, the author weaves human language with live code and the results of the code, and it is the combination of all that produces a computational narrative.&lt;/p&gt;
&lt;p&gt;We consider this problem while acknowledging that science is, by definition, an open, collaborative enterprise founded on the principle of independent validation of all knowledge. This means that &lt;em&gt;supporting collaboration and reproducibility&lt;/em&gt; are central guiding principles of the project.&lt;/p&gt;
&lt;p&gt;Finally, while all the above has been cast in the context of scientific research, the rise of ubiquitous data science means that these same questions are now not only the purview of physicists or biologists. Today policy makers, journalists, business analysts, financial model builders, all work with the same tools and challenges: their data may come from a population census or the stock market, and instead of an academic paper they may be writing a blog post or a sales report for a client, but ultimately the process is similar. They need to extract insight from data using computational tools, and they need to communicate that insight to an audience in the form of a narrative that resonates with that audience.&lt;/p&gt;
&lt;p&gt;So today, Project Jupyter serves not only the academic and scientific communities, but also a much broader constituency of data scientists in research, education, industry and journalism. Given the importance of computing across modern society, we see uses of our tools that range from high school education in programming to the nation’s supercomputing facilities and the leaders of the tech industry mentioned above.&lt;/p&gt;
&lt;p&gt;Basically, anyone who needs to execute code an interactive programming environment can be legitimately considered as served by our project. As computation and data analysis become pervasively woven into the fabric of society, our constituency continues to broaden. The challenge for our organization is to maintain a focused research agenda where we provide a coherent vision of the future in interactive computation, a clean set of abstractions and tools, and a sustainable community model. These things, combined, should serve as the foundation on which others can then build the solutions they need in their specific contexts. The purpose of this proposal is to advance the state of the art in those core questions.&lt;/p&gt;
&lt;h3 id="project-organization"&gt;Project organization&lt;/h3&gt;
&lt;p&gt;Project Jupyter is organized around an open-source model that allows for individual Contributors to join the effort based on their personal interest, resources and availability. Along side this open community of Contributors, the project has a thin layer of formal organizational structure and governance. A summary of that structure and governance follows&lt;sup class="footnote-ref"&gt;&lt;a href="#fn16" id="fnref16"&gt;[16]&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A large, public, open and inclusive community of &lt;em&gt;Contributors&lt;/em&gt; participate in the creation of Project Jupyter’s software. Some contribute code, others documentation, ideas or bug fixes. Nearly all technical decisions are made through the informal consensus of this open community.&lt;/li&gt;
&lt;li&gt;Through a record of sustained activity, &lt;em&gt;Contributors&lt;/em&gt; can be nominated to have more rights and responsibilities in the development of specific parts of the project. This is done by providing them with write privileges (known as “commit rights”) in the code repositories of the organization, hosted on GitHub. We currently have roughly 20 people in this capacity.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Contributors&lt;/em&gt; who demonstrate significant leadership and contributions for longer than 1 year can be nominated to the Jupyter &lt;em&gt;Steering Committee&lt;/em&gt;. The &lt;em&gt;Steering Committee&lt;/em&gt; is the formal governing body for the project and is ultimately responsible its the technical, strategic and communal health. We emphasize, however, that the &lt;em&gt;Steering Committee&lt;/em&gt; delegates essentially all technical decisions to the open community.&lt;/li&gt;
&lt;li&gt;From a legal perspective, Project Jupyter is part of the NumFOCUS Foundation, a 501(c)3 organization dedicated to support research, development and education in open source scientific computing and data science. NumFOCUS provides legal structure and fiscal sponsorship for small amounts of community-focused project funds.&lt;/li&gt;
&lt;li&gt;The project also has &lt;em&gt;Institutional Partners&lt;/em&gt;: companies, universities and other legal entities who have at least one employee on the &lt;em&gt;Steering Committee&lt;/em&gt;. By raising money (donations, grants, for-profit business models) and employing project &lt;em&gt;Contributors&lt;/em&gt; and &lt;em&gt;Steering Committee&lt;/em&gt; members these &lt;em&gt;Institutional Partners&lt;/em&gt; are the main source of financial support for the project.&lt;/li&gt;
&lt;li&gt;We emphasize, however, that &lt;em&gt;Contributor&lt;/em&gt; or &lt;em&gt;Steering Committee&lt;/em&gt; status is always based on the technical participation of individuals, rather than the financial weight of the &lt;em&gt;Institutional Partners&lt;/em&gt;; it is impossible to “buy your way” onto the &lt;em&gt;Steering Committee&lt;/em&gt;. The current &lt;em&gt;Institutional Partners&lt;/em&gt; are UC Berkeley, Cal Poly, Rackspace and Continuum Analytics.&lt;/li&gt;
&lt;li&gt;The PIs on this grant are project &lt;em&gt;Contributors&lt;/em&gt;, &lt;em&gt;Steering Council&lt;/em&gt; members and employees of the UC Berkeley (Fernando Perez) and Cal Poly (Brian Granger) Institutional Partners. Through their seniority and long time (14 and 10 years respectively) commitment, leadership and contributions, they effectively lead the Steering Council and project.&lt;/li&gt;
&lt;li&gt;Project Jupyter deliberately has no full time employees through NumFOCUS; all full time staff positions are handled through Institutional Partners. UC Berkeley currently has 1 full time software engineer and two postdocs (in addition to F. Perez). Cal Poly currently has one full time software engineer, who is currently paid as an independent contractor through funds from Microsoft/NumFOCUS (in addition to B. Granger). Other Steering Council members are employed by Rackspace (Kyle Kelley) and Continuum Analytics (Damian Avila).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="project-activities-and-highlights"&gt;Project activities and highlights&lt;/h3&gt;
&lt;p&gt;The main project activities, supported by a combination of open source volunteers, funded researchers and industry partners, are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The creation of open source software, hosted on the Github site under the &lt;em&gt;ipython&lt;/em&gt; and &lt;em&gt;jupyter&lt;/em&gt; organizations. We currently host 46 public repositories.&lt;/li&gt;
&lt;li&gt;Hosting online services powered by our software, currently supported by Rackspace:
&lt;ul&gt;
&lt;li&gt;The Notebook Viewer (&lt;a href="http://nbviewer.ipython.org"&gt;&lt;em&gt;http://nbviewer.ipython.org&lt;/em&gt;&lt;/a&gt;): renders the URL of any notebook as a static web page, enabling effortless sharing of notebooks. This service gets currently ~ 800,000 page views per month, from ~ 200,000 visitors.&lt;/li&gt;
&lt;li&gt;TryJupyter/tmpnb (&lt;a href="http://try.jupyter.org"&gt;&lt;em&gt;http://try.jupyter.org&lt;/em&gt;&lt;/a&gt;): an ephemeral, anonymous live Jupyter Notebook. This lets anyone log into a Notebook server and experiment with the provided example notebooks or type their own code.&lt;/li&gt;
&lt;li&gt;A live demo for the Nature Journal: since November 2014, as a companion for an article about IPython published by Nature, we have hosted an instance of the ephemeral notebook service that lives in the &lt;a href="http://Nature.com"&gt;Nature.com&lt;/a&gt; domain. This has served over 20,000 live sessions and broke readership records for simultaneous users on the Nature site.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A public chat room (&lt;a href="https://gitter.im/ipython/ipython/help"&gt;&lt;em&gt;https://gitter.im/ipython/ipython/help&lt;/em&gt;&lt;/a&gt;) where our project developers help members of the public with general questions.&lt;/li&gt;
&lt;li&gt;A public mailing list where more long-form discussions take place.&lt;/li&gt;
&lt;li&gt;Weekly development meetings publicly broadcast via Google+ Hangouts and archived on YouTube. This improves our community engagement and the transparency of our process. Multiple other open source projects have adopted this model since we introduced it in 2013.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Estimated user base&lt;/strong&gt;. It is very hard to get accurate user counts for an open source project that can be downloaded freely from multiple sources. But &lt;em&gt;we estimate at least 2 million users for IPython&lt;/em&gt;. This is a rough number, but if anything, a conservative undercount. We justify this number as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Estimates of Linux users (not datacenter servers) range from 20M for Ubuntu to ~70M across Linux Distributions&lt;sup class="footnote-ref"&gt;&lt;a href="#fn17" id="fnref17"&gt;[17]&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;li&gt;The Debian Linux distribution tracks package installations with the ‘popcon’ tool. This shows IPython to be regularly installed in ~ 5% of Debian systems&lt;sup class="footnote-ref"&gt;&lt;a href="#fn18" id="fnref18"&gt;[18]&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;li&gt;If we use Debian as a baseline, and estimate total Linux user counts at ~50M (rough average of the above two numbers), we get about 2.5M installs of IPython on Linux.&lt;/li&gt;
&lt;li&gt;This doesn’t count many other sources IPython can be installed from, such as Github, Python’s package repository, the Continuum Anaconda distribution, Enthought Canopy, etc. Nor does it count the increasing number of server-side hosted deployments we see more and more of.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Other highlights&lt;/strong&gt;. A few other relevant achievements of the project over the last few years:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Very large user base.&lt;/li&gt;
&lt;li&gt;Three books have been published devoted to IPython &lt;sup class="footnote-ref"&gt;&lt;a href="#fn19" id="fnref19"&gt;[19]&lt;/a&gt;&lt;/sup&gt; &lt;sup class="footnote-ref"&gt;&lt;a href="#fn20" id="fnref20"&gt;[20]&lt;/a&gt;&lt;/sup&gt; &lt;sup class="footnote-ref"&gt;&lt;a href="#fn21" id="fnref21"&gt;[21]&lt;/a&gt;&lt;/sup&gt;, and several more cover IPython in detail (one or more chapters). Two books have also been written either entirely as Notebooks or containing extensive Notebook collections&lt;sup class="footnote-ref"&gt;&lt;a href="#fn22" id="fnref22"&gt;[22]&lt;/a&gt;&lt;/sup&gt; &lt;sup class="footnote-ref"&gt;&lt;a href="#fn23" id="fnref23"&gt;[23]&lt;/a&gt;&lt;/sup&gt;, and we know several more are being written.&lt;/li&gt;
&lt;li&gt;Courses at top universities in the US and abroad use Jupyter Notebooks as core educational technology. We know of over a dozen at UC Berkeley, Cal Poly, U. Santa Clara, Harvard, Columbia, U. Claude Bernard Lyon (France), and more.&lt;/li&gt;
&lt;li&gt;There have been 18 academic (peer-reviewed or preprints) articles &lt;sup class="footnote-ref"&gt;&lt;a href="#fn24" id="fnref24"&gt;[24]&lt;/a&gt;&lt;/sup&gt; that provide IPython Notebooks to support reproducibility.&lt;/li&gt;
&lt;li&gt;There are independent implementations of the Jupyter protocol that provide kernels in over 25 different programming languages.&lt;/li&gt;
&lt;li&gt;Google Research created and released the CoLaboratory system for integration of Notebooks with Google Drive as an app in the Chrome web store. This effort led to a funded collaboration with our team.&lt;/li&gt;
&lt;li&gt;Professors Lorena Barba (George Washington U), Ian Hawke (U. Southampton) and Carlos Jerez (U. Pontificia Católica de Chile) taught in 2014 a MOOC on numerical computing whose teaching materials consist entirely of IPython Notebooks&lt;sup class="footnote-ref"&gt;&lt;a href="#fn25" id="fnref25"&gt;[25]&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are many more teaching materials, conference talks, blog posts and projects using our architecture and tools, that we can not fit in this space. We refer the reader to the Notebook Gallery and list of Projects using IPython in our wiki for a comprehensive list (&lt;a href="https://github.com/ipython/ipython/wiki"&gt;&lt;em&gt;https://github.com/ipython/ipython/wiki&lt;/em&gt;&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="approach-and-strategy"&gt;Approach and strategy&lt;/h2&gt;
&lt;p&gt;This project is structured in a “3+1” format, with three main focus areas of research and development and one extra topic of ongoing work. The three focus areas are &lt;em&gt;Interactive Computing&lt;/em&gt;, &lt;em&gt;Computational Narratives&lt;/em&gt; and &lt;em&gt;Collaboration&lt;/em&gt;. The problem of &lt;em&gt;Sustainability&lt;/em&gt; will require ongoing attention but is conceptually distinct from the first three, as it doesn’t focus on specific research questions or deliverables.&lt;/p&gt;
&lt;h3 id="interactive-computing"&gt;Interactive Computing&lt;/h3&gt;
&lt;p&gt;At the heart of the entire Jupyter architecture lies the idea of &lt;em&gt;interactive computing&lt;/em&gt;: humans executing small pieces of code in various programming languages, and immediately seeing the results of their computation. Interactive computing is central to data science because scientific problems benefit from an exploratory process where the results of each computation inform the next step and guide the formation of insights about the problem at hand. In this &lt;em&gt;Interactive Computing&lt;/em&gt; focus area, we will create new tools and abstractions that improve the reproducibility of interactive computations and widen their usage in different contexts and audiences.&lt;/p&gt;
&lt;h4 id="notebooks-as-interactive-applications"&gt;Notebooks as interactive applications&lt;/h4&gt;
&lt;p&gt;The Jupyter Notebook has an architecture for interactive widgets that bind data and code in the backend (Python, Julia, R, etc.) to interactive user interfaces running in the browser. This enables users to quickly explore code and data by manipulating user interface controls (buttons, sliders, etc.). This architecture is being used to create custom user interfaces in the notebook using powerful JavaScript libraries such as d3.js. These widgets open the door for non-technical “consumers” of notebooks to explore data in a notebook, without coding. We will extend the widget architecture into a full-blown application framework.&lt;/p&gt;
&lt;p&gt;First, we will enhance our widgets to handle more complex hierarchies of objects with events, parent/child relationships, etc. Second, we will enable these widgets to be deployed in contexts outside the traditional notebook, where a live computational kernel is not running, such as nbviewer or a static HTML page. Third, we will create a system that allows users to bundle, share and deploy sets of widgets as independent “apps.” This will allow users and developers to leverage the notebook for highly customized, but still data and code driven, user interfaces that can be used with non-technical audiences.&lt;/p&gt;
&lt;h4 id="modular-reusable-uiux"&gt;Modular, reusable UI/UX&lt;/h4&gt;
&lt;p&gt;The Notebook user interface (UI) is the main way that users interface with our project on a daily basis. In order to create a more humane and productive environment for users, we will invest significant effort on improving the UI and user experience (UX).&lt;/p&gt;
&lt;p&gt;First, we will create a more modular set of UI components to enable users and third party developers to build purpose specific UIs with custom components, such as file browsers, debuggers, variable inspectors, documentation panes, etc. This work will be done in collaboration with Bloomberg (see above for the details of this collaboration). Second, by hiring a full time UI/UX person, we will begin to perform studies of the usability of our various UIs. This will include qualitative user testing and quantitative A/B testing. Third, we will add a set of richer actions that can be performed on single or multiple notebook documents. These include multicell operations (cut/copy/paste), structural operations that allow different sections and subsections to be collapsed/expanded and moved atomically, and an improved dashboard for working with directories of files and notebooks.&lt;/p&gt;
&lt;h4 id="software-engineering-with-notebooks"&gt;Software engineering with notebooks&lt;/h4&gt;
&lt;p&gt;The Jupyter Notebook emerged out of a need to capture otherwise transient interactive computations in a form that could be reproduced and shared with others. However, as single notebooks grow in size and complexity, they become difficult to work with from the software engineering perspective (testing, documentation, reuse, modularity, etc.). In this grant we will improve the software engineering aspects of notebook based workflows.&lt;/p&gt;
&lt;p&gt;First, we will improve the ability of users to transition from a single large notebook, to a smaller notebook that calls code contained in external modules that can be tested and documented separately. Second, we will work to enable notebooks themselves to be treated as importable Python packages. This will enable code in one notebook to be used in other notebooks or projects more easily. Third, we will build tools that allow notebooks to be tested in similar ways as traditional software projects are. Fourth, we will build tools that can verify that a notebook is reproducible; that it gives the same results when run again. This verification will be performed by rerunning the original notebook, comparing the output of the rerun notebook with that of the original, and then creating a human readable “reproducibility report” that summarizes the differences, if any. This will also enable us to develop quantitative metrics that measure the degree of reproducibility.&lt;/p&gt;
&lt;h4 id="capstone"&gt;Capstone&lt;/h4&gt;
&lt;p&gt;As a capstone to the &lt;em&gt;Interactive Computing&lt;/em&gt; focus area, we will create a prototype of a spreadsheet app/widget that is integrated with the notebook architecture. This prototype will validate our improvements to widgets, our UI/UX modularization work and our work towards “application” oriented usages of our architecture.&lt;/p&gt;
&lt;h3 id="computational-narratives"&gt;Computational Narratives&lt;/h3&gt;
&lt;p&gt;Jupyter Notebooks enable users to create and share code and data driven narratives. These narratives end up being used in a wide variety of &lt;em&gt;contexts&lt;/em&gt;: academic publications, blog posts, books, traditional journalism articles, technical documentation, government reports, grant applications, industry research and commercial products. Furthermore, a &lt;em&gt;single&lt;/em&gt; notebook could be communicated in a number of different &lt;em&gt;formats&lt;/em&gt; (PDF, live demo, web page, slideshow) to different &lt;em&gt;audiences&lt;/em&gt;. Today, users encounter significant pain along this path. In this &lt;em&gt;Computational Narratives&lt;/em&gt; focus area, we will build tools to enable the notebook to be used more easily across different contexts, formats and audiences.&lt;/p&gt;
&lt;h4 id="nbconvert"&gt;nbconvert&lt;/h4&gt;
&lt;p&gt;nbconvert is the command line tool that Jupyter offers for converting notebooks to different formats (currently LaTeX/PDF, HTML, Markdown and reveal.js). We will target the following areas of work on nbconvert in this grant.&lt;/p&gt;
&lt;p&gt;First, we will create an EPUB exporter for nbconvert. Because EPUB is based on HTML/CSS/JavaScript, it is a much better format than LaTeX/PDF for representing the rich content found in notebooks. Most importantly, EPUB is an ideal format for interfacing with publishers in the academic and technical spaces. EPUB support will help our ongoing collaborations with O’Reilly Media and Nature. Second, the nbconvert software needs significant refactoring and improvements to its command line and programming APIs to enable users and developers to customize it more easily. This includes improved documentation and examples. Third, we will explore the feasibility of exporting notebooks to Microsoft Word. This will be done through our ongoing collaboration with the data, development and machine learning teams at Microsoft, which is described above.&lt;/p&gt;
&lt;h4 id="element-filtering"&gt;Element filtering&lt;/h4&gt;
&lt;p&gt;Notebooks contain code (source code and output) and markdown (narrative) cells. When a notebook is used across different contexts and audiences, it is useful to filter what types of content is visible. For example, when a notebook is read by non-technical users, it is helpful to hide all of the source code, but show the narrative text, visualizations and widgets. To address these needs, we will create a system that allows the notebook content to be selectively filtered, based on the intended context and audience.&lt;/p&gt;
&lt;p&gt;First, we will enable cells to be tagged with user selected labels (“homework”, “testing”, etc.). Users will add labels to cells using an appropriate user interface and the labels will be stored in the notebook metadata. Second, we will create an interactive query syntax that allows content to be selectively hidden and shown based on the cell type, cell labels, widgets, input/output, etc. This query syntax will be integrated into the live notebook, nbconvert and nbviewer.&lt;/p&gt;
&lt;h4 id="documentation"&gt;Documentation&lt;/h4&gt;
&lt;p&gt;Documentation is one of the primary ways that users interact with open source software. Existing documentation for Jupyter and other open source projects is written as static web pages generated by markup languages such as Markdown. Developers are forced to manually copy and paste code samples into this format. This leads to documentation that easily falls out of dates and cannot be tested. For users, these static web pages are not integrated with the notebook, can’t be searched and most importantly, can’t be run as live code. Furthermore, all of the documentation for each open source project is hosted on different places on the web.&lt;/p&gt;
&lt;p&gt;To address these issues, we will create a notebook based documentation system for our own and other open source software projects. This documentation system will allow developers to write documentation as notebooks and package them with their own project as live code. Upon installation of these packages, users will be able to browse and search all of the documentation from within the notebook. Most importantly, users will be able to run the documentation as live code. To test this approach, we will write our own documentation using this system.&lt;/p&gt;
&lt;h4 id="capstone-1"&gt;Capstone&lt;/h4&gt;
&lt;p&gt;As a capstone to this &lt;em&gt;Computational Narratives&lt;/em&gt; focus, we will test our deliverables in the context of collaborations with publishers, both traditional and web-oriented. These publishers include O’Reilly, Nature, GitHub, BuzzFeed and 538.&lt;/p&gt;
&lt;h3 id="collaboration"&gt;Collaboration&lt;/h3&gt;
&lt;p&gt;Since the Jupyter Notebook was released in 2011, better support for collaborative workflows has been our users’ most common request. This is for good reason. In our modern, web-enabled companies, universities, research labs and non-profits, data science and scientific computing are carried out by distributed teams whose work and contributions are tightly coupled. For static content, this is enabled by technologies such as email, video chat, online comment/review systems, GitHub and Google Docs. Today, the Jupyter notebook has almost no support or these types for synchronous and asynchronous collaborations, which limits the impact and usefulness of the notebook in collaboration rich contexts such as education and scientific research.&lt;/p&gt;
&lt;h4 id="real-time-collaboration"&gt;Real time collaboration&lt;/h4&gt;
&lt;p&gt;In this grant, we will add real-time collaboration capabilities to the notebook that are modelled on the abstractions and architecture of Google Drive/Docs. This will allow multiple users to share notebooks with each other online, and edit those notebooks together in real time. To this collaborative editing system we will add user presence, commenting and cloud based document storage.&lt;/p&gt;
&lt;p&gt;As described above, this work is extremely technical and will require major rewrites of significant portions of our architecture. Furthermore, there are significant security issues to work through. Because of the difficulty and scope of this work, we are working directly with Google Research to help us design the underlying architectures and implement them in our software (see above for the details of this collaboration). The initial implementation of these features will rely on open Google APIs (Drive API, Real Time API), however, we plan on building abstractions and APIs that will allow us to plug into a number of different collaborative backends (Firebase, etc.).&lt;/p&gt;
&lt;h4 id="jupyterhub"&gt;JupyterHub&lt;/h4&gt;
&lt;p&gt;The basic Jupyter Notebook is a single user web application that most users install and run on their own laptop or desktop. JupyterHub is a multiuser version of the notebook server than can be run on a central server(s) or in the cloud. JupyterHub eases the installation and deployment of the notebook to large numbers of users and opens the door for novel collaboration possibilities, However, the version of JupyterHub that exists today has very limited sharing capabilities. In this grant we will improve the collaboration capabilities of JupyterHub in the following ways.&lt;/p&gt;
&lt;p&gt;First, we will define richer and finer grained sharing semantics that allow users to share notebooks with other individuals or groups. This will include user interfaces that make this easy to do across different storage and deployment backends. Second, we will work to create tools that ease the deployment of JupyterHub in different contexts. Third, we will allow users of JupyterHub to “publish” notebook to other users of JupyterHub or the public.&lt;/p&gt;
&lt;h4 id="capstone-2"&gt;Capstone&lt;/h4&gt;
&lt;p&gt;The individual tasks in this &lt;em&gt;Collaboration&lt;/em&gt; focus area involve creating new, but semi-separate, collaboration capabilities for the different sub-projects (Jupyter Notebook, JupyterHub). As a capstone, we will begin to integrate these different collaboration approaches to create an integrated, ubiquitous system for notebook based collaboration.&lt;/p&gt;
&lt;h3 id="sustainability"&gt;Sustainability&lt;/h3&gt;
&lt;p&gt;As the scale of Jupyter’s usage and development expands, it is important to create for us to create a sustainable technical project, community and organization. This focus area is conceptually different from the above described 3 main technical areas and will involve an ongoing set of activities throughout the project period.&lt;/p&gt;
&lt;h4 id="people"&gt;People&lt;/h4&gt;
&lt;p&gt;People are the backbone of our sustainability plan. While the project has had over 400 contributors, most of the major work has been done by a few key individuals. Thus, our first goal is to expand the set of these key contributors.&lt;/p&gt;
&lt;p&gt;First, we will set up a robust training program that leverages senior project staff to manage and train new undergraduates, graduate students and postdocs to work on the project at Cal Poly and UC Berkeley. New data science programs at both of these universities will be used as the needed source of initial human capital for these efforts. We have an excellent track record of training students; two of our most senior Contributors and Steering Council members were previously undergraduate students of Brian Granger.&lt;/p&gt;
&lt;p&gt;Second, we will send these newly trained individuals out into academia and industry where they can expand our network of collaborators, contributors and Institutional Partners even further. We know of multiple companies that are currently interested in hiring project newly trained Contributors and Steering Council members. To initiate this “sending out” this grant will fund two of our current Steering Council members (Min Ragan-Kelley and Thomas Kluyver) to move from UC Berkeley to institutions in Norway and the UK. We plan on working with them to build their own, independent, European based funding sources in the future. Their move will also create two new Institutional Partners: Simula Research Lab and the University of Southampton or Sheffield (which of these two will join is being determined, but one of them will).&lt;/p&gt;
&lt;p&gt;Finally, a key concern of the project, inscribed in a larger societal discussion of the problem, is improving the diversity of our community. We address it in detail in the required Appendix.&lt;/p&gt;
&lt;h4 id="events"&gt;Events&lt;/h4&gt;
&lt;p&gt;Jupyter related events will enable us to build a more sustainable community of users, developers and collaborators.&lt;/p&gt;
&lt;p&gt;First, we will continue to have week long developer meetings twice per year. These meetings bring together 5–15 core developers and designers to review the project’s progress, discuss major technical and architectural issues and plan the future roadmap of the project. Because our core developers are geographically distributed, these in person meetings are critically important for us to build a cohesive developer community and project.&lt;/p&gt;
&lt;p&gt;Second, for the first time, we plan on organizing JupyterCon, an annual conference to bring together all of Jupyter’s developers, users, collaborators and Institutional Partners. This conference will be a 2–3 day event in the Bay Area or New York that has time for talks, coding sprints, brainstorming, etc. As the project grows in size, JupyterCon will be an important way for us to bring our community together in a focused event. JupyterCon will also enable Institutional Partners to provide input to the project; eventually we forsee Insitutional Partners as becoming an advisory board for the project that works alongside the Steering Council. This centralized conference will also be used to seed other, smaller community organized outreach event in cities throughout the world (JupyterDays).&lt;/p&gt;
&lt;p&gt;Third, we will continue to disseminate the results of our work to an ever wider range of communities in academia and industry. This will include talks at academic and industry focused conferences and workshops and the publication of articles about our work in academic journals.&lt;/p&gt;
&lt;h2 id="year-by-year-output"&gt;Year by year output&lt;/h2&gt;
&lt;h3 id="our-approach-to-building-software"&gt;Our approach to building software&lt;/h3&gt;
&lt;p&gt;We want to clarify our approach to building software and describe how that relates to the deliverables of this grant. The approach described here has emerged from our own experience in building open source software over the last 14 years as well as a careful study and application of the methods described by Eric Ries in his book, the &lt;em&gt;The Lean Startup&lt;/em&gt;, as well as the books and courses of Steve Blank.&lt;/p&gt;
&lt;p&gt;First, for each deliverable, we always begin by creating an Minimum Viable Product (&lt;strong&gt;MVP&lt;/strong&gt;). The MVP is an initial implementation of that deliverable that provides the absolute minimal set of features we hypothesize will be useful to our users. The MVP always has a very limited scope and lacks features present in the final version.&lt;/p&gt;
&lt;p&gt;Second, we immediately release the MVP to our users and begin watching how they respond. Our goal in this phase is to collect as much information as possible to &lt;strong&gt;validate&lt;/strong&gt; our hypotheses about the deliverable. During this stage, we also identify the individuals and organizations who are stakeholders and collaborators in building that particular deliverable.&lt;/p&gt;
&lt;p&gt;Third, we then incorporate the information gathered through validation to build the final version of the deliverable that has the exact set of features required by users. The final version typically has much larger scope than the MVP and is built with the collaborators identified in the validation stage.&lt;/p&gt;
&lt;p&gt;Given this background, &lt;em&gt;we expect the funding provided in this grant will be sufficient for us to complete the MVP and validation stages of each deliverable&lt;/em&gt;. For some of the smaller deliverables, we also expect to start building the final versions. However, we expect the final versions of all deliverables to be out of scope of this grant for two reasons. First, the validation stage is completely unpredictable. Features are used in unexpected ways, new groups of users emerge, other developers extend and reuse our work in innovative ways, and new collaborators and stakeholders emerge. Second, the validation phase typically expands the scope of the deliverable far beyond our original plans and budget.&lt;/p&gt;
&lt;p&gt;However, we want to emphasize that the validated MVPs produced through this grant’s activities will be highly functional and have a deep impact on our users. To set the scale appropriately, we consider most of our current software, including the Jupyter Notebook, to be at the validated MVP stage.&lt;/p&gt;
&lt;h3 id="year-by-year-plan-of-deliverables"&gt;Year-by-year plan of deliverables&lt;/h3&gt;
&lt;p&gt;The following table details our year-by-year plan of deliverables in the core focus areas of &lt;em&gt;Interactive Computing&lt;/em&gt;, &lt;em&gt;Computational Narratives&lt;/em&gt; and &lt;em&gt;Collaboration&lt;/em&gt;. The numbers in the table represent the number of full time staff technical staff working on that deliverable at UC Berkeley, Cal Poly, Simula Research Lab and the University of Southampton. This table only includes our eight software engineers and postdocs, as well as ½ FTE on Y1 for a technical writing consultant. We expect the UI/UX designer, Project Manager and 2 PIs to work across all deliverables each year.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Deliverable&lt;/th&gt;
&lt;th&gt;Year 1&lt;/th&gt;
&lt;th&gt;Year 2&lt;/th&gt;
&lt;th&gt;Year 3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NB as Apps ⟂&lt;/td&gt;
&lt;td&gt;0.5&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UI/UX ⟂&lt;/td&gt;
&lt;td&gt;1.5&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NB Software Eng. ∥&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nbconvert ∥&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Element Filtering ⟂&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0.5&lt;/td&gt;
&lt;td&gt;0.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation ∥&lt;/td&gt;
&lt;td&gt;1.5&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Real Time Collab ⟂&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;2.5&lt;/td&gt;
&lt;td&gt;2.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JupyterHub ⟂&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="measuring-effectiveness"&gt;Measuring effectiveness&lt;/h3&gt;
&lt;p&gt;We will measure the effectiveness of our work through the following metrics. All target numbers are three year totals unless otherwise specified.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Number of talks given at conferences and workshops we have never attended before (target=10).&lt;/li&gt;
&lt;li&gt;Ethnic and gender diversity of active Jupyter developers in our broader community (target=3 from currently underrepresented groups. This would be a very significant increase, given our core development team has roughly a dozen regularly active members).&lt;/li&gt;
&lt;li&gt;Traffic on project web site and web services (nbviewer and tmpnb) (target=4x current traffic).&lt;/li&gt;
&lt;li&gt;Number of deployments of JupyterHub by 3rd parties in research, education, industry (target=direct knowledge of 25).&lt;/li&gt;
&lt;li&gt;The number of universities, companies and research labs that adopt the Jupyter Notebook and related technologies at an institutional level (target=6).&lt;/li&gt;
&lt;li&gt;Institutions and projects that use our building blocks as infrastructure to create other software and products (target=12).&lt;/li&gt;
&lt;li&gt;The number of books, academic publications, education course materials, journalism articles that use the notebook as a primary or secondary mechanism to deliver content (target=100).&lt;/li&gt;
&lt;li&gt;The number of new collaborations with large companies in the data science space (target=6).&lt;/li&gt;
&lt;li&gt;The number of companies providing funding for the project (target=12 companies).&lt;/li&gt;
&lt;li&gt;The number of new Institutional Partners of the project (target=4)&lt;/li&gt;
&lt;li&gt;The number of undergraduate, graduate and postdoc students that are trained through the grant activities and placed in related jobs (target=12).&lt;/li&gt;
&lt;li&gt;Number of deliverables for which the MVP and validation stages are completed (target=all).&lt;/li&gt;
&lt;li&gt;The MVP and validation stages increase the impact, scope and reached users of our deliverables so significantly that we have to do additional fundraising to complete final versions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="budget-justification"&gt;Budget justification&lt;/h2&gt;
&lt;p&gt;The main expenses for this grant are for the salaries, travel and supplies for full time project staff who will work at UC Berkeley, Cal Poly, Simula Research Lab and the University of Southampton or Sheffield. Because of this, our budget justification is organized around these staff positions. The amounts allocated for travel are based on our actual travel numbers over the past two years. For project PIs, this amounts to approximately 10 week long trips per year and for other project staff this amounts to 1–3 week long trips per year. First year supplies are higher to enable us to purchase computers and monitors for staff.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Project PIs&lt;/strong&gt; (Dr. Fernando Perez and Dr. Brian Granger). Core activities of the project PIs include managing and training staff, creating the strategic direction of the project, building relationships with Institutional Partners and key collaborators, giving talks at conferences and workshops, fundraising, community building, hiring project staff, etc. To enable both PIs to focus on Project Jupyter, the budget funds significant fractions of the PIs’ time. Dr. Perez will lead the UC Berkeley team and bridge the project with related activities in data science at the Berkeley Institute for Data Science and Lawrence Berkeley National Laboratory, where he holds a Staff Scientist appointment. Dr. Brian Granger will lead the team at Cal Poly, where he is an Associate Professor of Physics and Data Science. This position gives him access to highly motivated and talented students that can be hired and trained to work on the project.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Existing full time staff&lt;/strong&gt; (Dr. Min Ragan-Kelley, Dr. Thomas Kluyver, Dr. Matthias Bussonnier and Jon Frederic). These individuals are core Contributors and Steering Council members who form the technical backbone of the project; without their full time work on the project, technical activity would completely grind to a halt. Dr. Ragan-Kelley will be working as a postdoc at Simula Research Lab. Dr. Kluyver will be working as a postdoc at the University of Southampton. Dr. Bussonnier will be a postdoc at UC Berkeley. Mr. Frederic will be a senior software engineer at Cal Poly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Project Manager.&lt;/strong&gt; This grant will scale our full time project staff from 6 to 14. We feel it is critical for us to hire a new full time Project Manager (at UC Berkeley) to help the PIs manage the increased project scope and technical staff. This role will enable us to segment the deliverables into smaller pieces that can be tackled in parallel by more independent teams, while still keeping the project wide vision and approach consistent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UX/UI Designer.&lt;/strong&gt; Significant amounts of our current and proposed work involves visual and interactive design, as well as frontend web development. We currently have no designers on the team; this has created a significant bottleneck for us, even with our current scope. To enable us to tackle the ambitious user interface work of this grant, we propose to hire a new full time user interface/experience (UI/UX) designer who will work with the different teams to design, build and test these user interfaces.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Software engineering.&lt;/strong&gt; The deliverables of this grant will expand the scope, complexity and effort of the project significantly. The popularity of the project has also put incredible pressure on our existing developers to give talks at conferences and support users online. To enable us to tackle these challenges, we propose to hire four new full time software engineers: two postdocs at UC Berkeley and two software engineers at Cal Poly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Administrative help.&lt;/strong&gt; Currently the project PIs have to do all project administration: filing reimbursements, managing the budget, travel and event planning, etc. To handle the increased budget and activities of this grant we propose to hire two new project administrators (full time at Cal Poly and ½ time at UC Berkeley). These administrators will free the PIs, Project Manager and technical staff to focus on the deliverable of the grant. The full time administrator at Cal Poly will also be the lead on planning various project events: core developer meetings, JupyterCon and JupyterDays.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Consultants.&lt;/strong&gt; During the first year we will hire two consultants. First, we will hire a web/design firm to overhaul our entire web presence, which has seen nearly zero development in years, is a poor representation of the project and lacks key usability aspects. Second, we will hire a technical writer to go over our entire body of documentation and help us triage, rewrite, clarify and organize it. Beyond the first year, our full time technical staff will take over the maintenance of these resources, however, their current state is so bad that we need extra help catching up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Students.&lt;/strong&gt; This grant will fund 4 summer undergraduate students each year at Cal Poly. These students are a critical part of our long term sustainability plan. Our goal is to train these students to work on Project Jupyter in different capacities (software engineering, technical writing, design, etc.) and then send them out to jobs at current and future Institutional Partners. Dr. Granger’s position at Cal Poly gives him access to talented students in the new Data Science and Computer Science degree programs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;JupyterCon/Days.&lt;/strong&gt; We plan on organizing a new Jupyter focused conference each year (JupyterCon). This will be a 2–3 day event that will bring together contributors, steering council members, institutional partners, third party developers and users. Over the long term, we plan on this conference becoming self supporting through industry sponsorship and registration fees. The grant budget includes seed money we know will be required to get this conference off the ground. Some of this seed money will also be used to seed single day Jupyter events that are organized by the larger community (JupyterDays).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Core Developer Workshops.&lt;/strong&gt; Over the past two years, we have bought our core project Contributors together twice a year for a week long in person meeting. During these meetings, we review the project’s progress and set a roadmap for the following six months. Given the distributed nature of our project, these in person meetings are absolutely critical in building our team and setting the strategic vision of the project. The grant budget includes funding for our core Contributors to attend these events.&lt;/p&gt;
&lt;h2 id="other-sources-of-support"&gt;Other sources of support&lt;/h2&gt;
&lt;p&gt;Through NumFOCUS, Project Jupyter currently has funding from Microsoft, which donated $100,000 in 2013 to NumFOCUS for general project work. This money has been used to hire Steering Council member (Jonathan Frederic) as an independent contractor working at Cal Poly with PI Brian Granger.&lt;/p&gt;
&lt;p&gt;The Institutional Partner, Rackspace, is donating significant cloud hosting resources and the time of Kyle Kelley, a Rackspace employee and Steering Council member.&lt;/p&gt;
&lt;p&gt;The PIs of this grant, through the Institutional Partners UC Berkeley and Cal Poly have the following Jupyter related funding:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A $1.15M grant from the Alfred P. Sloan Foundation during 2013 and 2014 for the creation of nbconvert, interactive widgets and a prototype of JupyterHub. We expect this grant’s funds to run out in March 2015.&lt;/li&gt;
&lt;li&gt;A $100,000 grant from Google in the fall of 2014 to UC Berkeley to hire Steering Council member (Matthias Bussonnier) as a postdoc to begin integrating the Jupyter Notebook and Google Drive.&lt;/li&gt;
&lt;li&gt;A $100,000 grant from the Simons Foundation to F. Perez at UC Berkeley, that supports the integration of the Jupyter Notebook into a system for data sharing in neuroimaging. This grant is in collaboration with the Stanford Center for Cognitive and Neurobiological Imaging, led by prof. Brian Wandell.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also plan to raise additional funding through UC Berkeley and Cal Poly in the coming years. This additional funding will be used primarily to fund new work not funded by this grant. Examples include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A replacement or extension to Markdown syntax that handles the full complexity of academic and book publishing.&lt;/li&gt;
&lt;li&gt;Features found in traditional Interactive Development Environments (IDEs) (IntelliJ, Microsoft Visual Studio and Eclipse) such as an interactive debugger, variable inspector, refactoring tools, etc.&lt;/li&gt;
&lt;li&gt;Technologies that enable the Jupyter Notebook and JupyterHub to scale to internet sized user groups.&lt;/li&gt;
&lt;li&gt;Developing tmpnb and nbviewer into full blown platforms for sharing, indexing, reviewing/commenting and searching notebook based content.&lt;/li&gt;
&lt;li&gt;Robust security for the Jupyter Notebook that addresses deployments on the open internet and in highly secure settings.&lt;/li&gt;
&lt;li&gt;A federated architecture for live Jupyter Notebooks in the cloud that spans multiple cloud vendors (Amazon, Microsoft, Rackspace) and geographic regions.&lt;/li&gt;
&lt;li&gt;Internationalization of the Jupyter Notebook, JupyterHub and Documentation.&lt;/li&gt;
&lt;li&gt;Accessibility support across all our software.&lt;/li&gt;
&lt;li&gt;Improvements to our parallel computing framework. There is significant interest in this area from federal agencies (NIH, NSF and DOE) in this area. Problems such as the use of our tools in High Performance Computing (parallel supercomputers) environments, or in domain-specific contexts like genome sequence analysis, present challenges that go far beyond the scope of the current proposal. We have already been approached by multiple scientists interested in pushing forward with ideas based on our architecture in directions like these and others.&lt;/li&gt;
&lt;li&gt;Implementations of interactive widgets for languages other than Python, such as R.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We have already received preliminary interest from the following companies in funding these and other initiatives: Google, Microsoft, Bloomberg, Continuum, Quantopian, West Health, IBM. In the coming 3 years, much of the time and effort of the project leaders and PIs of this grant (Fernando Perez and Brian Granger) will focus on this fundraising work. Some of the industry money that we raise will also be used to build final versions of the deliverables of this grant that end up with a larger scope than currently envisioned.&lt;/p&gt;
&lt;div class="main-content-end" aria-hidden="true"&gt;&lt;/div&gt;
&lt;hr class="footnotes-sep"&gt;
&lt;section class="footnotes"&gt;
&lt;ol class="footnotes-list"&gt;
&lt;li id="fn1" class="footnote-item"&gt;&lt;p&gt;Matlab, MathWorks, 2014 &amp;lt;&lt;a href="http://www.mathworks.com/products/matlab"&gt;&lt;em&gt;http://www.mathworks.com/products/matlab&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref1" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn2" class="footnote-item"&gt;&lt;p&gt;Mathematica, Wolfram, 2014 &amp;lt;&lt;a href="http://www.wolfram.com/mathematica"&gt;&lt;em&gt;http://www.wolfram.com/mathematica&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref2" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn3" class="footnote-item"&gt;&lt;p&gt;SAS, 2014 &amp;lt;&lt;a href="http://www.sas.com"&gt;&lt;em&gt;http://www.sas.com&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref3" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn4" class="footnote-item"&gt;&lt;p&gt;SPSS, IBM, 2014 &amp;lt;&lt;a href="http://www-01.ibm.com/software/analytics/spss"&gt;&lt;em&gt;http://www-01.ibm.com/software/analytics/spss&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref4" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn5" class="footnote-item"&gt;&lt;p&gt;Sage Math Project, 2014 &amp;lt;&lt;a href="http://www.sagemath.org"&gt;&lt;em&gt;http://www.sagemath.org&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref5" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn6" class="footnote-item"&gt;&lt;p&gt;RStudio, 2014 &amp;lt;&lt;a href="http://www.rstudio.com"&gt;&lt;em&gt;http://www.rstudio.com&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref6" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn7" class="footnote-item"&gt;&lt;p&gt;Spyder IDE, 2014 &amp;lt;&lt;a href="https://code.google.com/p/spyderlib"&gt;&lt;em&gt;https://code.google.com/p/spyderlib&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref7" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn8" class="footnote-item"&gt;&lt;p&gt;Beaker Notebook, 2014 &amp;lt;&lt;a href="http://beakernotebook.com"&gt;&lt;em&gt;http://beakernotebook.com&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref8" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn9" class="footnote-item"&gt;&lt;p&gt;Zeppelin Project, 2014 &amp;lt;&lt;a href="http://zeppelin-project.org"&gt;&lt;em&gt;http://zeppelin-project.org&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref9" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn10" class="footnote-item"&gt;&lt;p&gt;“Account — SageMathCloud.” 2013. 30 Jan. 2015 &amp;lt;&lt;a href="https://cloud.sagemath.com/"&gt;&lt;em&gt;https://cloud.sagemath.com/&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref10" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn11" class="footnote-item"&gt;&lt;p&gt;“Wakari — Web-based Python Data Analysis.” 2012. 30 Jan. 2015 &amp;lt;&lt;a href="https://wakari.io/"&gt;&lt;em&gt;https://wakari.io/&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref11" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn12" class="footnote-item"&gt;&lt;p&gt;Google Drive, Google, 2014 &amp;lt;&lt;a href="https://www.google.com/drive"&gt;&lt;em&gt;https://www.google.com/drive&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref12" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn13" class="footnote-item"&gt;&lt;p&gt;The git Project, 2014 &amp;lt;&lt;a href="http://git-scm.com"&gt;&lt;em&gt;http://git-scm.com&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref13" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn14" class="footnote-item"&gt;&lt;p&gt;GitHub, 2014 &amp;lt;&lt;a href="https://github.com"&gt;&lt;em&gt;https://github.com&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref14" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn15" class="footnote-item"&gt;&lt;p&gt;“IPython interactive demo : Nature News &amp;amp; Comment.” 2014. 30 Jan. 2015 &amp;lt;&lt;a href="http://www.nature.com/news/ipython-interactive-demo-7.21492"&gt;&lt;em&gt;http://www.nature.com/news/ipython-interactive-demo-7.21492&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref15" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn16" class="footnote-item"&gt;&lt;p&gt;Our detailed governance policies are publicly available here: &lt;a href="https://github.com/ipython/ipython/wiki/IPEP-29:-Project-Governance"&gt;&lt;em&gt;https://github.com/ipython/ipython/wiki/IPEP-29:-Project-Governance&lt;/em&gt;&lt;/a&gt;. &lt;a href="#fnref16" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn17" class="footnote-item"&gt;&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Ubuntu_%28operating_system%29#Installed_base"&gt;&lt;em&gt;http://en.wikipedia.org/wiki/Ubuntu_(operating_system)#Installed_base&lt;/em&gt;&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Linux_adoption#Measuring_desktop_adoption"&gt;&lt;em&gt;http://en.wikipedia.org/wiki/Linux_adoption#Measuring_desktop_adoption&lt;/em&gt;&lt;/a&gt; &lt;a href="#fnref17" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn18" class="footnote-item"&gt;&lt;p&gt;&lt;a href="https://qa.debian.org/popcon.php?package=ipython"&gt;&lt;em&gt;https://qa.debian.org/popcon.php?package=ipython&lt;/em&gt;&lt;/a&gt; &lt;a href="#fnref18" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn19" class="footnote-item"&gt;&lt;p&gt;“Learning IPython for Interactive Computing and Data …” 2014. 30 Jan. 2015 &amp;lt;&lt;a href="https://www.packtpub.com/big-data-and-business-intelligence/learning-ipython-interactive-computing-and-data-visualization"&gt;&lt;em&gt;https://www.packtpub.com/big-data-and-business-intelligence/learning-ipython-interactive-computing-and-data-visualization&lt;/em&gt;&lt;/a&gt;&amp;gt;, &lt;a href="#fnref19" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn20" class="footnote-item"&gt;&lt;p&gt;“IPython Notebook Essentials | Packt.” 2014. 30 Jan. 2015 &amp;lt;&lt;a href="https://www.packtpub.com/application-development/ipython-notebook-essentials"&gt;&lt;em&gt;https://www.packtpub.com/application-development/ipython-notebook-essentials&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref20" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn21" class="footnote-item"&gt;&lt;p&gt;Rossant, Cyrille. &lt;em&gt;IPython Interactive Computing and Visualization Cookbook&lt;/em&gt;. Packt Publishing Ltd, 2014. &lt;a href="#fnref21" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn22" class="footnote-item"&gt;&lt;p&gt;“Python for Signal Processing — Featuring IPython Notebooks.” 2013. 30 Jan. 2015 &amp;lt;&lt;a href="http://www.springer.com/engineering/signals/book/978-3-319-01341-1"&gt;&lt;em&gt;http://www.springer.com/engineering/signals/book/978-3-319-01341-1&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref22" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn23" class="footnote-item"&gt;&lt;p&gt;“Mining the Social Web, 2nd Edition — O’Reilly Media.” 2013. 30 Jan. 2015 &amp;lt;&lt;a href="http://shop.oreilly.com/product/0636920030195.do"&gt;&lt;em&gt;http://shop.oreilly.com/product/0636920030195.do&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref23" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn24" class="footnote-item"&gt;&lt;p&gt;“A gallery of interesting IPython Notebooks · ipython … - GitHub.” 2013. 30 Jan. 2015 &amp;lt;&lt;a href="https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks"&gt;&lt;em&gt;https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref24" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn25" class="footnote-item"&gt;&lt;p&gt;“Practical Numerical Methods with Python | GW Open edX.” 2014. 30 Jan. 2015 &amp;lt;&lt;a href="http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about"&gt;&lt;em&gt;http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about&lt;/em&gt;&lt;/a&gt;&amp;gt; &lt;a href="#fnref25" class="footnote-backref"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content><category term="funding"/></entry></feed>