Why have all this stuff?
http://petsc.cs.iit.edu/petsc/petsc-dev/rev/49c718f99df2
Why not build into the PETSc C code and structures any (small) additional stuff needed to do all this? Why create another entirely new duplicate structure in python to do it?
Barry