Basically, FEM seems to be a problem that is pretty much "solved". There are numerous powerful frameworks existing, like Trilinos, PETSc, FEniCS, Libmesh or MOOSE.
One thing they have in common: They are extremely "heavy-weight". First, the installation normally is super painful. Second, their interface/API is thick and heavy - you have to translate your whole idea into the thinking of the respective library. That also means, interoperability and extendability for special requirements or existing code is difficult.
Other projects like (random examples) Boost, LibIGL, Aztec (linear solver), Eigen or CGAL demonstrate that it's absolutely possible to write powerful libraries that seamlessly integrate into C++ or Python code, with a very lean and clean interface, without need of installation of a super heavy framework.
Is there a really lightweight package for FEM? I'm not looking for the easy, automagic solver - I'm looking for a library that offers powerful functions while maintaining a lean interface, interoperability with common datastructures (C++ STL for example) and lightweight installation (header only for example).