grudge helps you discretize discontinuous Galerkin operators, quickly and accurately.
It relies on
- numpy for arrays
 - modepy for modes and nodes on simplices
 - meshmode for modes and nodes on simplices
 - loopy for fast array operations
 - pytest for automated testing
 
and, indirectly,
- PyOpenCL as computational infrastructure
 
PyOpenCL is likely the only package you'll have to install by hand, all the others will be installed automatically.
Resources: