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 sources from the repository. For information on obtaining the lastest version see [Tcllib Location] ---- 1. [aes] - Advanced Encryption Standard. 1. [amazon s3] - Access to Amazon's Simple Storage Service. xsxp, S3 1. [asn] - asn.1 BER encoder/decoder 1. [autoproxy] - code to automate the use of HTTP proxy servers 1. [base32] - Base32 encoding and decoding of strings and files. base32::hex, base32::core 1. [base64] - Base64 encoding and decoding of strings and files. base64, uuencode, yencode 1. [bee] - [BitTorrent] serialization encoder/decoder. 1. [bench] - Benchmarking support, generation, import/export. bench::out::text, bench::out::csv, bench::in 1. [bibtex] - [Neil Madden]'s parser for bibtex files. 1. [blowfish] - Frank Pilhofer's Tcl implementation. 1. [cache] - provides objects which cache data in memory 1. [calendar] - Calendar operations (see also [tcllib calendar module]). 1. [clock] - parsing ISO 8601 date/time strings 1. [cmdline] - Various form of command line and option processing. 1. [comm] - Socket based interprocess communication. Emulates the form of [Tk]'s '''send''' command. 1. [control] - procedures for tcl flow structures such as assert, do/until, do/while, no-op 1. [coroutine] - event and channel support built on top of coroutines 1. [counter] - procedures for counters and histograms 1. [crc] - Computation of various CRC checksums for strings and files. 1. [csv] - manipulate comma separated value data 1. [debug::caller] - debug narrative core 1. [des] - Data Encryption Standard. 1. [dns] - interact with the Domain Name Service. 1. [docstrip] - Lars Hellstroem's literate programming support module 1. [doctools] - System for writing manpages/documentation in a simple, yet powerful format. Also [doctools2base], [doctools2idx], and [doctools2toc] 1. [exif] - Extract EXIF fields from digital images exif::analyze exif::fieldnames 1. [fileutil] - Utilities for operating on files, emulating various [unix] command line applications (cat, find, file(type), touch, traverse, ...). 1. [ftp] - Client side implementation of FTP (File Transfer Protocol). '''In dire need of a rewrite'''. 1. [ftpd] - Server side implementation of the [FTP] protocol. 1. [fumagic] - Unix file/magic file recognition, by [AK] 1. [Generator%|%generator%|%] - generators for Tcl 1. [gpx] - extract waypoints, tracks and routes from GPX files (where is this code in tcllib???) 1. [grammar_aycock] - generate John Aycock based parsers 1. [grammar_fa] - Operations on finite automatons (class for acceptors constructed from deterministic finite automatons) 1. [grammar_me] - Matching Engines, for parsers. 1. [grammar_peg] - Operations on Parsing Expression Grammars, and their interpretation (aka matching, parsing) 1. [hook] - ensemble command implementing subject/observer pattern 1. [Tcllib html%|%html] - generate HTML from a Tcl script. 1. [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. 1. [http] - import from the wiki of [autoproxy] 1. [ident] RFC 1413 ident client protocol implementation. 1. [imap4] - currently undocumented code for interacting with an IMAP server. 1. [inifile] - code to manipulate a [Microsoft Windows] initialization file (the per-application text-based precursor to the [registry]). 1. [interp] - interpreter utilities, runtime envs, delegation commands 1. [irc] - Internet Relay Chat procedures. 1. [javascript] - generate Javascript for including in HTML pages. 1. [jpeg] - edit comment blocks, get image dimensions and information, read exif data of images in the JPG format. 1. [json] - Conversion of data in '''JavaScript Object Notation''' to Tcl structures (dictionaries). 1. [lambda] - anonymous functions 1. [ldap] - Client side implementation of [LDAP] (Lightweight Directory Access Protocol). 1. [log] - general procedures for adding log entries to files. 1. [logger] - Another log mechanism, with a different API than [log]. Hierarchical instead of flat (part of the log module). 1. [map] - common code for slippy based map packages. Where slippy is a term coming from http://openstreetmap.org 1. [mapproj] - convert between world coordinates and map coordinates, for various projections. 1. [math] - general mathematical procedures, and additional mathematical packages. A list of the latter can be found on the referenced page. 1. [md4] - Calculation of the MD4 cryptographic hash / message digest (MD). 1. [md5] - Calculation of the MD5 cryptographic hash / message digest (MD). 1. [md5crypt] - MD5 crypt password encryption algoritm, for replacing the unix crypt function - ::md5crypt::md5crypt, ::md5crypt::aprcrypt 1. [mime] - provide commands for creating and manipulating MIME body parts. - ::mime::initialize, ::mime::parsepart, ::mime::finalize, ::[smtp]::sendmessage 1. [multiplexer] - generic system for one-to-many communication using sockets 1. [namespacex] - utility commands for working with namespaces 1. [ncgi] - procedures for use in a [CGI] application. 1. [nmea] - nmea gps messages 1. [nns] - nano-sized name service based on, and for, comm 1. [nntp] - routines for interacting with a usenet news server via the [NNTP] protocol. 1. [ntp] - network time protocol 1. [ooutil] - convenience command for the easy specification of instance methods as callback commands 1. [otp] - RFC 2289 one-time password 1. [page] - Classes for a parser generator, and general text transformations. 1. [pki] - implementation of RSA public key cipher 1. [pluginmgr] - code for managing plugins, by [AK] 1. [png] - edit comment blocks, get image dimensions and information for Portable Network Graphics format. 1. [pop3] - Post Office Protocol ([POP]) functions for reading mail from a pop3 server. 1. [pop3d] - Post Office Protocol Server. 1. [profiler] - simple Tcl source code profiler. ::profiler::tZero, ::profiler::tMark, ::profiler::stats, ::profiler::Handler, ::profiler::profProc, ::profiler::init 1. [pt] - parser tools application 1. [rc4] - stream encryption using the ARCFOUR algorithm. 1. [rcs] - [AK] and Colin McComack's code for RCS operation commands 1. [report] - format matrices in various tabular report styles. 1. [rest] - handle REST internet API 1. [ripemd] - Calculation of the RIPE-MD cryptographic hash / message digest (MD). 1. [sasl] - Simple Authentication and Security Layer framework, by [PT] 1. [sha1] - Calculation of the SHA1 cryptographic hash / message digest (MD). SHA stands for Secure Hash Digest. 1. [simulation] - packages useful for simulations. Includes annealing, montecarlo, and random packages. 1. [smtpd] - [SMTP] server implementation. 1. [snit] - [Snit's Not Incr Tcl] - OO package. Delegation based. 1. [soundex]::[knuth] - string matching based on theoretical ''sound'' of the letters 1. [stooop] - OO package, using C++ like syntax and behavior. 1. [string::token] - Regex based iterative lexing 1. [stringprep] - Preparation of Internationalized Strings, allowing definition of profiles and ability to prepare unicode strings for comparison as defined in RFC 3454. 1. [struct] - various data structures such as [disjointset], [struct::graph], [struct::list], [matrix], [pool], [prioqueue], [queue], [record], [struct::set], [skiplist], [stack], [tree], [record]. For graphs we also have a companion package [struct::graphop] providing a number of graph algorithms. 1. [tar] - untar, list, and stat files in tarballs and create new tarballs 1. [tepam] - Tcl's Enhanced Procedure and Argument Manager (tepam) provides a new procedure declaration syntax 1. [term] - low level terminal control (control codes, etc.) 1. [textutil] - Utilities for working with larger bodies of texts, including adjust, repeat, split, string, tabify, trim 1. textutil::[expand] - the core for the expand macro processor (By [William Duquette]). 1. [tie] - Persistence for Tcl arrays. 1. [tiff] - Read and write image metadata, read and write uncompressed images. 1. [transfer] - class handling and organizing various types of data transfers across sockets 1. [treeql] - Tree Query Language, inspired by [COST], operating on ::[struct]::[tree]s. 1. [try] - programming structure for handling exceptions 1. [uev] / [uevent] - User level events without Tk 1. [units] - convert and manipulate quantities with units 1. [uri] - Handling of uri/urls (splitting, joining, ...) 1. [uuid] - Creation of unique identifiers. 1. [valtype] - validation types with a consistent error code raised 1. [virtchannel_base] - re-implemention of [memchan]'s channel types random, string, variable, randomseed, halfpipe, and textwindow 1. [virtchannel_core] - support packages for initialization, finalization, and timer-driven event support 1. [virtchannel_transform] - implementation of channel transformations for base64, hex, identity, counter, adler32, adler32pure, crc32, observe, limitsize, spacer, otp, and zlib 1. [wip] - words interpretor 1. [yaml] - package to parse http://www.yaml.org/ data exchange format 1. [devtools] - not installed. This is an experimental package currently only for internal use. 1. [tcllibc] - package to cause [critcl] to generate binary versions of tcllib modules (???) <> Package | Tcllib