Skip to main content

Pythonic cffi port of libtcod.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Status

VersionsBadge ImplementationBadge LicenseBadge

PyPI Documentation Status Travis Coveralls

Installation

The recommended way to install is by using pip, make sure pip is up-to-date, old versions of pip may have issues installing libtcod-cffi.

To install using pip, use the following command:

python -m pip install tdl

Wheels are missing for PyPy on Mac OS X and Linux, so you’ll have to meet the additional dependencies of libtcod-cffi before running pip.

About

TDL is a port of the C library libtcod in an attempt to make it more “Pythonic”

The library can be used for displaying tilesets (ANSI, Unicode, or graphical) in true color.

It also provides functionality to compute path-finding and field of view.

python-tdl is hosted on GitHub: https://github.com/HexDecimal/python-tdl

Online Documentation: http://pythonhosted.org/tdl/

Issue Tracker: https://github.com/HexDecimal/python-tdl/issues

python-tdl is a cffi port of “libtcod”. You can find more about libtcod at http://roguecentral.org/doryen/libtcod/

Requirements

  • Python 2.7+, 3.3+, or PyPy

  • Windows, Linux, or Mac OS X

  • libtcod-cffi (automatically installed with pip)

License

python-tdl is distributed under the Simplified 2-clause FreeBSD license. Read LICENSE.txt for more details.

Changelog

3.0.0 - 2017-03-21

Added
  • KeyEvent supports libtcod text and meta keys.

Changed
  • KeyEvent parameters have been moved.

  • This version requires libtcod-cffi>=2.3.0.

Deprecated
  • KeyEvent camel capped attribute names are deprecated.

Fixed
  • Crashes with key-codes undefined by libtcod.

  • tdl.map typedef issues with libtcod-cffi.

2.0.1 - 2017-02-22

Fixed
  • tdl.init renderer was defaulted to OpenGL which is not supported in the current version of libtcod.

2.0.0 - 2017-02-15

Changed
  • Dependencies updated, tdl now requires libtcod-cffi 2.x.x

  • Some event behaviours have changed with SDL2, event keys might be different than what you expect.

Removed
  • Key repeat functions were removed from SDL2. set_key_repeat is now stubbed, and does nothing.

1.6.0
  • Console.blit methods can now take fg_alpha and bg_alpha parameters.

1.5.3
  • set_font no longer crashes when loading a file without the implied font size in its name

1.5.2
  • fixed non-square Map instances

1.5.1
  • fixed errors with Unicode and non-Unicode literals on Python 2

  • fixed attribute error in compute_fov

1.5.0
  • python-tdl distributions are now universal builds

  • new Map class

  • map.bresenham now returns a list

  • this release will require libtcod-cffi v0.2.3 or later

1.4.0
  • The DLL’s have been moved into another library which you can find at https://github.com/HexDecimal/libtcod-cffi You can use this library to have some raw access to libtcod if you want. Plus it can be used alongside TDL.

  • The libtocd console objects in Console instances have been made public.

  • Added tdl.event.wait function. This function can called with a timeout and can automatically call tdl.flush.

1.3.1
  • Fixed pathfinding regressions.

1.3.0
  • Updated backend to use python-cffi instead of ctypes. This gives decent boost to speed in CPython and a drastic to boost in speed in PyPy.

1.2.0
  • The set_colors method now changes the default colors used by the draw_* methods. You can use Python’s Ellipsis to explicitly select default colors this way.

  • Functions and Methods renamed to match Python’s style-guide PEP 8, the old function names still exist and are depreciated.

  • The fgcolor and bgcolor parameters have been shortened to fg and bg

1.1.7
  • Noise generator now seeds properly

  • The OS event queue will now be handled during a call to tdl.flush. This prevents a common newbie programmer hang where events are handled infrequently during long animations, simulations, or early development

  • Fixed a major bug that would cause a crash in later versions of Python 3

1.1.6
  • Fixed a race condition when importing on some platforms

  • Fixed a type issue with quickFOV on Linux

  • Added a bresenham function to the tdl.map module

1.1.5
  • a for loop can iterate over all coordinates of a Console

  • drawStr can be configured to scroll or raise an error

  • You can now configure or disable key repeating with tdl.event.setKeyRepeat

  • Typewriter class removed, use a Window instance for the same functionality

  • setColors method fixed

1.1.4
  • Merged the Typewriter and MetaConsole classes, You now have a virtual cursor with Console and Window objects

  • Fixed the clear method on the Window class

  • Fixed screenshot function

  • Fixed some drawing operations with unchanging backgrounds

  • Instances of Console and Noise can be pickled and copied

  • Added KeyEvent.keychar

  • Fixed event.keyWait, and now converts window closed events into Alt+F4

1.1.3
  • Some of the setFont parameters were incorrectly labeled and documented

  • setFont can auto-detect tilesets if the font sizes are in the filenames

  • Added some X11 unicode tilesets, including unifont.

1.1.2
  • Window title now defaults to the running scripts filename

  • Fixed incorrect deltaTime for App.update

  • App will no longer call tdl.flush on its own, you’ll need to call this yourself

  • tdl.noise module added

  • clear method now defaults to black on black

1.1.1
  • map submodule added with AStar class and quickFOV function

  • new Typewriter class

  • most console functions can use Python-style negative indexes now

  • new App.runOnce method

  • rectangle geometry is less strict

1.1.0
  • KeyEvent.keyname is now KeyEvent.key

  • MouseButtonEvent.button now behaves like KeyEvent.keyname does

  • event.App class added

  • drawing methods no longer have a default for the character parameter

  • KeyEvent.ctrl is now KeyEvent.control

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tdl-3.0.0.tar.gz (994.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tdl-3.0.0-py2.py3-none-any.whl (39.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file tdl-3.0.0.tar.gz.

File metadata

  • Download URL: tdl-3.0.0.tar.gz
  • Upload date:
  • Size: 994.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tdl-3.0.0.tar.gz
Algorithm Hash digest
SHA256 cba902e014a5f5fa92c989be0baffbe75b5d16d2e60b58d47c976a2f1e8ce3a5
MD5 15cee4979bee5c88753000683cc14425
BLAKE2b-256 0556be5056121f73a34ae743fe38ed8ada44d3f3fae893b0b307c8e2f75daa70

See more details on using hashes here.

File details

Details for the file tdl-3.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for tdl-3.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7894522920b7959f1c987a4e52e24bd317b1fec65d4c03e1eec2c61be2e7dca3
MD5 04a35329030a1f0ae11ba2e89969ba45
BLAKE2b-256 e24e6cae7433b6bd020e89e314a160d5d96e288c2b2fc96178a360d95a6c2bfd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page