Skip to content
Jorj X. McKie edited this page Apr 3, 2018 · 2 revisions

Motivation

Because PyMuPDF is based on the fabulous C library MuPDF, installation has always been burdened with a layered approach: first install MuPDF, then PyMuPDF.

MuPDF is a combination of standalone, command line tools and a library of functions, both written to support a plethora of platforms: among them desktop computers (MS Windows, MacOSX, Linux, and more) and smartphones (Android). Everything (at least for desktops) is supplied in source format only (for Windows, the command line tools are available as binary executables, too).

MuPDF in turn relies on about half a dozen other freeware, which must be concurrent with it, and also be compiled from source. This "thirdparty" software is distributed along with MuPDF's source.

So, this first step is error-prone and not perceived as fun by everybody.

Compared to this, generating PyMuPDF is straightforward Python C-extension compilation, and no real challenge if you correctly reference the libraries of MuPDF.

I always felt that the purpose of PyMuPDF (after all it is just a way to access a handful of special file formats) is in no favorable relation to its installation effort. While some developers certainly will enjoy going through all this and kicking issues out of the way, many more have probably other things to worry about. Having a fairly complete freeware for PDF access is not the goal of their work, but just a tool to achieve yet other goals.

So, wrapping up, I think since end of March 2018, we are where we ever should have been: everyone using a mainstream Python desktop platform can now choose to install PyMuPDF as a binary Python wheel.

Which Wheels?

We are producing wheels for MS Windows, Mac OSX and Linux for Python versions 2.7, 3.4, 3.5, and 3.6. On Windows, sneak versions of Python 3.7 are also available.

Support of versions prior to Python 2.7 is not possible, but any other version is. We are just restricting ourselves to versions actually in demand.

Windows wheels (provided as 32bit and 64bit and created on my own machine) should run on all Windows versions XP/SP2 and up. They are mainly tested on a Windows 10 64bit machine, but occasionally so on a virtual XP as well.

Linux wheels are provided in 64bit format only. We create them on Travis CI servers using cibuildwheel. This should ensure they can be used on "most" Linux flavours. I am testing them on a virtual Ubuntu 17.10 and on the Windows Linux subsystem (Ubuntu 16.04).

Mac OSX wheels in 64bit are provided in the same way as Linux, via Travis CI and cibuildwheel.

Where are the Wheels?

All wheels can be found here. We also publish them on PyPI. But if you are looking for the most current ones, stay with this repository. You can download any wheel directly here or use PIP.

Clone this wiki locally