Version 36 of Tcllib Contents

Updated 2008-12-19 19:35:48 by LV

This page is a summary 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. 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.


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. For information on obtaining the lastest version or using CVS see Tcllib Location


  1. aes - Advanced Encryption Standard.
  2. amazon s3 - Access to Amazon's Simple Storge Service. xsxp, S3
  3. asn - asn.1 BER encoder/decoder
  4. http/autoproxy - code to automate the use of HTTP proxy servers
  5. base32 - Base32 encoding and decoding of strings and files. base32::hex, base32::core
  6. base64 - Base64 encoding and decoding of strings and files. base64, uuencode, yencode
  7. bee - BitTorrent serialization encoder/decoder.
  8. bench - Benchmarking support, generation, import/export. bench::out::text, bench::out::csv, bench::in
  9. bibtex - Neil Madden's parser for bibtex files.
  10. blowfish - Frank Pilhofer's Tcl implementation.
  11. cache - provides objects which cache data in memory
  12. calendar - Calendar operations (see also tcllib calendar module).
  13. cmdline - Various form of command line and option processing.
  14. comm - Socket based interprocess communication. Emulates the form of Tk's send command.
  15. control - procedures for tcl flow structures such as assert, do/until, do/while, no-op
  16. counter - procedures for counters and histograms
  17. crc - Computation of various CRC checksums for strings and files.
  18. csv - manipulate comma separated value data
  19. des - Data Encryption Standard.
  20. dns - interact with the Domain Name Service.
  21. docstrip - Lars Hellstroem's literate programming support module
  22. doctools - System for writing manpages/documentation in a simple, yet powerful format.
  23. exif - exif::analyze exif::fieldnames
  24. fileutil - Utilities for operating on files, emulating various unix command line applications (cat, find, file(type), touch, traverse, ...).
  25. ftp - Client side implementation of FTP (File Transfer Protocol). In dire need of a rewrite.
  26. ftpd - Server side implementation of the FTP protocol.
  27. fumagic - Unix file/magic file recognition, by AK
  28. grammar_fa - Operations on finite automatons.
  29. grammar_me - Matching Engines, for parsers.
  30. grammar_peg - Operations on Parsing Expression Grammars, and their interpretation (aka matching, parsing)
  31. html - generate HTML from a Tcl script.
  32. 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.
  33. http - import from the wiki of autoproxy
  34. ident RFC 1413 ident client protocol implementation.
  35. imap4 - currently undocumented code for interacting with an IMAP server.
  36. inifile - code to manipulate a Microsoft Windows initialization file (the per-application text-based precursor to the registry).
  37. interp - interpreter utilities, runtime envs, delegation commands
  38. irc - Internet Relay Chat procedures.
  39. javascript - generate Javascript for including in HTML pages.
  40. jpeg - edit comment blocks, get image dimensions and information, read exif data of images in the JPG format.
  41. json - Conversion of data in JavaScript Object Notation to Tcl structures (dictionaries).
  42. ldap - Client side implementation of LDAP (Lightweight Directory Access Protocol).
  43. log - general procedures for adding log entries to files.
  44. logger - Another log mechanism, with a different API than log. Hierarchical instead of flat (part of the log module).
  45. map - common code for slippy based map packages
  46. mapproj - convert between world coordinates and map coordinates
  47. math - general mathematical procedures, and additional mathematical packages. A list of the latter can be found on the referenced page.
  48. md4 - Calculation of the MD4 cryptographic hash / message digest (MD).
  49. md5 - Calculation of the MD5 cryptographic hash / message digest (MD).
  50. md5crypt - MD5 crypt password encryption algoritm, for replacing the unix crypt function - ::md5crypt::md5crypt, ::md5crypt::aprcrypt
  51. mime - provide commands for creating and manipulating MIME body parts. - ::mime::initialize, ::mime::parsepart, ::mime::finalize, ::smtp::sendmessage
  52. multiplexer - generic system for one-to-many communication using sockets
  53. ncgi - procedures for use in a CGI application.
  54. nmea - nmea gps messages
  55. nns - nano-sized name service based on, and for, comm
  56. nntp - routines for interacting with a usenet news server via the NNTP protocol.
  57. ntp - network time protocol
  58. otp - RFC 2289 one-time password
  59. page - Classes for a parser generator, and general text transformations.
  60. pluginmgr - code for managing plugins, by AK
  61. png - edit comment blocks, get image dimensions and information for Portable Network Graphics format.
  62. pop3 - Post Office Protocol (POP) functions for reading mail from a pop3 server.
  63. pop3d - Post Office Protocol Server.
  64. profiler - simple Tcl source code profiler. ::profiler::tZero, ::profiler::tMark, ::profiler::stats, ::profiler::Handler, ::profiler::profProc, ::profiler::init
  65. rc4 - stream encryption using the ARCFOUR algorithm.
  66. rcs - AK and Colin McComack's code for RCS operation commands
  67. report - format matrices in various tabular report styles.
  68. ripemd - Calculation of the RIPE-MD cryptographic hash / message digest (MD).
  69. sasl - Simple Authentication and Security Layer framework, by PT
  70. sha1 - Calculation of the SHA1 cryptographic hash / message digest (MD). SHA stands for Secure Hash Digest.
  71. simulation - packages useful for simulations. Includes annealing, montecarlo, and random packages.
  72. smtpd - SMTP server implementation.
  73. snit - Snit's Not Incr Tcl - OO package. Delegation based.
  74. soundex::knuth - string matching based on theoretical sound of the letters
  75. stooop - OO package, using C++ like syntax and behavior.
  76. stringprep - Preparation of Internationalized Strings, allowing definition of profiles and ability to prepare unicode strings for comparison as defined in RFC 3454.
  77. struct - various data structures such as struct::list, struct::graph, struct::set, disjointset, matrix, pool, prioqueue, queue, record, skiplist, stack, tree, record, skiplist, prioqueue
  78. tar - untar, list, and stat files in tarballs and create new tarballs
  79. term - low level terminal control (control codes, etc.)
  80. textutil - Utilities for working with larger bodies of texts, including adjust, repeat, split, string, tabify, trim
  81. textutil::expand - the core for the expand macro processor (By William Duquette).
  82. tie - Persistence for Tcl arrays.
  83. tiff - Read and write image metadata, read and write uncompressed images.
  84. transfer - class handling and organizing various types of data transfers across sockets
  85. treeql - Tree Query Language, inspired by COST, operating on ::struct::trees.
  86. uev / uevent - User level events without Tk
  87. units - convert and manipulate quantities with units
  88. uri - Handling of uri/urls (splitting, joining, ...)
  89. uuid - Creation of unique identifiers.
  90. wip - words interpretor
  91. yaml - package to parse http://www.yaml.org/ data exchange format
  92. devtools - not installed. This is an experimental package currently only for internal use.