Version 21 of Tcllib Contents

Updated 2006-10-04 16:19:06

This page is a summary of (some of) the packages in the Tcllib distributions. Commands provided by each package are not listed, and we ask the reader to consult the regular documentation instead. The companion page Tcllib Location provides the information on where to find this documentation.

Note: Currently lots of commands are listed for the various packages. This is something inherited from before the restructuring of the Tcllib pages on the wiki. This will change over time, as command lists are replaced by short package descriptions.


Most of the packages have their own pages here on the Wiki as well, providing examples, discussions, tips and tricks. These pages often also refer directly to the regular documentation for that package.


For german readers there is an (incomplete) overview of the tcllib and some code examples at http://physnet.uni-oldenburg.de/~schlenk/tcl/tcllib/tcllib-intro.pdf


Tcllib has new code added to it all the time. If the version of Tcllib you are using doesn't have one of these packages, try the latest CVS head .


  1. aes - Advanced Encryption Standard.
  2. asn - asn.1 BER encoder/decoder
  3. http/autoproxy - code to automate the use of HTTP proxy servers
  4. base32 - Base32 encoding and decoding of strings and files.
  5. base64 - Base64 encoding and decoding of strings and files.
  6. bee - BitTorrent serialization encoder/decoder.
  7. bench - Benchmarking support, generation, import/export
  8. bibtex - Neil Madden's parser for bibtex files.
  9. calendar - Calendar operations (see also tcllib calendar module).
  10. cmdline - Various form of command line and option processing.
  11. comm - Socket based interprocess communication. Emulates the form of Tk's send command.
  12. control - procedures for tcl flow structures such as assert, do/until, do/while, no-op
  13. counter - procedures for counters and histograms
  14. crc - Computation of various CRC checksums for strings and files.
  15. csv - manipulate comma separated value data
  16. des - Data Encryption Standard.
  17. dns - interact with the Domain Name Service.
  18. doctools - System for writing manpages/documentation in a simple, yet powerful format.
  19. exif - exif::analyze exif::fieldnames
  20. fileutil - Utilities for operating on files, emulating various unix command line applications (cat, find, file(type), touch, traverse, ...).
  21. ftp - Client side implementation of FTP (File Transfer Protocol). In dire need of a rewrite.
  22. ftpd - Server side implementation of the FTP protocol.
  23. grammar_fa - Operations on finite automatons.
  24. grammar_me - Matching Engines, for parsers.
  25. grammar_peg - Operations on Parsing Expression Grammars, and their interpretation (aka matching, parsing)
  26. html - generate HTML from a Tcl script.
  27. htmldoc - This is not a true module but the place where tcllib 1.3 installed the tcllib documentation in HTML format.
  28. htmlparse - procedures to permit limited manipulation of strings containing HTML-formatted text. Core is a sax-style based parser. This is extended by commands for the conversion into a ::struct::tree, and removing parts of the tree.
  29. ident RFC 1413 ident client protocol implementation.
  30. imap4 - currently undocumented code for interacting with an IMAP server.
  31. inifile - code to manipulate a Microsoft Windows initialization file (the per-application text-based precursor to the registry).
  32. interp - interpreter utilities, runtime envs, delegation commands
  33. dns/ip - Manipulation of IP addresses.
  34. irc - Internet Relay Chat procedures.
  35. javascript - generate Javascript for including in HTML pages.
  36. json - Conversion of data in JavaScript Object Notation to Tcl structures (dictionaries).
  37. jpeg - edit comment blocks, get image dimensions and information, read exif data of images in the JPG format.
  38. ldap - Client side implementation of LDAP (Lightweight Directory Access Protocol).
  39. log - general procedures for adding log entries to files.
  40. logger - Another log mechanism, with a different API than log. Hierarchical instead of flat (part of the log module).
  41. math - general mathematical procedures, and additional mathematical packages. A list of the latter can be found on the referenced page.
  42. md4 - Calculation of the MD4 cryptographic hash / message digest (MD).
  43. md5 - Calculation of the MD5 cryptographic hash / message digest (MD).
  44. md5crypt - [fill in the description of this module] ::md5crypt::md5crypt, ::md5crypt::aprcrypt
  45. mime - [fill in the description of this module] ::mime::initialize, ::mime::parsepart, ::mime::finalize, ::smtp::sendmessage
  46. multiplexer - [fill in the external interfaces]
  47. ncgi - procedures for use in a CGI application.
  48. nmea - nmea gps messages
  49. nntp - routines for interacting with a usenet news server via the NNTP protocol.
  50. ntp - network time protocol
  51. otp - RFC 2289 one-time password
  52. page - Classes for a parser generator, and general text transformations.
  53. png - edit comment blocks, get image dimensions and information for Portable Network Graphics format.
  54. pop3 - Post Office Protocol (POP) functions for reading mail from a pop3 server.
  55. pop3d - Post Office Protocol Server.
  56. profiler - [fill in the description of this module]. ::profiler::tZero, ::profiler::tMark, ::profiler::stats, ::profiler::Handler, ::profiler::profProc, ::profiler::init
  57. rc4 - stream encryption using the ARCFOUR algorithm.
  58. report - format matrices in various tabular report styles.
  59. ripemd - Calculation of the RIPE-MD cryptographic hash / message digest (MD).
  60. sasl - x-google-token auth
  61. sha1 - Calculation of the SHA1 cryptographic hash / message digest (MD). SHA stands for Secure Hash Digest.
  62. smtpd - SMTP server implementation.
  63. snit - Snit's Not Incr Tcl - OO package. Delegation based.
  64. soundex::knuth - string matching based on theoretical sound of the letters
  65. stooop - OO package.
  66. struct1 - Version 1 of struct (see below), provided for backward compatibility.
  67. struct - various data structures such as list, graph, matrix, queue, stack, tree, record, skiplist, prioqueue, sets
  68. tar - untar, list, and stat files in tarballs and create new tarballs
  69. term - low level terminal control (control codes, etc.)
  70. textutil - Utilities for working with larger bodies of texts, including adjust, repeat, split, string, tabify, trim
  71. textutil::expand - the core for the expand macro processor (By William Duquette).
  72. tie - Persistence for Tcl arrays.
  73. tiff - Read and write image metadata, read and write uncompressed images.
  74. transfer - class handling and organizing various types of data transfers across sockets
  75. treeql - Tree Query Language, inspired by COST, operating on ::struct::trees.
  76. uri - Handling of uri/urls (splitting, joining, ...)
  77. uuid - Creation of unique identifiers.
  78. stats - no longer distributed. Use counter instead.
  79. devtools - not installed. This is an experimental package currently only for internal use.

[ Tcllib ]