Conference Schedule

Track one or two? Eeenie, meenie, miney, moe…

log in to bookmark.

The story and tech of Read the Docs

A Talk presented by Eric Holscher


Tuesday, September 6th 1:30 p.m.–2:10 p.m.




Hosting open source documentation was a mess. The best-of-class solution for the Python world as uploading a tarball of html to or doing similar to upload to github pages.. We set out to solve this problem using the current best of class tools that Django has to offer.


"Read the Docs": is the official documentation host for many open source Python projects. It is built around the "Sphinx": documentation toolkit. In the simplest form, we are a hosting provider for Sphinx documentation. However, we have added a lot of features to make this useful. These include:

  • Support for svn, hg, git, and bzr.
  • Post-commit hooks to automatically build documentation on commit
  • A custom Read the Docs styled Sphinx theme.
  • Full-text search across all projects.
  • Support for VCS tags and branches.
  • PDF generation for all documentation.
  • Editing of documentation that results in a pull request on github. (Bitbucket doesn't have a pull request API)

Read the Docs has a lot of the standard parts of any website, and also some other intersting parts that are relatively unique. These include:

  • Subdomains
  • CNAME Support
  • Search using Solr and Haystack
  • Delayed task execution with Celery
  • Front end caching with Varnish
  • Deployment with Chef
  • Multi-server architecture
  • Monitoring with Nagios and Munin

This talk will consist of three parts. The first part is the origin story of the site, how and why it was created over a weekend by 3 people. Then I'll talk about the technology involved as the site has grown. It started out as a very simple site, but as features have been added, it has gotten more complex. Finally I will discus some of the interesting outcomes that come from having a completely open source site, including security and community contributions.