Skip to main content

A vector animation API using Python, Cairo and Inkscape SVG files. Create quick animations by containment, keyframe tweening and other simple Things. New, one can now export each frame as PNG or SVG files.

Project description

"Things inside other things, doing things with stuff." is the basic recipe :)

- Each thing has a timeline and a variety of ways to draw py-cairo graphics.
- Each Thing can contain other things, and so-on down.
- Things can be tweened around keys like size, rotation and alpha.
- Special Things are available to detect hits, follow paths, perform clipping
and more.
- '''NEW''': Export each frame to PNG or SVG files. Very handy trick.

Inkscape is the 'extended' IDE for this API: You can draw all your vector
graphics there and pull them out into Things via Python. You can draw individual
'sprites' or multiple 'loops' or paths and masks.

There is a (primitive) event system which deals with mouse events. I could do
with some help making it better and including the keyboard.

My hope is that someone (with a brain, better than mine :) ) will take this API
and turn it into a fast C/C++ library.

If this happened, we could focus on building an actual IDE to draw SVG, code
Python and layout keys all on a visual time line. It would be a really neat
animation system for GNU/Linux (and other platforms).

The code is available on CVS at:
cvs co things

My personal wiki page for the project is:


Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page