This repository contains a method guide and python code for delineating watersheds with an optional stream burn-in. The full technique is described in the doc folder, but this is a common approach that was automated for the purposes of generating watersheds and maps for URI's Watershed Watch.
doccontains manual instructions, script usage information and caveats.srccontains a standalone script for use witharcpydatacontains a small sample dataset to run the scripts with. The AOI is the Indian Lake watershed - included is the pour point, clipped NHD flowline and clipped DEM.
You'll need the arcpy that ships with ArcGIS. It's recommended that you run this script against the python binary included with ArcGIS - otherwise you have to jump through hoops. See the instructional doc for more information.
Additionally, to use the script in its current form, you'll need a small helper libray, extarc. From the terminal, type:
pip install --editable=git+https://github.com/joshpsawyer/extarc.git#egg=extarcto download the latest stable version from github. Eventually, this will make its way into PyPI and can be installed with pip or conda in normal fashion. Finally, it's useful to use pyprojroot for managing paths. These scripts use it. To install, type:
pip install pyprojroot