Welcome to SWIG! (For Python users) Introduction ============ I'm quite pleased to announce that Simplified Wrapper and Interface Generator (SWIG) now supports Python. SWIG is a simple interface generation tool that I have developed to help me build interesting interfaces for code written primarily in C/C++. Using a special file containing ANSI C declarations (similar to a header file), SWIG can be used to quickly build a Python interface for your C programs. This has a number of applications including : - Building nice interfaces for C programs. - Debugging. You can debug your C programs from the Python interpreter (I use this almost all of the time and it works great). - Building modules. You can use SWIG to build Python modules. You might need to help it out a little bit, but SWIG eliminates a lot of the really grungy details. - Prototyping. Slap a SWIG interface around a C header file and start playing with it in Python. Believe me, this is pretty cool. SWIG requires almost no changes to your C programs, so you can check it out without risk. You can also use it with Tcl/Tk, Perl4, Perl5, and Guile-iii. While SWIG primarily produces the glue code needed to add C functions to Python and other languages, it also produces documentation in ASCII, LaTeX, and HTML. About The Beta Release ====================== This distribution includes the 1.0Beta2 release of SWIG which primarily works only with C code, but is reasonably stable. In case, you may find it to be a little quirky. As of this writing, a new release is near completion. This new release supports a number of exciting features including : - Support for C++, including the parsing of simple C++ classes. - A wide variety of bug fixes. - Better documentation. - More examples. - New updated documentation. Where to get the latest version =============================== The latest version of SWIG is available from the SWIG homepage at http://www.cs.utah.edu/~beazley/SWIG or by anonymous ftp at ftp://ftp.cs.utah.edu/pub/beazley/SWIG You can also join the SWIG mailing list by sending a message with "subscribe swig" in the body to Majordomo@cs.utah.edu. Documentation ============== Documentation is available in the file SWIG_Doc.ps or SWIG_Doc.txt. The documentation is a little Tcl heavy so I have also included the file Python.html, a paper presented at the 4th International Python Workshop. More up-to-date documentation is available on the SWIG homepage. Installation Notes ================== This version of SWIG has been configured to generate Python code and HTML documentation by default. Please follow the instructions in the README file on how to install the software. Unfortunately, the installation process is still a little hairy, but this is Beta release software so I have an excuse.....well, for now. This release only works with UNIX, but SWIG has been ported to other platforms so that may change in the near future. Examples ======== You can find a few (admittedly, too few) examples in the Examples/python directory. Enjoy! ====== SWIG is a software product I developed for my own work in large scale scientific computing applications at Los Alamos and the University of Utah. I hope that you find it to be as useful as I have. Dave Beazley (beazley@cs.utah.edu) University of Utah May 16, 1996.