@inproceedings {25047,
	title = {Jupyter Notebooks: a publishing format for reproducible computational workflows},
	journal = {20th International Conference on Electronic Publishing},
	year = {2016},
	pages = {87-90},
	publisher = {IOS Press},
	abstract = {It is increasingly necessary for researchers in all fields to write computer code, and in order to reproduce research results, it is important that this code is published. We present Jupyter notebooks, a document format for publishing code, results and explanations in a form that is both readable and executable. We discuss various tools and use cases for notebook documents.\&nbsp;},
	keywords = {notebook, reproducibility, research software},
	doi = {10.3233/978-1-61499-649-1-87},
	url = {http://ebooks.iospress.nl/publication/42900},
	author = {Kluyver, Thomas and Ragan-Kelley, Benjamin and Perez, Fernando and Granger, Brian and Bussonier, Matthias and Frederic, Jonathan and Kelley, Kyle and Hamrick, Jessica and Grout, Jason and Corlay, Sylvain and Ivanov, Paul and Avila, Dami{\'a}n and Abdallah, Safia and Willing, Carol and Jupyter, Project}
}
@misc {25039,
	title = {Jupyter: Notebooks in Multiple Languages for Data Science},
	howpublished = {PyData Amsterdam},
	year = {2016},
	publisher = {PyData},
	abstract = {Jupyter notebooks have become an invaluable tool for all kinds of data science. Originally developed as part of the IPython project, notebooks have evolved from a Python specific tool to support many programming languages; more than 50 different execution kernels have now been published. For all of these languages, notebooks are a way to record and describe a data science workflow, and then share it, publicly or privately, allowing the recipients to easily modify and execute the code.We\&rsquo;ll describe the architectural changes and decisions involved in the transition to supporting multiple languages, as well as our own experience in supporting data science languages ranging from C++ to R to Bash. You\&rsquo;ll also get a high-level understanding of how to create a new kernel, if a language you\&rsquo;re excited about is not yet supported.We\&rsquo;ll also highlight some of the current development work taking place in and around Jupyter, including redesigned UI, mechanisms for collaboration on notebooks, ways to share live, executable notebooks online, and projects that reuse the Jupyter machinery in different user interfaces.},
	keywords = {data science, jupyter, notebook, python},
	url = {http://pydata.org/amsterdam2016/schedule/presentation/19/index.html},
	author = {Ragan-Kelley, Benjamin and Kluyver, Thomas and Jupyter, Project}
}
@misc {25040,
	title = {JupyterHub: Deploying Jupyter Notebooks for students and researchers},
	howpublished = {PyData London},
	year = {2016},
	type = {Tutorial},
	abstract = {The Jupyter Notebook is an interactive web-based tool for interactive programming and writing code-centric documents. Being a web-based environment, the notebook server can be run remotely, not just on your local machine. JupyterHub is a multi-user server, aimed at helping research groups and instructors host notebook servers for their users or students. By default, JupyterHub uses the local system users and PAM authentication, but it can be customized to use any authentication system, including GitHub, CILogon, Shibboleth, and more. The way single-user servers are spawned can also be customized to use services such as Docker, Kubernetes, or HPC cluster queuing systems. The tutorial will cover a basic deployment of JupyterHub on a single machine, then extending it to use docker and GitHub authentication, as well as general best practices for JupyterHub deployment.},
	keywords = {jupyter, jupyterhub, notebook},
	url = {http://pydata.org/london2016/schedule/presentation/59/},
	author = {Ragan-Kelley, Benjamin and Kelley, Kyle and Kluyver, Thomas}
}
