<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_gtfs(source_path, target_path, buffer, ndigits):
 """ Create a GTFS feed from the files in the directory SOURCE_PATH. See the project README for a description of the required source files. Save the feed to the file or directory TARGET_PATH. If the target path ends in '.zip', then write the feed as a zip archive. Otherwise assume the path is a directory, and write the feed as a collection of CSV files to that directory, creating the directory if it does not exist. If a stops file is present, then search within ``buffer`` meters on the traffic side of trip paths for stops. Round all decimals to ndigits decimal places. All distances in the resulting GTFS feed will be in kilometers. """

    pfeed = pf.read_protofeed(source_path)
    feed = m.build_feed(pfeed, buffer=buffer)
    gt.write_gtfs(feed, target_path, ndigits=ndigits)