Skip to main content

pgreloaded — wiki

[ED: this is an old page. pgreloaded finished. The author moved onto pysdl2 (which is still going).]

Pygame Reloaded


Pygame Reloaded (aka pygame2, pgreloaded) is an ongoing rewrite of the Pygame multimedia and game framework. As Pygame, its purpose is to make writing multimedia applications, such as games, with Python as easy as possible, while providing the developer a reliable and extensible programming interface. It features a modular and loosely coupled package and module layout and access to the most features of the libraries it wraps.

Pygame Reloaded can be installed side-by-side with Pygame as it uses a different package namespace and thus will not cause any conflicts with another Pygame installation.

Pygame Reloaded is not backwards compatible with pygame - and work on pygame is still continuing.

What's different from Pygame?

The key differences between Pygame and Pygame Reloaded can be found in the module layout and integration purpose. Where Pygame is a fully integrated package with nearly anything ready to use after doing a simple import and init, Pygame Reloaded uses a more modular approach, where each module needs a seperate import and a few more lines of code to get anything ready to use.

Especially the SDL-related modules try to wrap all portions of the original C API in a 1:1 manner, using Python's full power.

What looks like more work gives you, the developer, a fine-grained control about what to use and what to ship with your application or game. As the package and API layout, Pygame Reloaded's build system is very modular, allowing you to build and distribute only the necessary parts for your application or game.

Making use of basic abstraction and interfacing rules, Pygame Reloaded offers a variety of base classes, where third party modules can hook up and interact with certain other parts of Pygame Reloaded. This gives you, third party libraries and anyone else more flexibility for interoperational tasks and information sharing.


The source and documentation packages as well as prebuilt Win32 installers are available from

Version History

The latest release is 2.0.0-alpha4 featuring

  • New pygame2.math module (port from trunk)
  • New pygame2.midi module (port from trunk)
  • New pygame2.resources module for easy resource management
  • New pygame2.openal module (quite early and in an experimental state, no documentation yet)
  • New CPyStreamWrapper C API for generic stream handling
  • New (experimental) Clang and Intel C compiler support
  • SDL blit and fill operations with blending flags can utilize the OpenMP library to speed up performance on systems supporting parallelization (e.g. multi-processor hardware)
  • sdl.time timers are thread aware now
  • Updated SDL_mixer and SDL_image dependencies to 1.2.11 and 1.2.10
  • Fixed various bugs, including reference count leaks, argument handling issues and dll installation on Win32

This is an alpha release for testing purposes and not meant to be run in production environments.