Version 27 of Kitten

Updated 2002-07-09 20:38:49

Purpose: collect information about the starkit called Kitten.


Someone (dgp?) recently on the wiki chatroom observed that the idea of kitten is to turn a tclkit/starkit 2 file deployment into a 3 file deployment (unless of course you merge your application with either the kitten or tclkit starkit).


 What: kitten
 Where: http://www.equi4.com/pub/sk/ 
Description
Kitten is a tclkit collection of Tcl/Tk extensions aimed at reducing the work a developer has to do while developing a starkit. It contains script and compiled extensions like tcllib, BWidgets, expat, Expect, incr Widgets, mclistbox, mpexpr, narray, a tcl parser, an sgml parser, tclSOAP, stooop, Supertext, tdom, Tix, Tktable, Trf, tclXML, tkHtml, ClassyTk and others. Binary extensions are compiled for Windows, Linux, and Solaris as possible.
 Updated: 07/2002
 Contact: See web site.

To use kitten, download it from above. If all you want to do is use the included packages from your application running under tclkit, then nothing could be simpler:

    source kitten.kit

If you want to list the contents, or update it over the net, you need to make kitten an executable starkit. On Unix, do a

    chmod +x kitten.kit

On Windows, create a file called kitten.bat with the line:

    @tclkitsh kitten.kit

June 2002 - When you execute the kitten file with no argument, you now get a wiki of help information explaining how to use kitten to gain access to any of these extensions.


Kitten has four modes. The first is the help model - by executing the command, you get output similar to this:

  This is a collection of Tcl extensions, packaged as a single file.

  Usage:
    kitten.kit -l   list available extensions (may vary per platform)
    kitten.kit -u   update from $update_url

  To use these extensions, simply source this file:
    source kitten.kit

  Your script does not need to be packaged as a "starkit" like kitten,
  but it's best to launch with TclKit (not wish or tclsh) to have access
  to the Mk4tcl and starkit packages required for this approach.  If you
  want to use the packages with other Tcl installations, you will need
  either MetaKit or ReadKit to unpack, as well as the "starkit.tcl" pkg.

  You can make a copy of all extensions with the "sdx" utility, using:
        sdx unwrap kitten.kit
  A "kitten.vfs" directory will be created with all files unpacked.

If you execute "kitten.kit -l" on linux, you will see output similar to this: [Date: Tue Jul 9 22:22:07 CEST 2002]

              ascenc  0.11
          autoscroll  1.0
              base64  2.2.1
            blowfish  0.10
              button  1.0
             BWidget  1.3.0
            calendar  0.1
                 cgi  1.6.1
               cksum  1.0
               Class  1.0
            ClassyTk  1.0
             cmdline  1.2
                comm  4.0
             control  0.1.1
             counter  2.0
               crc32  1.0
              critcl  0.0
                 csv  0.3
                 dns  1.0.1
             dyncall  0.11
                exif  1.0
               expat  1.1 + 2.0
              Expect  5.31.5
              Extral  2.0
            fileutil  1.4
                 ftp  2.3.1
         ftp::geturl  0.1
                ftpd  1.1.2
                  gk  5.1
             hexdump  0.10
                HTML  1.0
                html  1.2
          HTML_Parse  1.0
           htmlparse  0.3
               ihash  0.11
             Initial  0.1
                 irc  0.2
            Iwidgets  3.0.1
          javascript  1.0
                 log  1.0.1
               lzrw1  0.10
                math  1.2.1
      math::calculus  0.5
         math::fuzzy  0.1
      math::geometry  1.0.1
               mathf  0.11
           mclistbox  1.02
                 md5  1.4.2
                md5c  0.11
                mime  1.3.2
              Modify  0.1
              Mpexpr  1.0
                mvec  0.12
              narray  0.81
                ncgi  1.2.1
                nntp  0.2
                pop3  1.5.1
               pop3d  1.0
         pop3d::dbox  1.0
          pop3d::udb  1.0
            profiler  0.2
       puretclparser  2.0
               rchan  0.10
              report  0.3
              rpcvar  1.1
             scratch  0.10
                sgml  1.8
          sgmlparser  1.0
                sha1  1.0.2
                smtp  1.3.2
               smtpd  1.0
                SOAP  1.6
           SOAP::CGI  1.0
          SOAP::http  1.0
       SOAP::Service  0.4
          SOAP::smtp  1.0
         SOAP::Utils  1.0
         SOAP::xpath  0.2
               stats  1.0
              stooop  4.4
              struct  1.2.1
                 sum  1.0
           Supertext  1.0.1
            switched  2.2
              tcllib  1.3
           tclparser  2.0
                Tclx  8.4
                tdom  0.7
            textutil  0.4
  textutil::expander  1.0
                 Tix  8.2
             Tktable  2.7
                 Trf  2.1
                 uri  1.1.1
            uri::urn  1.0
            uuencode  1.0.1
                 Web  0.1
              Widget  1.0
               Wikit  0.1
       Wikit::Format  0.2
          Wikit::Gui  0.1
        Wikit::Utils  1.0
              xerces  2.0
                 xml  2.0
              xml::c  2.0
          xml::expat  2.0
            xml::tcl  2.0
      xml::tclparser  2.0
             xmldefs  2.0
              xmldep  1.0
              XMLRPC  1.0
               xpath  1.0
             yencode  1.0

The -u option updates your executable to the latest in a central repository. It may or may not reflect the very latest version that exists for a particular extension.


Unsolicited response: this is stunning.


Kitten is constructed as a regular starkit, with one change to make its use convenient for sourceing, in main.tcl, the line "starkit::startup" has been replaced by:

    if {[starkit::startup] == "sourced"} return

Because of this, "source kitten" simply makes all its packages available in the caller.


Category Package | Category Scripted Document