Project Technology

In the very barest of sketches, this document lays out the different technologies and resources used for the Python Minecraft code group.

Technologies

Jupyter

The interface to Python used by the students during our workshop is the Jupyter Notebook. The Python code is embedded in Jupyter Notebook files, which are the files named *.ipynb in the source code repository.

The Jupyter project hosts an online notebook viewer that can turn these ipynb files into easily readable versions. Just paste any URL from a GitHub file into the box on the NBViewer site, and and you will it will generate a linkable result like this one.

Online Resources

Source Code Repository

Our code repository lives on GitHub. This repository is the master source for the documents, code examples, and scripts and tools used to support the class.

We try to follow the feature branch workflow in our Git repository. Atlassian provides a nice overview of this workflow.

Mailing Lists

Our mailing list is hosted on Google Groups. It is a public group, open to all.

Project Documentation

The source code for our documentation is in the code repository. A readable, online version is available in our project’s Read the Docs site. Any changes to tracked branches in the repository (especially master) will result in the project documentation being rebuilt so they are current. The Read the Docs project page is the administrative interface for this online version.

Docker Hub

We use Docker Hub to host a public repository that contains the student image used on the lab server for each student. These images are built using the Dockerfile contained in lab-server/student-env-image of our source code repository. Once built, they are pushed to the Docker Hub so they can be retrieved by anyone hosting a lab server, or by students using Vagrant to host an environment on their personal computer.