Very good game without engine! It's always risky to create a game for jam that has many levels, but this game is fun with good optimizing and fun factor!
A small advice for pygame, when you quit pygame, you don't leave the main loop and it will throw an error for the terminated pygame instance. You have to quit from the application too:
if event.type == pygame.QUIT:
pygame.quit()
sys.exit() # thats the neat part
Good work after all!