Geographic Information Systems (GIS) have many applications in the hydrological sciences. However, GIS software is often expensive and difficult to automate. This paper will demonstrate how to automate GRASS GIS software using the Python programming language. Both GRASS GIS and Python are open source projects that are free for anyone to use. Automation of GIS processes is important when dealing with large-scale geographic studies, as large GIS maps are usually divided into discrete tiles. When conducting GIS transformations on such maps, the user must repeat the action for each tile, a process that is greatly expedited through automation. The paper will work through several examples of automated GIS processes and provide complete Python codes that demonstrate correct syntax for working with GRASS GIS applications. The provided examples will demonstrate automation of the following processes 1.) using raster math to calculate foliage thickness from LIDAR and DEM data; 2.) conducting raster interpolation from a set of vector points to develop a continuous hydraulic conductivity coverage; 3.) automating raster coloration to sync the coloration of a large number of raster tiles for website display, and 4.) constructing contoured vector lines from topography rasters. These examples programs will serve as the building blocks for readers, giving them the tools to automate any GIS process using Python and GRASS GIS.