A reproducible virtual environment intended as a learning tool which contains basic infrastructure for scientific computing and is highly portable.
The Scholar’s Backpack is a virtual environment that provides basic infrastructure for scientific computing with Python and R, including commonly used libraries for each language. It also contains a Jupyter notebook server and sample notebooks. The Scholar’s Backpack is a fully reproducible environment built using Vagrant, Ansible, and VirtualBox. The goal of the backpack is to decrease the overhead of locating, installing, and learning how to use new tools and to increase the reproducibility of scientific computing environments. The backpack is lightweight and highly portable with low overhead for sharing environment configurations between users. It has a diversity of applications and has been particularly useful in instruction settings to standardize student computing environments accross diverse machines.
How We Did It
The Scholar’s Backpack uses Vagrant, VirtualBox, and Ansible to set up a reproducible computing environment that includes: Python 3 and a series of Python libraries that support scientific computing needs; R and RStudio as well as packages for scientific computing; and a Jupyter Notebook server which starts up with the machine and enables users to quickly and easily access and create Jupyter Notebooks.
The virtual machine is set up by Vagrant which is an open source tool that simplifies the creation of development environments. All set up instructions for Vagrant are easily reproducible because they are recorded in a single text file, allowing anyone to set up the same environment though a single command. The box itself is structured using VirtualBox, an open source tool that provides the container in which Vagrant sets up the machine. Finally, to further simplify the process and make it more transparent to beginners, we use Ansible as a provisioner. This allows us to add and remove libraries or tools that we want included in the environment using Ansible playbooks which are also easily reproducible text files. The operating system employed by the Scholar’s Backpack is Centos 7.
Publications and Presentations
Blaine, A., Davidson, B., DiMonte, L., Garret, J., Grguric, E. (2016). "Open science: How libraries can support modern research practice", Digital Library Federation Annual Forum, Milwaukee, WI, November 8, 2016.
Blaine, A., Davidson, B., DiMonte, L., Garret, J., Grguric, E. (2016). "Supporting the modern research skillset: The summer of open science", Digital Library Federation Annual Forum, Milwaukee, WI, November 8, 2016.
Grguric, E., Davis, H., and Davidson, B. (2016). "Supporting the Modern Research Workflow", Poster session presented at the Association for Information Science and Technology Annual Meeting. Copenhagen, DE, October 17, 2016.
Davidson, B. and Grguric, E. (2016). "The modern research skill set: Using Vagrant, Ansible, and Python to support researchers", PyData Carolinas, Durham, NC, September 15, 2016.
Davidson, B. and Grguric, E. (2016). "Exploring the Role of the Library in Supporting Open Science", Poster session presented at the IFLA World Library and Information Congress. Columbus, OH, August 15-16, 2016.