Skip to content
Pydsigner's PYGame Utilities
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Pydsigner's Pygame Utilities

A collection of handy modules for Pygame created by Daniel Foerster (a.k.a. 

This package contains a light but powerful game engine, called Pyramid. The 
core of the engine is contained in (no surprise there). This part 
includes a resource management system, and a stateful manager and event loop.

Additional tools include:
* PMS (, a parser-manager for the Pyramid MetaSong playlist format, 
which provides powerful music control, with random or non-random playback, 
Weighted selection in random mode, and the featured meta-song, which allows 
having an intro track to a unlimited grouping of music tracks.
* PySLIM (, a universal interface to multiple music metadata 
libraries. This tool is not complete, but already gives access to a few 
different libraries.
* PyGW (, a GUI interface for Pygame, is the crowning jewel of this 
library. Designed specifically for Pyramid, this library provides incredibly 
usable yet infinitely customizable widgets. This is done by letting the user 
skin the widgets: whether with a complex graphic, or simply a filled Surface. 
The widgets include a container, which is like an invisible Tkinter frame, 
allowing programmers to built mega-widgets; A simple button; a powerful text 
entry supporting cut, copy, and paste; and a scrollable container. This is not 
a complete list, and more are to come, including a scrollbar for use with the 
afore-mentioned scrollable container.

PyGU is distributed under the LGPLv3 (or greater), see COPYING for details.


To see some examples:

$ cd examples

And then:

$ python

The only serious program that I know of that uses this library is my Chromium 
BSU spinoff, Celestron. To see this library in a real situation, go to:


If you would like to contribute to PyGU in any way, whether through bug 
reports, bug fixes, better code, or new code altogether, please follow these 

1) If you are sending a large amount of code, please make a Git diff and email 
   it to me. Otherwise, go to the website given above and follow the standard 
   procedures. There is a special tab for bugs.

2) If you sent an email, just watch your inbox. If I want more information, I 
   will tell you. If I thought it was worthy, I will thank you and get you up 
   in the AUTHORS file, etc. If I didn't think it was worthwhile or that it 
   wouldn't fit in, I will thank you anyways. If you used Github, do the same 
   things, but watch the website instead.

If you use this library to do something useful, be sure to let me know! 
This library has changed in backwards-incompatible ways in the past, being 
prepared to modify my works that use this library, but I understand that not 
everyone has the time or wish to do so.
You can’t perform that action at this time.