  ${\tt simwave}$ is an open-source Python package to perform wave simulations
in 2D or 3D domains. It solves the constant and variable density acoustic wave
equation with the finite difference method and has support for domain
truncation techniques, several boundary conditions, and the modeling of sources
and receivers given a user-defined acquisition geometry. The architecture of
${\tt simwave}$ is designed for applications with geophysical exploration in
mind. Its Python front-end enables straightforward integration with many
existing Python scientific libraries for the composition of more complex
workflows and applications (e.g., migration and inversion problems). The
back-end is implemented in C enabling performance portability across a range of
computing hardware and compilers including both CPUs and GPUs.
