skip to navigation
skip to content

Flappy 0.3.7

Multimedia library with the Adobe Flash-like API


Flappy (the name stands for FLash-like APi for PYthon) is a cross platform multimedia library with the API very similar to the ActionScript 3 Flash API. Flappy is built on top of the SDL2_ library and a slightly modified subset of c/c++ code from the OpenFL-Lime_ project.

.. _SDL2:
.. _OpenFL-Lime:

* Runs on Windows, Linux, Mac OS X
* GPU accelerated
* Drawing images, text, shapes, gradients
* Tile sheet batch rendering
* Flash-like display list, display objects, containers
* User input events and other events handling and propagation
* 3D graphics support

Current status
* Alpha version
* No Python 3.x support
* No sound playing

Install binary package
In Mac or Linux, try:
easy_install flappy

For windows, download the installer (one of Flappy-xxx.win32.exe files) here_

.. _here:

Build from source
To build Flappy, Cython_ 0.19.1 or above is required.

.. _Cython:

Also the following libraries needed:

* SDL2
* freetype 2
* libpng 1.6
* libjpeg 6b

You can either install development versions of these libraries to your system (or already have them installed), and build and install Flappy like this:

python install

Or you can clone this repository_ to the same directory as Flappy's source directory and build and install with this command:

python build_extensions_with_waf --use-prebuilt-libs install

.. _repository:

Quick example
This code draws a black-outlined orange circle inside a window sized 400x400 pixels. Each time you click on that circle you'll see the string "YAY!" in console output:


import flappy
from flappy.display import Sprite
from import MouseEvent

class Example(Sprite):

def __init__(self):
super(Example, self).__init__()

circle = Sprite(), 200, 100)

circle.addEventListener(MouseEvent.CLICK, self.on_circle_click)

def on_circle_click(self, event):
print 'YAY!'

if __name__ == '__main__':
flappy.start(Example, width=400, height=400, title='Example')

.. image::

For the comparison, here is the code_ in ActionScript 3 which does the same.

.. _code:

For now, documentation is a stub. But you can take a look at ActionScript3 API reference_ for Flash. Classes and method in packages flappy.display,, flappy.geom, flappy.text are very similar to the classes and methods in Flash's corresponding packages.

.. _reference:

Also, see samples:

.. image::  
File Type Py Version Uploaded on Size
Flappy-0.3.7-py2.7-linux-x86_64.egg (md5) Python Egg 2.7 2014-03-15 1MB
Flappy-0.3.7-py2.7-macosx-10.7-x86_64.egg (md5) Python Egg 2.7 2014-03-16 1MB
Flappy-0.3.7.tar.gz (md5) Source 2014-03-16 2MB
Flappy-0.3.7.win32.exe (md5) MS Windows installer any 2014-03-14 1MB