This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

About

This is a Python CFFI port of libtcod, this is an offshoot of the python-tdl project and has been made into it’s own package. Both projects are still developed together, and this module provides functions specifically to be used by python-tdl.

This library is hosted on GitHub: https://github.com/HexDecimal/libtcod-cffi

Any issues you have with this module can be reported at the GitHub issue tracker: https://github.com/HexDecimal/libtcod-cffi/issues

python-tdl is a port of libtcod made to be “Pythonic”, you can find it here: https://github.com/HexDecimal/python-tdl

And libtcod is here: http://roguecentral.org/doryen/libtcod/

Installation

The recommended way to install is by using pip.

With Python installed, run the following command to install libtcod-cffi:

python -m pip install libtcod-cffi

See the requirements section when building from source.

Usage

This module was designed to be backwards compatible with the libtcod.py script that was distributed with libtcod. If you had code that runs on the original module you can use this library as a drop-in replacement like this:

import tcod as libtcod

Guides and Tutorials for the original library should also work with this one. When possible, using PyPy will give the best performance, and is highly recommended.

Requirements

  • Python 2.7+, Python 3.3+, or PyPy 5.4+
  • Windows, Linux, or Mac OS X
  • Python cffi module must be version 1.8 or higher

Extra requirements when installing directally from source:

  • Python pycparser module must be 2.14 or higher
  • MinGW gcc.exe must be on Windows path for use with pycparser, or an equivalent program must be installed on other OS’s
  • Mac OS X requires sdl1.2, which can be installed using the homebrew command: “brew install sdl”
  • Linux requires the following packages: libsdl1.2-dev, libffi-dev, python-dev, and mesa-common-dev

License

libtcod-cffi is distributed under the Simplified 2-clause FreeBSD license. Read LICENSE.txt, and the tcod/lib/README’s for more details.

Changelog

1.0
  • sub packages have been removed to follow the libtcodpy API more closely
  • bsp and pathfinding functions which take a callback no longer have the userdata parameter, if you need to pass data then you should use functools, methods, or enclosing scope rules
  • numpy buffer alignment issues on some 64-bit OS’s fixed
0.3
  • switched to using pycparser to compile libtcod headers, this may have included many more functions in tcod’s namespace than before
  • parser custom listener fixed again, likely for good
0.2.12
  • version increment due to how extremely broken the non-Windows builds were (false alarm, this module is just really hard to run integrated tests on)
0.2.11
  • SDL is now bundled correctly in all Python wheels
0.2.10
  • now using GitHub integrations, gaps in platform support have been filled, there should now be wheels for Mac OSX and 64-bit Python on Windows
  • the building process was simplified from a linking standpoint, most libraries are now statically linked
  • parser module is broken again
0.2.9
  • Fixed crashes in list and parser modules
0.2.8
  • Fixed off by one error in fov buffer
0.2.7
  • Re-factored some code to reduce compiler warnings
  • Instructions on how to solve pip/cffi issues added to the readme
  • Official support for Python 3.5
0.2.6
  • Added requirements.txt to fix a common pip/cffi issue.
  • Provided SDL headers are now for Windows only.
0.2.5
  • Added /usr/include/SDL to include path
0.2.4
  • Compiler will now use distribution specific SDL header files before falling back on the included header files.
0.2.3
  • better Color performance
  • parser now works when using a custom listener class
  • SDL renderer callback now receives a accessible SDL_Surface cdata object.
0.2.2
  • This module can now compile and link properly on Linux
0.2.1
  • console_check_for_keypress and console_wait_for_keypress will work now
  • console_fill_foreground was fixed
  • console_init_root can now accept a regular string on Python 3
0.2.0
  • The library is now backwards compatible with the original libtcod.py module. Everything except libtcod’s cfg parser is supported.
0.1.0
  • First version released
Release History

Release History

2.0a2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.0a1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.0a0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.12

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.11

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.10

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.9

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.8

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
libtcod_cffi-1.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (818.1 kB) Copy SHA256 Checksum SHA256 cp27 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp27-cp27m-manylinux1_i686.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp27 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp27-cp27m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp27 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp27-cp27mu-manylinux1_i686.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp27 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp27-cp27mu-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp27 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp27-cp27m-win32.whl (372.4 kB) Copy SHA256 Checksum SHA256 cp27 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp27-cp27m-win_amd64.whl (432.6 kB) Copy SHA256 Checksum SHA256 cp27 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp33-cp33m-manylinux1_i686.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp33 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp33-cp33m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp33 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp33-cp33m-win32.whl (376.7 kB) Copy SHA256 Checksum SHA256 cp33 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp33-cp33m-win_amd64.whl (432.1 kB) Copy SHA256 Checksum SHA256 cp33 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (818.4 kB) Copy SHA256 Checksum SHA256 cp34 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp34-cp34m-manylinux1_i686.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp34 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp34-cp34m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp34 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp34-cp34m-win32.whl (376.7 kB) Copy SHA256 Checksum SHA256 cp34 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp34-cp34m-win_amd64.whl (432.1 kB) Copy SHA256 Checksum SHA256 cp34 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (818.4 kB) Copy SHA256 Checksum SHA256 cp35 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp35-cp35m-manylinux1_i686.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp35 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp35-cp35m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp35 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp35-cp35m-win32.whl (386.8 kB) Copy SHA256 Checksum SHA256 cp35 Wheel Sep 25, 2016
libtcod_cffi-1.0-cp35-cp35m-win_amd64.whl (447.7 kB) Copy SHA256 Checksum SHA256 cp35 Wheel Sep 25, 2016
libtcod_cffi-1.0-pp254-pypy_41-win32.whl (341.9 kB) Copy SHA256 Checksum SHA256 pp254 Wheel Sep 25, 2016
libtcod_cffi-1.0-py2.7-win32.egg (370.6 kB) Copy SHA256 Checksum SHA256 2.7 Egg Sep 25, 2016
libtcod_cffi-1.0-py2.7-win-amd64.egg (430.7 kB) Copy SHA256 Checksum SHA256 2.7 Egg Sep 25, 2016
libtcod_cffi-1.0-py3.3-win32.egg (374.9 kB) Copy SHA256 Checksum SHA256 3.3 Egg Sep 25, 2016
libtcod_cffi-1.0-py3.3-win-amd64.egg (430.3 kB) Copy SHA256 Checksum SHA256 3.3 Egg Sep 25, 2016
libtcod_cffi-1.0-py3.4-win32.egg (374.9 kB) Copy SHA256 Checksum SHA256 3.4 Egg Sep 25, 2016
libtcod_cffi-1.0-py3.4-win-amd64.egg (430.3 kB) Copy SHA256 Checksum SHA256 3.4 Egg Sep 25, 2016
libtcod_cffi-1.0-py3.5-win32.egg (385.0 kB) Copy SHA256 Checksum SHA256 3.5 Egg Sep 25, 2016
libtcod_cffi-1.0-py3.5-win-amd64.egg (445.9 kB) Copy SHA256 Checksum SHA256 3.5 Egg Sep 25, 2016
libtcod-cffi-1.0.zip (1.3 MB) Copy SHA256 Checksum SHA256 Source Sep 25, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting