@@ -0,0 +1,1074 @@
+#!/usr/bin/env python3%0Aimport os%0Aimport subprocess%0Afrom argparse import ArgumentParser%0A%0A%0Adef solve_day(day):%0A    script = 'src/adventofpython/day_%7B:0%3E2%7D.py'.format(day)%0A    input = 'input/%7B:0%3E2%7D.txt'.format(day)%0A    if os.path.isfile(input) and os.path.isfile(script):%0A        print('Day %7B:0%3E2%7D'.format(day))%0A        print('------')%0A        return subprocess.run(%0A            %5B'python3', script%5D,%0A            stdout=subprocess.PIPE,%0A            universal_newlines=True)%0A    else:%0A        print('Invalid day %7B:0%3E2%7D'.format(day))%0A%0A%0Adef solve(day):%0A    days = range(1, 26)%0A    if day == 0:%0A        for number in days:%0A            print(solve_day(number).stdout)%0A    elif day in days:%0A        print(solve_day(day).stdout)%0A    else:%0A        print('Invalid day %7B:0%3E2%7D'.format(day))%0A%0A%0Aif __name__ == '__main__':%0A    parser = ArgumentParser(prog='solve.py',%0A        description='Solves the problem from Advent of Code 2016 for a given day')%0A    parser.add_argument('day', default=0, type=int, nargs='?', help='the day to solve')%0A    args = parser.parse_args()%0A%0A    solve(args.day)%0A%0A

Add python solution runner