[cairo] How to make a pycairo release happen ?

Lawrence D'Oliveiro ldo at geek-central.gen.nz
Sat Sep 17 22:24:05 UTC 2016

On Sat, 17 Sep 2016 16:11:44 +0000 (UTC), Stuart Axon wrote:

> When it comes to the legacy code, e.g. Shoebot it would
> be great to have pip installable version of pycairo that supports
> modern Cairo.

The problem is the amount of work it would take. I looked at doing
that, then realized that starting from scratch in pure Python, I could
fill in all the missing graphics features with less effort than it
would take to write the necessary C code for PyCairo.

Not to mention the extra stuff you get for free, just by writing in
Python. Like being able to pass arguments by keywords--an ongoing
irritation I kept hitting every time I wrote something using PyCairo.

Also, PyCairo has its own special API to allow other C extension
modules to hook into it. All this becomes unnecessary in a pure-Python
module. Python has no concept of “private” or “public” object members;
as Guido van Rossum has said “we’re all consenting adults here”. The
leakiness of Python abstractions is not a bug, it’s a feature; you can
peek into the internals of a class if you want (e.g. to add features
that the original creator of the class did not envisage), but it’s up
to you to wear the consequences of that.

More information about the cairo mailing list