Jupyter, a free, open-source notebook serving as a platform for interactive computing, will receive the Association for Computing Machinery, or ACM, Software System Award on June 23.
According to the ACM website, the Software System Award comes with a $35,000 prize and is awarded to those who create software with lasting implications. Jupyter was chosen because of its broad and transformative impact on programming in science after nominations were submitted to the ACM by multiple entities, according to the nomination documents.
“The flexibility of the Jupyter architecture makes it easy to deploy in a variety of scenarios,” said Shane Canon, a project engineer at the National Energy Research Scientific Computing Center, in a press release. “While individual users can run the tools on a personal laptop or workstation, the same tools can be deployed on remote resources.”
According to Matthias Bussonnier, a core developer of Jupyter, the program originated in 2001 with Fernando Perez, who is now an assistant professor of statistics at UC Berkeley, and was called IPython at the time. The first version of the notebook was released between late 2011 and early 2012. Jupyter’s developers wanted to run other languages besides that of IPython, so they collaborated with developers to be able to run Julia — another computing language — within IPython in 2012.
“One afternoon in late 2001, I was a physics graduate student at the University of Colorado working on my dissertation and decided to spend an afternoon writing the original, tiny version of IPython,” said Pérez, co-creator of Jupyter, in a press release. “I could not have imagined that this would grow into a worldwide platform almost two decades later.”
Bussonnier said that by 2014, all the language agnostics — aspects of programming that are not part of any specific language — became part of IPython, which was renamed Jupyter that year because of the inclusion of the other languages. Today, more than 100 languages are part of Jupyter.
According to assistant teaching professor and Data 8 instructor John DeNero, Jupyter was created by Pérez to make it easier to write programs interactively. He added that a big part of Jupyter is that software developers can write a little code and run it, then write some more instead of having to write from scratch every time, making it easier to see progress.
“Across all scientific disciplines, people are struggling with scientific data sets,” said Kathy Yelick, associate laboratory director of Berkeley Lab Computing Sciences. “Jupyter has been a very useful tool for scientists and has been used by over 500,000 projects.”
DeNero said Jupyter makes students more productive across courses. He added that this is because students don’t need to install anything, which could take students an hour before they begin any programming. Jupyter can be accessed by a web page browser, so students can start programming within a few minutes of class.
“Jupyter is good for beginners,” said Data 8 student Eshaan Pathak. “It’s really easy to use, and it has an interface to it, making it more appealing.”