I’m thinking about something like FENICS or deal.ii: they provide tools that bring you through meshing and assembly and leave you with this discretized version of the differential operators.
This is a good example from FENICS:
It has all of the tools to define the equation in terms of discretized differential operators. I want to have the backend do just this: use an FEM toolbox to build up some standard discretizations (these steps are shown as lines 1-46), and then solve these problems with various timestepping routines (for time-dependent problems, pluging in some linear/nonlinear solvers as needed).