Version 87 of Extensions for Tcl and Tk

Updated 2012-12-12 15:54:25 by pooryorick


Purpose: to provide an interactive catalog of valuable Tcl-based extensions. This should be thought of as a counterpart to Applications in Tcl and Tcl/Tk. Add URLs, descriptions, and warnings about various useful extensions.VV

There is such strong growth of wonderful extensions to Tcl that an interactive facility such as that provided here on The Tcler's Wiki is needed for authors to add their own categories and links to the home pages for their applications. Feel free to add categories to those already on the page. Please keep descriptions brief, and always link to a download site at a minimum, but preferably to the homepage for your application.

See Also

Official library of extensions
extensions that ship either in the Tcl core source code distribution itself, or are maintained by the same effort as the Tcl core (Tcllib).
Great Unified Tcl/Tk Extension Repository
by Joe English
Operating System specific Tcl commands
an effort by Steve Cassidy to create an extension repository and installer.
Evan Rempel's Tcl Libraries
WinCGI, n-ary tree operations, soundex, Date, Email, NetLink, Ste (set operations), XML Object Parser
Tcl FAQ, part 5: Extensions
from 2006
Tcl/Tk 8.2 Extension Compatibility Matrix

Binary Extensions

  • BLT - Various additional Tk widgets and other stuff [L1 ] [L2 ]
  • Bonjour - Publishing and browsing services via multicast DNS.
  • the brick engine - Make old-school games in Tcl! [L3 ]
  • CRIMP - Raster Image Processing, no need for Tk.
  • cwind - controls windows, sends keystrokes and mouse events etc. on the MS Windows OS.
  • Expect - Tcl extension for interacting with other applications [L4 ]
  • IKIT
  • Img - Additional image types for Tk [L5 ]. Sources available at SourceForge:
  • incr Tcl/incr Tk/incr Widgets - an object oriented extension to Tcl along with a Tk megawidget structure and some new Tk-like widgets [L6 ] [L7 ] or until the DNS gets worked out (how many years is that going to take?), [L8 ].
  • lpttcl - Extension for LPT access on Windows 98/NT/XP/2k/XP.
  • MegaWidget
  • Memchan - Tcl-based memory channels.
  • MIB Smithy SDK - Commercial SNMP management and custom MIB compiler/converter development extension supporting SNMPv1/v2c, SNMPv3 with or without authentication and privacy, XML-SMI [L9 ], SMIv1 and SMIv2 [L10 ].
  • Mk4tcl - Metakit Tcl binding for specialized database
  • mysqltcl - Tcl interface to mysql relational database.
  • Oratcl - Tcl binding to Oracle [L11 ] [L12 ]
  • IICMD - Tcl extension to work with Ingres DBMS [L13 ]
  • PiTcl - Bindings to Palm Pilot library of functions [L14 ]
  • Plplot - scientific graphing package (2d and 3d)
  • Poet - Object-oriented extension to Tcl/Tk featuring prototype inheritance, constraints, persistence, and end-user modification
  • QuicktimeTk - Bindings for Windows and Tk for manipulating Quicktime files
  • RRD - Round Robin Database [L15 ]
  • scrobj - scripted Tcl_Objects
  • Snack - provides audio i/o, sound generation, filtering, and analysis [L16 ]
  • sqlite - specialized database interface
  • Tcl3D - Tcl3D offers the 3D functionality of OpenGL and other 3D libraries at the Tcl scripting level. [L17 ]
  • TclBlend - Extension allowing loading of Java classes for use within Tcl [L18 ]
  • TclCLIPS - Expert system toolkit, includes NASA's CLIPS expert system engine
  • TCL-DP - Adds TCP, UDP, IP-multicast connection management, remote procedure call (RPC), serial communication and distributed object protocols to the Tcl language.
  • tcldom
  • tcldomxml
  • tclexpat
  • tcl-inotify - Inotify file−system notification service for Tcl
  • Tclodbc - ODBC bindings for Tcl.
  • Tclreadline - allow interactive history recall and editing from Tcl [L19 ]
  • tcl-snmptools - Tcl SNMP tools for managing remote agents
  • tclsoap
  • tclvfs - expose virtual file systems to Tcl level, and add support for ftp, http, webdav, zip, mk file systems.
  • TclX - Extended set of Tcl commands, adding general programming constructs as well as bindings to several useful Unix system calls [L20 ]
  • Gnocl Tcl/Gtk bindings.
  • tclxml
  • tclxslt
  • tcom
  • tdom
  • Tix - additional Tk widgets [L21 ] or [L22 ]
  • tkgeomap - UNIX-only extension to read, manipulate, and display geographic data [L23 ]
  • tkhtml
  • Tktable - Tk grid (pseudo-spreadsheet) widget [L24 ]
  • tktreectrl
  • tmag - Tcl's libmagic interface
  • Trf - Tcl-based transformation extensions [L25 ]
  • TWAPI - Tcl Windows API extension - provides access to the Windows API [L26 ]
  • uninum - C library with Tcl binding that converts between Unicode strings representing integers and integers in most known numeral systems [L27 ]
  • vu - additional tk widgets
  • winico - manage the icon on the tk toplevel and taskbar (system tray).
  • XBit - a Tcl extension for image processing, including GUI with combined widgets, 2D and 3D visualization, OpenGL Tcl Interpreter, multispectral and hyperspectral image processing, FFT/IFFT, convolution, classification, calibration, geometric rectification, animation, editing and etc. [L28 ]
  • xotcl
  • zlib

Pure Tcl Extensions

Tcl/Tk script set of procedures providing composite Tk widgets [L29 ]. Also: How can I make effective use of the BWidgets toolset
Procedures for CGI and automatic generation of HTML pages [L30 ]
Tcl/Tk script set of mega-widgets that implement token-based interface elements [L31 ]
Object oriented extension (now a part of Tcllib)
Object oriented set of procedures [L32 ] (now a part of Tcllib)
persistent arrays shared between clients through a central server
Provides appropriate widgets for Mac OS X and sensible Tile fallbacks for other platforms.
Similar to Microsoft Online Crash Analysis, but, for Tcl/Tk scripts.



LV The idea of one page like this, pointing to a variety of other pages here on the wiki as well as other web sites, has been advocated over the years as being a preferred method of interacting with the wiki's data. For those who find this the case, I encourage you to continue adding to the above catalog of extensions.

To those of you who prefer working with the wiki's categories, it might be useful to consider whether the pages describing the various extensions have sufficiently been categorized, or if additional categories are needed.