Support unavailable
Please try again later

Writing Books using Python & Open Source Software

by wesley chun for EuroPython 2011

All of us are familiar with using open source tools to develop software applications with, but instead of writing code, it is also possible to create the manuscript of a book in very much the same way. These days, authors have many choices in terms of the tools which are available to aid them in writing a book. Gone are the times when the only option is using a proprietary word processor, so why not try it using open source tools? It’s especially attractive to those who develop software using open source tools as well those who are writing books about open source tools. Both code and the written word are created in plain text files. These files are easily archived using some version control system. They can be shared easily via e-mail and can also be backed up in the same manner. In the end, the final product is shipped to the customer: in the case of software, it’s distribution via CD or DVD, or perhaps a release for installation on a server, and for a book, it’s delivering a manuscript to the publisher, perhaps in a format such as HTML or PDF®.

Upon some reflection, writing a book is, in many ways, similar to writing an application: you create text or code which is saved to a file (or files–typically one but could be more) file in some format, proprietary or otherwise. Additions, changes, or deletions are made to the file(s), which is then updated when the file is (re)saved. Backups need to be made, some versioning may be required to keep track of multiple files during the course of development, and finally, the resulting file(s) have to be delivered, as described above. Because of all the similarities described, we assert that it is possible to use a development environment utilizing Python and other open source tools to not only write application with, but also be able to create the entire manuscript for a book as well! While this entire concept should not really be mind-blowing, it does represent a trend seemingly growing in popularity in the open source world.

In particular, we highlight the following requirements that are necessary when creating a manuscript, especially with co-authors:

  • Text Formatting
  • Editing
  • Versioning and Backups
  • Automated Testing of Code
  • HTML/PDF® Generation
  • Author Communication

In this talk, we highlight one particular case study, the development of Addison Wesley’s 2009 publication, “Python Web Development with Django”, as well as provide some insight into other projects created using similar tools. Open source software has radically affected how applications are built today, and this phenomenon has the ability to affect the book publishing world in the same way.



  1. Gravatar
    This one's interesting!

    Looking forward to meet you again, Wesley. (Last met you at PyCon Asia-Pac (Singapore) in 2010)

  2. Gravatar
    Yes, this is an interesting talk because of the radically-different way that I'm proposing of writing books... it's nearly the opposite of using a standalone word processor app on a single (or even multiple) computers. Honestly, there are such great development tools today... we just need the publishing industry to follow the trends. :-)

    Look forward to meeting you as well. Does this mean you are skipping PyCon APAC in favor of EuroPython this year?
  3. Gravatar
    Sorry I can't be in Florence for your talk --- will you be discussing the pain of producing e-books from the same source as print books?
  4. Gravatar
    laski morn is python?
    good good lili lili soke!
    Best Regards

    - lili sucke

New comment

60 minutes (inc Q&A)
Our Sponsors
Python Experts
SSL Matrix
Wanna sponsor?