Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

Bruce, the Presentation Tool

Project description

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

Please REMOVE any previous installation of Bruce!

Changes in this release:

  • add rendering of tables
  • add “bullet mode” for faster presentation styles
  • add support for Pygments code colorisation
  • add code block for displaying code blocks
  • add blank page marker
  • pop up a simple GUI when no command-line args given
  • fix page number in window title
  • set the clear color to the layout bgcolor
  • generate warnings when unhandled docutils features are encountered
  • handle doctest

Bruce, the Presentation Tool version 3.0 Features

  • displays ReStructuredText content with one page per section or transition
  • has a “bullet mode” which displays one page per bullet point
  • handling of most of ReStructuredText, including:
    • inline markup for emphasis, strong and literal
    • literal and line blocks
    • tables
    • block quotes
    • definition, bullet and enumerated lists (including nesting)
    • images - inline and stand-alone, including scaling
    • page titles (section headings)
  • page layout and 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 layout changes on the fly (eg. multiple fonts per page)
    • transitions between pages
  • 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


Please REMOVE any previous installation of Bruce!


And you may also optionally install:

  • Pygments 0.10 or later
  • Tkinter for the GUI interface (Tkinter is usually bundled with Python)

To install Bruce, run:

# python install

How to use Bruce, the Presentation Tool

To invoke bruce, run:

% bruce [presentation source.txt]

With no command-line arguments Bruce will pop up a simple GUI.

There’s a number of command-line controls - use bruce -h to learn what they do.


left, right arrows; left, right mouse button; space bar (forward)
Move back and forward pages.
page up, page down
Move back and forward 5 pages.
mouse scroll wheel
Scroll large page content. You may also drag the contents up or down by dragging a left mouse button press up and down the screen. If a page has an embedded Python Interpreter you may use the scroll-wheel to scroll its contents (when the mouse is over the interpreter). Clicking and dragging always scrolls the whole page.
Switch between fullscreen and windowed mode
Exit presentation
home, end
Go to the first or last page

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 (or bundled with the source) and the source examples directory.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for bruce, version 3.0
Filename, size File type Python version Upload date Hashes
Filename, size bruce-3.0.tar.gz (1.6 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page