Project Euler 81 (minimum path sum through a matrix)
That's a nice, elegant algorithm! I can only nitpick.

file is not a good name for a file handle because it shadows a built-in with the same name. (I use fh for this kind of thing.)

It would be good to extract the file reading logic from the if __name__:

def read_matrix_from_path(path):
    with open(path) as fh:
        return [list(map(int, line.strip().split(","))) for line in fh]


if __name__ == '__main__':
    print(min_path_sum(read_matrix_from_path("matrix.txt")))


Perhaps most importantly, you can blend this loop into the other one:


for i in range(1, size):
    matrix[i][0] += matrix[0][i-1]



Like this:

for i in range(1, size):
    matrix[i][0] += matrix[0][i-1]
    for j in range(1, size):
        matrix[i][j] += min(matrix[i-1][j], matrix[i][j-1])