Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

MagicPoint to PDF converter

Project Description

This is a quick-and-dirty MagicPoint to PDF converter.

It supports only a subset of MagicPoint, specifically, the subset I’ve used in my slides so far. If you send me your slide decks, I’ll make mgp2pdf handle them too.

SUPPORT.rst has a list of supported and unsupported features.

BUGS.rst has a list of known bugs.


pip install mgp2pdf


mgp2pdf [-v] [--unsafe] slides.mgp [-o output.pdf]
mgp2pdf [-v] [--unsafe] slides.mgp ... [-o directory]
mgp2pdf [-h|--help]

Why another converter?

I used mgp to produce slides for a Python course I taught at Vilnius University. However, since most of the students are not (yet) Linux users, they couldn’t use MagicPoint to view my slides at home. There are some converters from MagicPoint to PostScript/HTML, but the result either looks ugly, or doesn’t support Unicode characters. MagicPoint itself can produce a number of bitmaps (by taking screenshots), but those are big, and the conversion process is inconvenient (you cannot use your machine while mgp is busy rendering slides and taking screenshots).

I wrote a Python program to interpret MagicPoint commands and produce a PDF file using ReportLab. It can handle my slides (Lithuanian), but otherwise it is probably incomplete. Feel free to give it a try. File bugs for missing features, and I’ll see what I can do.


There’s a web page, of sorts, at

The source code can be found at

Report bugs at

Licence: GPL v2 or later (


0.10.1 (2016-09-17)

  • Correctly recognize ...-...-r fonts as roman (GH #6).
  • Add support for cyan color (GH #5).
  • Fix typo in error message (GH #4).
  • Add Python 3.5 support.
  • Drop Python 2.6 support.

0.10 (2015-01-06)

  • %filter is disabled by default for being a security risk. Use --unsafe to enable.
  • -o DIRECTORY is now supported.
  • Interpret image paths relative to the location of the mgp file.
  • Support Python 3.3 and up in addition to 2.6 and 2.7.
  • More accurate text positioning (mgp2pdf no longer truncates the corrdinates to integral point values).
  • More color names are now recognized: white, red, green, blue, yellow.
  • Better font name recognition (requires fc-match from fontconfig).
  • Improved error handling and reporting.
  • Support %% comment syntax.
  • Corrected handling of %default, %tab, %deffont.
  • Implemented %include.
  • Implemented %newimage -raise (also discovered that mgp itself ignores -raise).
  • 100% test coverage.

0.9 (2014-05-09)

  • First packaged release.

Release History

This version
History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(15.9 kB) Copy SHA256 Hash SHA256
Wheel py2 Sep 17, 2016
(34.5 kB) Copy SHA256 Hash SHA256
Source None Sep 17, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting