pygame is
Simple DirectMedia Layer is
Site Swing

PyPy 2.5 released - Feb 5, 2015

PyPy logo

PyPy 2.5 has been released. PyPy is an implementation of a large subset of the Python (2.7) language. PyPy features a just-in-time compiler that compiles Python code into machine code at run time to increase the execution speed of Python scripts compared to CPython (in most cases).

Related projects:

Blender 2.73a released - Feb 5, 2015

The Blender Foundation has released Blender 2.73a, an open-source 3D modeling tool with a Python-scriptable game engine.

October 2014 PyWeek challenge results - Oct 30, 2014

The results of the October 2014 PyWeek challenge have been tallied. Congratulations to the winners and all participants who completed their projects!

  • Individual category winner: Legend of Goblit by Daniel Pope (mauve)
  • Team category winner: The Forgotten Angel by Universe Factory 19, which is Christopher Night (Cosmologicon) and marybee

Announcing SplatGL - Oct 30, 2014

Michael Long has released the code for his Splat Graphics Library. SplatGL is based on SDL 2.0 and OpenGL 2.0. It aims to provide an efficient way to draw 2D sprites with basic effects such as rotation and scaling.

SplatGL is written in C and also provides Python bindings, which rely on Marcus von Appen's PySDL2 bindings. It is equally usable in both CPython and PyPy.

SplatGL is still under development, and its API is still evolving. It is already usable for the basic needs of sprite- and tile-based games.

Blender 2.72b released - Oct 22, 2014

The Blender Foundation has released Blender 2.72b, an open-source 3D modeling tool with a Python-scriptable game engine.

Soya3D 3-0.1 released - Oct 10, 2014

Soya 3D is a high-level 3D engine for Python designed with games in mind. New features:

  • Support for Python 3.4 and Blender 2.70
  • Vertex shaders and pixel shaders
  • Improved performance: the rendering process has been entirely rewritten, using vertex buffer object (VBO)
  • Fullscreen antialiasing
  • Per-pixel lighting and cellshading
  • GPL v3 license

More information:

Blender 2.72 released - Oct 7, 2014

The Blender Foundation has released Blender 2.72, an open-source 3D modeling tool with a Python-scriptable game engine.

pysdl2-cffi 0.7.0 released - Oct 2, 2014

Change log:

  • Struct wrappers now expose all the attributes of the C-level struct as properties. Great for tinkering, as the property names can now be inspected interactively.
  • Struct wrappers no longer pass all attribute access through getattr/setattr. Arbitrary data can be attached to the struct wrappers as is customary in Python.
  • Fix a capitalization error for the "classy" API to conform to the general binding rules. ob.gL_Function is now ob.GL_Function.

Install with pip, or download from

Source hosted at

Documentation hosted at

Note: This project is separate from PySDL2.

pysdl2-cffi 0.6.0 released - Sep 20, 2014

pysdl2-cffi is a Python wrapper for SDL2 written using cffi, featuring:

  • A cffi + dlopen interface to the underlying SDL2 libraries.
  • Automatically generated, consistent helper functions for SDL2, SDL_image, SDL_mixer, and SDL_ttf that hide most allocation and dereferencing.
  • Useful docstrings on every function, including the C function signature and (for SDL2 only) the library's original doxygen documentation reformatted as Sphinx restructured text.
  • A small collection of libSDL2's original example / test programs converted to Python using Eric S. Raymond's ctopy.

The goal is to provide a flat, consistent, faithful-to-C binding with some more-Pythonic renaming and conveniences.

This wrapper won't contain anything that doesn't directly translate to part of the library's API. The goal is to be a dependency for something like pygame, not a replacement.

This library is licensed under the GPLv2 or (at your option) any later version.

Install with pip, or download from

Source hosted at

Documentation hosted at

300fps TMX renderer for PyTMX at

Note: This project is separate from PySDL2.

October 2014 PyWeek challenge - Sep 10, 2014

The PyWeek challenge:
  1. Invites entrants to write a game in one week from scratch either as an individual or in a team,
  2. Is intended to be challenging and fun,
  3. Will hopefully increase the public body of game tools, code and expertise,
  4. Will let a lot of people actually finish a game, and
  5. May inspire new projects (with ready made teams!)

The next challenge is October 2014.

Registration is now open.

The dates of this challenge are are 00:00 UTC Oct. 5, 2014 to 00:00 UTC Oct. 12, 2014.

Friday 2014/09/05Pre-registration underway
Sunday 2014/09/28Theme voting commences
Sunday 2014/10/05Challenge start
Sunday 2014/10/12Challenge end, judging begins
Sunday 2014/10/26Judging closes, winners announced

More info:

PySDL2 0.9.3 released - Jul 9, 2014

Marcus von Appen has released PySDL2 0.9.3.

PySDL2 is a wrapper around the SDL2 library and as such similar to the discontinued PySDL project. In contrast to PySDL, it has no licensing restrictions, nor does it rely on C code, but uses ctypes instead.

Version 0.9.3 is a small feature release, which comes with the following changes:

  • new sdl2.ext.Renderer.scale attribute, which denotes the horizontal and vertical drawing scale
  • new sdl2.ext.point_on_line() function to test, if a point lies on a line segment
  • PYSDL2_DLL_PATH can contain multiple paths separated by os.pathsep to search for the libraries now
  • sdl2.ext.get_image_formats() only returns BMP image support now, if SDL2_image and PIL are not found
  • sdl2.ext.load_image() tries to use sdl2.SDL_LoadBMP() now, if SDL2_image and PIL are not found
  • fixed issue #55: sdl2.SDL_GameControllerAddMappingsFromFile() does not raise a TypeError for Python 3.x anymore
  • fixed issue #56: sdl2.ext.Renderer.draw_line() and sdl2.ext.Renderer.draw_point() handle multiple lines (or points) as arguments properly now
  • fixed issue #57: if SDL2_image is not installed and PIL is used, the loaded pixel buffer of the image file is not referenced anymore after returning from sdl2.ext.load_image(), causing random segmentation faults
  • fixed issue #58: raise a proper error, if sdl2.ext.FontManager.render() could not render a text surface
  • fixed issue #59: The sdl2.ext.TextureSpriteRenderSystem.sdlrenderer attribute is correctly documented now
  • fixed a local variable and module name collision in sdl2.ext.FontManager.render()

You can download it from
The documentation, listing all of its features, can be browsed online at

PyOpenGL 3.1.0 released - Jul 8, 2014

Mike C. Fletcher has released PyOpenGL 3.1.0. The big changes are:

  • Generation of wrappers is substantially more automatic and based on Khronos source-files with annotations from the Chromium/regal project
  • Common code-base for Python 2.6, 2.7, 3.3 and 3.4; Python 2.5 is no longer supported; 2to3 is no longer used
  • Better isolation and pervasive lazy-loading behavior to prevent loading unused libraries (e.g. GLUT in non-GLUT contexts or GLES in OpenGL contexts)
  • Automated wrappers now (generally) allow passing in output arrays or having them generated
  • Experimental support for GLES and EGL
  • Many bug-fixes and minor improvements

This release should be largely compatible with anything that worked with 3.0.2 as long as that code didn't poke around in the internals of PyOpenGL too much. The structure of the package has changed significantly in order to allow for loading e.g. GLES or GL without loading the other APIs, and to make the code less GL-arrogant (i.e. to make ES a more-or-less-equal api).

To install:

pip install PyOpenGL PyOpenGL_accelerate

Docs, more detailed installation instructions, etc. are on the PyOpenGL Homepage.

Blender 2.71 released - Jun 26, 2014

The Blender Foundation has released Blender 2.71, an open-source 3D modeling tool with a Python-scriptable game engine.

PyCon 2014 intro to game programming - May 25, 2014

Intro to game programming by Richard Jones:


our projects welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
recent releases
Apr 17, 2015

Apr 13, 2015

Apr 12, 2015

Apr 9, 2015

Apr 3, 2015

Apr 2, 2015

Mar 28, 2015

Mar 27, 2015

Mar 25, 2015

... more!
for pygame related questions, comments, and suggestions, please see help (lists, irc)