Slithy home


The current version is slithy-20030706.zip. (If you're trying to use Slithy on the Mac check out Neil Spring's patches.) Highlights since previous versions:

If you just want to see a sample of Slithy without going through the whole install procedure, try using this sample presentation (for Windows). It's one of the example presentations from the complete archive, turned into a (mostly) self-contained executable.


Installing Slithy on Windows

  1. Install ActivePython 2.2.2. This is a binary distribution of the Python interpreter.

    You can download this from aspn.activestate.com. As of this writing this is the most recent version.

  2. Install the Python Imaging Library. This library is used by Slithy to read and write various image formats.

    Once Python is installed, start a command window and type "pyppm". (If you did the default install of Python, it will be in your path. If you didn't, you can find this batch file in the Python install directory.) PyPPM is a package manager for ActivePython.

    At the "PPM>" prompt, type "install PIL". This will download and install the Python Imaging Library. You can then exit PyPPM by typing "quit".

  3. Install Pmw. This is a widget toolkit for Tkinter.

    You can download it from pmw.sourceforge.net. All you need to do to install it is unzip the file into "c:\python22\lib\site-packages" (adjust that path if you installed Python somewhere other than c:\python22.)

  4. Install Freetype. Slithy uses this library to rasterize TrueType and PostScript Type 1 fonts.

    Download a precompiled Win32 binary from gnuwin32.sourceforge.net. You can unzip this anywhere; just make sure that the file freetype.dll ends up somewhere that's in your PATH environment variable.

At this point you should be able to start up Python from a command prompt and execute the following two import statements with no errors:

% python
ActivePython 2.2.2 Build 224 (ActiveState Corp.) based on
Python 2.2.2 (#37, Nov 26 2002, 10:24:37) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import Image
>>> import Pmw
>>>
The Slithy archive has three subdirectories:
slithy2/               <-- set PYTHONPATH to path of this directory
   examples/
   techfest/
   docs/
   slithy/
Set your PYTHONPATH environment variable to the full path of the slithy2 directory. Now you should be able to start up Python and type:

% python
ActivePython 2.2.2 Build 224 (ActiveState Corp.) based on
Python 2.2.2 (#37, Nov 26 2002, 10:24:37) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import slithy.library
>>>

The distribution comes with the Slithy extension modules already built, but if you want to build them yourself you'll find project and workspace/solution files for Visual Studio 6 and Visual Studio .NET in the slithy/ directory. These may need tweaking for your site.

Installing Slithy on Unix

Have you read the third item in the caveats?

Slithy needs the same set of packages as on Windows: Python 2.2 or higher, the Python Imaging Library, FreeType 2.1 or higher, and Pmw. Depending on your flavor of Unix you may be able to find precompiled distributions, or you can build from source, but I assume that if you're a Unix user you're bright enough to do all that without handholding.

You'll need to expand the archive and add the full path of the slithy2 directory to your PYTHONPATH environment variable.

Also, you'll need to build Slithy's extension modules. There's a Makefile included in the slithy/ directory; you'll need to edit this to reflect the location of your Python installation (and possibly other things as well.) There are four shared libraries that must be built: draw.so, dobj.so, diafont.so, and diaimage.so.

After installing

The docs/ directory contains what documentation there is for Slithy so far, which is part of my (very) unfinished dissertation. Hopefully this and the examples will be enough to get you started. There's also a mailing list for announcements and for questions from users.