  In the numerical solution of partial differential equations (PDEs), a central
question is the one of building variational formulations that are inf-sup
stable not only at the infinite-dimensional level, but also at the
finite-dimensional one. This guarantees that residuals can be used to tightly
bound errors from below and above and is crucial for a posteriori error control
and the development of adaptive strategies. In this framework, the so-called
Discontinuous Petrov--Galerkin (DPG) concept can be viewed as a systematic
strategy of contriving variational formulations which possess these desirable
stability properties, see e. g. Broersen et al. [2015]. In this paper, we
present a C++ library, Dune-DPG, which serves to implement and solve such
variational formulations. The library is built upon the multipurpose finite
element package Dune (see Blatt et al. [2016]). One of the main features of
Dune-DPG is its flexibility which is achieved by a highly modular structure.
The library can solve in practice some important classes of PDEs (whose range
goes beyond classical second order elliptic problems and includes e. g.
transport dominated problems). As a result, Dune-DPG can also be used to
address other problems like optimal control with the DPG approach.
