def METHOD_NAME(directory):
    """Returns an iterable list of JSON files and associated zipcodes.
    Returns iterator of (zipcode, filename) pairs.
    """
    search_path = os.path.join(directory, "*.json")
    filenames = list(
        filter(lambda f: re.search(r"/\d{5}.json$", f), glob.glob(search_path))
    )
    if not filenames:
        raise RuntimeError("no input files found in {}".format(directory))
    logger.info("Found %d input files", len(filenames))
    for filename in filenames:
        match = re.search(r"/(\d{5}).json$", filename)
        zipcode = match.group(1)
        yield zipcode, filename