Ren'Py is a programming language and runtime, intended to ease the creation of visual-novel type games. It contains features that make it easy to display thoughts, dialogue, and menus; to display images to the user; to write game logic; and to support the saving and loading of games.
Ren'Py tries to be like an executable script, allowing you to get a working game without much more effort than is required to type the game script into the computer.
Ren'Py is implemented on top of Python, and that Python heritage shows through in many places. Many Ren'Py statements allow Python expressions to be used, and there are also Ren'Py statements that allow for the execution of arbitrary Python code. Many of the less-used features of Ren'Py are exposed to the user by way of Python. By only requiring use of the simplest features of Python, it's hoped that Ren'Py will be usable by all game authors.