Open source projects

Martin McBride

I am involved in a couple of open source projects:

  • generativepy - generative art in Python.
  • pysound - sound synthesis in Python.


Generative art and graphing library for creating images and animations.


generativepy is a library rather an application. It provides useful functions and example code that allow you to create images and videos by writing simple Python scripts.

The library uses pycairo for drawing graphics.

Main functionality:

  • A simple framework for creating images, image sequences, and gifs, using pycairo.
  • Support for bitmap processing using PIL and NumPy.
  • Colour module that supports RGB, HSL and CSS colours, transparency, lerping, colormaps.
  • A simple tweening module to help with animation.
  • Geometry module for drawing shapes.
  • A graphing library for plotting 2D functions.
  • 3D geometry module using moderngl.


Visit for details:

For detailed information of pycairo see the Computer graphics in Python ebook.


A Python library for creating digital sound and music. See:

PySound uses numpy arrays to store and process sound.


  • Oscillators - sine, saw, square, wave table and noise
  • Envelopes - ramp, attack-decay, generic envelope
  • Effects - echo
  • Mixers - add, multiply
  • Sequencers - join sounds, basic sound sequencer
  • Output - WAV file

Popular tags

ebooks fractal generative art generativepy generativepy tutorials github koch curve l systems mandelbrot open source productivity pysound python recursion scipy sine sound spriograph tinkerbell turtle writing