Schnolgo is a multi-format musical composition package written in Python. It is built with an extremely flexible system for representing rhythmic structures and is intended to allow for songs to be written so as to make use of "guided improvisation".