Could we not simply do the petsc4py initialisation in firedrake/__init__.py to achieve this?