Many physical phenomena can be modelled using boundary integral equations, and discretised using the
boundary element method (BEM). Such models only require the discretisation of the boundary of the domain,
making the setup of the simulation straightforward and lowering the number of degrees of freedom. However,
while many parallel efficient libraries are available for the Finite Element Method (FEM), the implementation of
scalable BEM solvers still poses many challenges. We present the open source framework π-BEM (where π stands
for parallel): a novel boundary element method solver, combining distributed and shared memory paradigms to
achieve high scalability. π-BEM exploits high performance libraries and graph partitioning tools to deliver a
parallel solver employing automatic domain decomposition, high order elements, local refinement capabilities,
and exact geometry-adaptivity (using CAD files). A preliminary fast multipole accelerator is included in the
implementation. Every aspect of the library is modular and easily extendible by the community. We discuss the
internal structure of the code, and present some examples to demonstrate the reliability and scalability of our
implementation.