Skip to content

ReportLab Plus version installation

Version 4.0+ installation


pip install rlextra -i

If generating bitmaps make sure to add the PyCairo extension:

pip install "rlextra[pycairo]" -i

Version 4.0 + Optional extensions

We finalised our optional extensions in 4.0.4, make sure to have >=4.0.4 installed for the below instructions.

Since ReportLab 4.0 we have moved to pure Python! This has massively reduced our build time but we appreciate some users may still want to take advantage of the acceleration packages so we have kept them as extra dependencies.

These are all available to build from source in our Mecurial Repository.

pip install "rlextra[accel]" -i

This holds the basic C acceleration code for speedup relating mainly to obtaining the length of strings. As Python itself has undergone considerable efficiencies, there is now less need for this package.

pip install "rlextra[renderpm]" -i

RenderPM was used to speedup the functions and making bitmap images. This wraps up an old graphics engine we previously used, more recently we depend on PyCairo below as our default graphics engine.

pip install "rlextra[pycairo]" -i

rlPyCario (wrapper for IBM's Cairo) and freetype-py are used for construction of rich PDF documents, and also the creation of charts in a variety of bitmap and vector formats.

Version 3.1+ installation

As of 2014, users are strongly recommended to use ReportLab 3.1.6 or higher.

ReportLab PLUS packages are hosted in our private PyPi repository. Authentication is required to download - gain access by creating a login (it's free and only takes a few seconds).


(For previous versions of ReportLab PLUS please use the old installation instructions. Existing users should note that ReportLab 3.1+ is compatible with previous versions of RML.)

Linux & OSX (and similar) installation

You can install direct from our PyPi repository. Ensure you have updated pip prior to running the commands. Use your email address and password when prompted.

pip install rlextra -i

Downloading/unpacking rlextra
User for
Password: your password
  Downloading rlextra-3.1.9.tar.gz (8.4MB): 7.9MB downloaded

For an automated install in a requirements file or build script, check your user name on our web site profile page, and use that (an email address would confuse pip). Note that the command must be split over two separate lines as shown below, with the extra repo AFTER rlextra, in order to work:


Our documentation pages contain FAQs, tutorials, examples and other useful information to get you started. If you run into problems please contact us for help.

Windows installation

If you are on Windows we recommend using pip-win, a graphical version of the pip packaging tool. (Getting Python up and running on Windows can be a challenge - if you are totally new we recommend Tyler Butler's handy guide.

  1. Install Python 2.7 or 3.3+ from the Windows page.
  2. Install and run pip's Python package manager for Windows "pip-win".

pip-win offers a command line. Use it to run the following two commands in turn:

upgrade (updates pip to latest version)\

pip install rlextra -i

( installs ReportLab PLUS & all associated packages direct from our private PyPi repository)

Follow the on-screen prompts as they appear (it may cycle through a number of installations during the upgrade but stick with it.

Manual installation / behind a firewall

You can browse to our private PyPI repository here, using the passwords above, and manually download the 'rlextra' package. The other required packages are available on the main Python package index. All will work with python install or with easy_install

Detailed prerequisites, dependencies and FAQs

  1. rlextra and reportlab - your versions of rlextra should be in sync with the version of reportlab. If not you will get unexpected errors.

  2. Python Imaging Library - needs to be compiled with support for JPEG, PNG and FreeType fonts. On Windows, it's not an issue as you get a precompiled binary.

    On Ubuntu 12.04 (others may vary) try

    sudo apt-get install libjpeg8-dev libfreetype6-dev libpng12-dev

    On Mac OS using Homebrew, try

    brew install libjpeg libtiff freetype

    The current set of dependencies at the time of writing is listed below. reportlab and rlextra specify their dependencies, so most installation systems will fetch them for you. You can use this in requirements files if you wish

    pillow >= 2.4.0 reportlab >= 3.1.6 pyrxp >= 2.1.0 preppy >= 2.3.0 pmw >= 1.3.3 #ONLY used for Diagra charts customers rlextra >= 3.1.6 3. If using version >=4.0 see above 'Version 4.0 + Optional extensions'

Example programs, documentation and tests

The Python installation system unfortunately doesn't have a place for documentation, tests and examples for end users. We therefore keep all these things in a public Mercurial repository which you can browse online and clone locally to play with.

To pull this down, run this command, then look at the README

hg clone

If you are stuck behind a firewall, our Mercurial repo has a link (at the bottom of the left side menu) to download this in a zip file.

Please let us know your thoughts on how the package installs, any issues you run in to and how it works with your existing ReportLab apps by emailing (evaluators) or (licensed customers only)

The ReportLab team.