Contribute Media
A thank you to everyone who makes this possible: Read More

How to Evolve Life using Python


In this talk I will demonstrate how to create Artificial Life in a computer using Python and its wonderful libraries.

The Python program, called “Lenia”, is developed to discover/evolve new life species, using its interactive UI to facilitate Evolutionary Algorithms (EA). A video recorded from the program won the Virtual Creatures Contest in GECCO conference 2018, Kyoto.

It utilizes the following libraries:
– NumPy for matrix calculation
– PyOpenCL/PyCUDA and Reikna for GPU acceleration – SciPy and PIL/Pillow for image processing
– Tkinter (and potentially Matplotlib) for interactive UI – Subprocess and FFmpeg for real-time video

Lenia is now open source at


Improve this page