Skip to main content
Flappy
======


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: http://libsdl.org
.. _OpenFL-Lime: https://github.com/openfl/lime

Features
--------
* 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: http://pypi.python.org/pypi/Flappy#downloads

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

.. _Cython: http://cython.org/#download

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 setup.py install

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

python setup.py build_extensions_with_waf --use-prebuilt-libs install

.. _repository: https://github.com/pyronimous/flappy_prebuilt_dependencies

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 flappy.events import MouseEvent

class Example(Sprite):

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

circle = Sprite()
circle.graphics.lineStyle(4)
circle.graphics.beginFill(0xff8000)
circle.graphics.drawCircle(200, 200, 100)
circle.graphics.endFill()
self.addChild(circle)

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:: http://i.imgur.com/wqtfqz2.png

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

.. _code: https://gist.github.com/pyronimous/9588523


Help
----
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.events, flappy.geom, flappy.text are very similar to the classes and methods in Flash's corresponding packages.

.. _reference: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/

Also, see samples:

.. image:: http://i.imgur.com/VVUFH8f.png

Release files for Flappy 0.3.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Flappy 0.3.7
File Size Uploaded
Flappy-0.3.7.tar.gz 2.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for Flappy 0.3.7
File Interpreter ABI Platform
Flappy-0.3.7.win32.exe Details
Flappy-0.3.7-py2.7-macosx-10.7-x86_64.egg Legacy Egg format - - Details
Flappy-0.3.7-py2.7-linux-x86_64.egg Legacy Egg format - - Details

Total release size:6.7 MB

Release files / Flappy-0.3.7.tar.gz

Download URL Flappy-0.3.7.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
150792f0fe35536073fbcf4d7fd492db2a5a384f6691763e6eee7843d71947ca
BLAKE2b-256 checksum
How to use checksums
2018a0bf00d52eb99a04c3ce58e8c64755c5d038472d895bceba4cb6435bab81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Flappy-0.3.7.win32.exe

Download URL Flappy-0.3.7.win32.exe
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
f6a5b2aeee8e1eda49dec57da40e132525ea0a34ddafaeff452e4fc471f6c4c3
BLAKE2b-256 checksum
How to use checksums
49358d5e87eb23488edec3518c1886c9064292ae7f65c9dd4b296bf5f0aab8dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Flappy-0.3.7-py2.7-macosx-10.7-x86_64.egg

Download URL Flappy-0.3.7-py2.7-macosx-10.7-x86_64.egg
Size 1.5 MB
Tags Egg
SHA-256 checksum
How to use checksums
fa81c542e9846782235096bfb5a14488b4d33cf70480b6510f0c7b8224b63d4b
BLAKE2b-256 checksum
How to use checksums
15cf6659ee86bc98e37859c3e3a2004ef70206cad1e33defcacafb5a83185727
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Flappy-0.3.7-py2.7-linux-x86_64.egg

Download URL Flappy-0.3.7-py2.7-linux-x86_64.egg
Size 1.7 MB
Tags Egg
SHA-256 checksum
How to use checksums
7e46896264c7ed4252ec8053497cc883f767eb169ad2eacf508b22b445c91957
BLAKE2b-256 checksum
How to use checksums
82d952e8410ecc947bf1ef4700a0f7bee61e844b3698de9face4f9534056210c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.7 This release

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page