ShapeOp is a header-only C++ library for static and dynamic geometry processing, using a unified framework for optimization under constraints. Examples of its applications include architectural design subject to geometric constraints, and physics simulation of elastic materials. It is developed by the Computer Graphics and Geometry Laboratory of EPFL, in collaboration with Daniel Piker and Anders Holden Deleuran. It is released under Mozilla Public License Version 2.0.