What's a better programmatic vector graphics library than (py)Cairo? For example, I want to draw a (linear gradient) between two curves, with the color dependent on the vertical position as a fraction of the distance between the curves. It appears that in cairo I need to mess with MeshPatterns to do that, which creates quite a few annoyances (e.g. having to draw one of the curves backwards, have to actually draw the vertical stubs at both ends, etc.).