An interpreter is a program which runs high-level language code (e.g. Python) by translating it into machine code line-by-line as the program runs. As long as a user has the source code for the program to be run, and the relevant interpreter program for their computer, they can run the code. Interpreted programs usually run slower than compiled programs.