For more information about PyCon 2006, see the main conference site at http://us.pycon.org/.
#1. Introduction to Pyparsing: An Object-oriented Easy-to-Use Toolkit for Building Recursive Descent Parsers
pyparsing is a pure-Python module, containing a class library for easily creating recursive-descent parsers. pyparsing's syntax provides tools for both simple tokenization and data structuring and interpretation. I will give an overview of the basic features of pyparsing, and a *very quick* overview of the advanced features. I will close with 3 or 4 application examples, time-permitting. (For more detail on the type of information I have to present on pyparsing, you can visit my SourceForge project web page at http://pyparsing.sourceforge.net.)(I have posted the presentation materials at my personal web page: http://www.geocities.com/ptmcg/python/index.html.)
#2. Agile Documentation: using tests as documentation
Grig Gheorghiu
Agile Documentation means having unit tests serve a double role: testing your code and documenting it at the same time. I borrowed the term "Agile Documentation" from an article called "Double Duty" written by Brian Button.
In the talk, I will show how doctest and epydoc make it very easy to automatically generate documentation in the form of Test Lists and Test Maps. To see how it all integrates together, check out http://agile.unisonis.com/epydoc/blogmgmt/
I will also show how the Django project generates API reference Web pages automatically from doctest-based unit tests.
I will finish my talk by mentioning the Wiki functionality of FitNesse as a mechanism for using acceptance tests as documentation.
The talk is based on the following blog entries I posted:
http://agiletesting.blogspot.com/2005/02/agile-documentation-with-doctest-and.html
http://agiletesting.blogspot.com/2005/08/agile-documentation-in-django-project.html
http://agiletesting.blogspot.com/2004/11/writing-fitnesse-tests-in-python.html
#4. An Interactive Adventure Game Engine Built Using Pyparsing
A pure-Python command interpreter engine for creating text adventure games. Used as an example of creating a custom "little language", in this case, the domain being a simple text-based adventure game. Provides a complete example of using pyparsing to structure input commands, with an internal Command structure to implement command behavior. (I have posted the presentation materials at my personal web page: http://www.geocities.com/ptmcg/python/index.html.)
#5. Desktop Application Programming With PyGTK and Glade
Michael Urban / Lion Research Center
GTK is the standard toolkit used in the Gnome desktop environment. Python, combined with PyGTK and the Glade visual designer is rapidly becoming the Visual Basic of the Gnome world for quickly and easily building fully featured GUI applications. However, applications written in Python and PyGTK are not restricted to Gnome or Linux. In fact, Python and PyGTK can fill the same roles as Java and Swing when it comes to writing cross-platform desktop applications.
In this tutorial presentation, I will show how to use the Glade visual designer plus the PyGTK module to quickly and easily build GTK applications using Python. Since GTK was originally written for programming the GIMP image manipulation program, we get a lot of very powerful image manipulation capability for free in GTK. As such, the tutorial will be focused around a simple image processing program that will give us the ability to preview images in a file window, load images for viewing, and rescale images. I will close the tutorial by giving a demonstration of a significantly complex real world Python PyGTK application that exercises many of the features of PyGTK including image editing, tables with custom table cell renderers, resizable dividers, and complex data entry forms.
#6. Vertebral Fracture Analysis
Wesley J. Chun / CyberWeb Consulting
Vertebral Fracture Analysis
Several years ago, at PyCon 2003, I presented a general paper on how Synarc, a medical imaging company in San Francisco, developed medical applications using Python. This time, I would like to focus on one specific project which was my primary responsibility as a Senior Software Engineer there.
The VFract application is used as part of a set of radiology services
