PyCon 2016 in Portland, Or
hills next to breadcrumb illustration

Saturday 1:20 p.m.–4:40 p.m.

Creating, building, testing, and documenting a Python project - a hands-on HOWTO

Titus Brown, Luiz Irber

Audience level:


We will do a hands-on walkthrough of creating a new Python project, showing how to make use of git and GitHub, PyPI, distutils, nosetests, continuous integration, Sphinx, and other resources to support the development, distribution, and documentation of the project in a completely free and open manner.


It’s possible to host a Python project entirely on free services, but wiring everything together requires knowledge of an intimidating array of software and services. This tutorial will walk attendees through “connecting the dots” between some of the many free services now available for Python projects. Attendees will get hands-on experience with creating a new project on GitHub, writing an initial, distributing the software via PyPI, adding tests, configuring and running continuous integration on pull requests, and making documentation available via Sphinx and ReadTheDocs. We’ll aim for a high-level hands-on overview that gets into the details when necessary, and we’ll be responsive to attendee questions. Attendees will need to bring a laptop with git, Python, and a basic text editor installed, and should have some basic Python programming experience. They will also need Internet connectivity and a modern browser (Firefox, Chrome, or Safari). All three instructors are trained Software Carpentry instructors and are experienced in presenting to a broad audience with a range of expertise. The tutorial materials will be written with no assumption of prior expertise or knowledge and will have lots of screenshots and details.

Student Handout

No handouts have been provided yet for this tutorial