Pygame-ctypes is a reimplementation of Pygame using ctypes. Internally, it uses SDL-ctypes, a wrapper around SDL using ctypes. Both Pygame-ctypes and SDL-ctypes are maintained by Alex Holkner and supported by Google Summer of Code 2006.
Pygame is a Python package which provides a simplified interface to the graphics, audio and input functionalities of SDL. Until now Pygame was written as a C Python extension. This reimplementation is written purely in Python, giving benefits such as:
As far as possible Pygame-ctypes has been made API compatible with Pygame. However, several new features have already been introduced that are not available in standard Pygame:
The following libraries are optional but are required for some of Pygame's functionality:
Any of the following array modules can be used for the pygame.surfarray and pygame.sndarray functions, and for speeding up some image operations:
Documentation is included in the source distribution under the doc directory. It is also browseable online:
Download and install setuptools, then add the following to your source to use the eggs:
from pkg_resources import require
require('Pygame-ctypes>=0.09')
There's no need to install these eggs, just make sure they are either in the working directory or a directory that's in sys.path.
| Python 2.3 | |
| Python 2.4 | |
| Python 2.5 |
The latest source release for both Pygame-ctypes and SDL-ctypes is:
You can also access the SVN repository directly:
svn co svn://pygame.org/svn/pygame/branches/ctypes-soc
You should generally not install Pygame-ctypes, as it will replace the standard Pygame package. Because Pygame-ctypes doesn't need to compile anything, it can run straight from its own directory (or from an egg, see above).
For example, on Linux, Mac OS X or Cygwin, let's say you've downloaded and extracted the source release to /home/joe/pygame-ctypes-0.09. Now you can run your existing Pygame games by including this path near the start of your PYTHONPATH:
# Using bash: PYTHONPATH=/home/joe/pygame-ctypes-0.09:$PYTHONPATH; export PYTHONPATH # Using csh: setenv PYTHONPATH /home/joe/pygame-ctypes-0.09:$PYTHONPATH python mygame.py
On Windows, assuming you downloaded and extracted the source release to c:\pygame-ctypes-0.09:
# At the command prompt: set PYTHONPATH=c:\pygame-ctypes-0.09 python mygame.py
Remember to set the PYTHONPATH environment variable each time you open a terminal or command prompt, or add it to your startup file.
Mac OS X users: you should use pythonw, not python.