Version 53 of Tcllib Contents

Updated 2014-01-20 13:15:50 by RLE

This page is a summary of the packages in the Tcllib distribution. 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


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