FeO3 (Iron Oxide) can be referred to as Rust and presumably the name PyO3 makes reference to that.
It’s a double pun because -O3 is the highest optimisation level for many compilers.
This explains why they didn't go with PyO2!
Python Oxide
It’s a chemistry pun about the process of oxidation, oxides (such as rust) have a chemical formula of XO3 where X is the oxidized element. The library is called Py Oxide (PyO3) where the oxidized element is Python