PyMuPDF 1.24.3 and Farewell to “Fitz”

Jamie Lemon·May 8, 2024

PyMuPDFRelease
PyMuPDF 1.24.3 and Farewell to “Fitz”

What’s in a name?

Up until now when writing PyMuPDF Python code one of the first things a developer will notice is the initial required import:

import fitz

Hmmm ??? So then you might think:

“PyMuPDF = Fitz? But why?” …

For me this breaks a simple user experience ( or developer experience if you prefer ) law: Don’t make me think

But how about we have some fun with our thinking here …. 😊

Thinking about it …

Who or what is this “Fitz"?

Rumors abound, but some of the following theories are:

“Fitz” is for F Scott Fitzgerald

The original developer was inspired by F Scott Fitzgerald, loved reading his books and wanted to pay homage to the famous author.

“Fitz” is for Fitzcarraldo

Actually, no! They were fans of this obscure film and the struggle of developing the software was similar to events in the film.

“Fitz” is for Fitzrovia

No, no, that’s not right either, it is very simple, they lived in this area of London, and just wanted to squeeze the name in somehow.

Alas, none of these theories from the dark web can be proven…

So let’s ask ChatGPT about Fitz …

GPT fitz

Wait? What? Fitz references “Fully Integrated Technology Zone, or “Free Implementation of the PDF Specification”, or the character “Fitzgerald” from an obscure comic strip?!?

Unfortunately, after talking to our developers, they assure me that ChatGPT’s claims and suggested acronyms are all simply incorrect. So just some fantastic AI hallucinations there! 

But, you have to admire the creativity here, as well as ChatGPT’s adamant statement “I hope this clears up any confusion” ......... more like: “I hope this made you laugh out loud”. 😆

Why not just ask a MuPDF developer?

The truth is, you can get the answer very quickly by asking a MuPDF core developer, the explanation is as follows: 

Fitz points to the old Celtic meaning of “son of” in Celtic languages. As it was to be a fusion, and thus the “son of” two other pieces of software, the “fitz” name stuck.

Basically, “fitz” = “son of”, see: https://en.wikipedia.org/wiki/Fitz

We have the answer!. 🙂

Okay, solved! But, so what?

Throughout this post, I’ve been thinking about something that we really didn’t need to waste time thinking about, but I hope we all had some fun.

However, we want to provide the best DX, a DX which means you don’t have to read stupid irreverent posts like this full of speculation over a word or a piece of terminology.

So, with release 1.24.3 of PyMuPDF, we will now do what feels obvious:

import pymupdf

We hope for the developers that …. This. Just. Makes. Sense.

Note, if you wish, you can still use import fitz, this will continue work in exactly the same way as the new import, and we will always support this backwards compatibility.

I hope you enjoyed this investigation and thought experiment and it made you smile.

Enjoy using the new import!

Find out more about PyMuPDF on our documentation site.