cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is built over pyglet. It provides some conventions and classes to help you structure a "scene based application".
A cocos2d application consists of several scenes, and a workflow connecting the different scenes. It provides you with a "director" (a singleton) which handles that workflow between scenes. Each scene is composed of an arbitrary number of layers; layers take care of drawing to the screen (using the pyglet and OpenGL APIs), handling events and in general contain all of the game/application logic.
Cocos simplifies the game development in these areas:
- Defining a workflow for your game
- Creating special effects in layers
- Creating transitions between scenes
- Managing sprites
- Basic menus
For more information, visit the cocos2d homepage