GPRPy is a free and open source ground penetrating radar processing and visualization software. It is compatible with GPR data collected using Sensors&Software, GSSI, and Mala GPR systems. GPRPy can also read ENVI BSQ data files. Other GPR systems may be supported as well if the data can be exported as a binary file with a separate textfile header. GPRPy has three major components: (1) profile, (2) CMP / WARR, and (3) interpolation of profiles to create 3D data cubes. The first two components come with a graphical user interface. The third component requires scripting. One of the main features of GPRPy is that it can automatically create processing scripts from the graphical user interface. These processing scripts contain all steps carried out by the user in the graphical user interface. They can be executed directly from the command line. This allows for reproducible research and creating batch jobs to process large numbers of similar profiles, such as for interpolating 3D profiles. GPRPy is built on the programming language Python and can thus be installed on any Python-compatible operating system including Windows, Mac, and Linux.