Richard Jones' Log: Bruce: ReStructuredText Presentations, now in beta

Mon, 02 Jun 2008

Bruce the Presentation Tool

Bruce the Presentation Tool is for people who are tired of fighting with presentation tools. Presentations are composed (edited) in plain text files. In its basic form it allows text, code, image, interative Python sessions and video. It uses pyglet to render in OpenGL.

Get it from PyPI

Bruce 3.0 Features (this being the first 3.0 release)

  • displays ReStructuredText content with one page per section or transition
  • handling of most of ReStructuredText, including:
    • inline markup for emphasis, strong and literal
    • literal and line blocks
    • block quotes
    • definition, bullet and enumerated lists (including nesting)
    • images - inline and stand-alone, including scaling
    • page titles (section headings)
  • page decorations
  • scrolling of content larger than a screenful
  • sensible resource location (images, video, sound from the same directory as the presentation file)
  • and some extensions of ReST:
    • embedded Python interative interpreter sessions
    • videos (embedded just like images) with optional looping
    • stylesheet and decoration changes on the fly (eg. multiple fonts per page)
  • timer and page count display for practicing
  • may specify which screen to open on in multihead
  • runs fullscreen at native resolution
  • may switch to/from fullscreen quickly


Bruce REQUIRES Python 2.5 and pyglet Subversion r2093, or 1.1 later than beta1 when it's released.

Get it from PyPI

How to write presentations using Bruce the Presentation Tool

Bruce presentations are written as plain-text files in the ReStructuredText format with some extensions. See the examples folder *.rst files for some samples, the simplest being "simple.rst" which displays plain text sentences centered on a white background (using the "big-centered" style):

.. load-style:: big-centered

Text displayed centered on the default white background.


A new page, separated from the previous using the four

Ut enim ad minim veniam.

A Page Title

Pages may optionally have titles which are displayed
centered at the top by default.

and so on. For more information see the HOWTO at the Bruce website.

Comment by Chris on Mon, 02 Jun 2008

Sounds excellent. I'm certainly looking forward to trying it (whenever my next talk may be)

Comment by MishaS on Mon, 02 Jun 2008

Bruce also requires docutils (which does not seem to be part of default python installation on Mac OS X). I did install it (together with pyglet), however after installing latest docutils (rev 5566 from trunk) and pyglet (1.1beta1), bruce bails out somewhere in pyglet.

Can you please advise what versions are you using? :)

Comment by Richard on Mon, 02 Jun 2008

Ahah, whoops, yes it requires docutils too :)

As mentioned in the README etc. you need to get pyglet from Subversion, at least revision 2093 or later.