console defaults
The default values implied by any Console print or put functions which don’t explicitly ask for them as parameters.

This is the cffi implementation of libtcodpy, the original was made using ctypes which was more difficult to maintain.

libtcod-cffi is now part of python-tcod.


python-tcod is a superset of the libtcodpy API. The major additions include class functionality in returned objects, no manual memory management, pickle-able objects, and numpy array attributes in most objects.

The numpy attributes in particular can be used to dramatically speed up the performance of your program compared to using libtcodpy.

python-tcod is installed as part of python-tdl


tdl is a high-level wrapper over libtcodpy although it now uses python-tcod, it doesn’t do anything that you couldn’t do yourself with just libtcodpy and Python.

Currently no new features are planned for tdl, instead new features are added to libtcod itself and then ported to python-tcod.

python-tcod and libtcodpy are included in installations of python-tdl.


libtcodpy is more or less a direct port of libtcod’s C API to Python. This caused a handful of issues including instances needing to be freed manually or a memory leak will occur and some functions performing badly in Python due to the need to call them frequently.

These issues are fixed in python-tcod which implements the full libtcodpy API. If python-tcod is installed then imports of libtcodpy are aliased to the tcod module. So if you come across a project using the original libtcodpy you can delete the libtcodpy/ folder and then python-tcod will load instead.