Py Wiki

Anybody who had been paying attention will have known that PyWiki development stalled long ago. The code is crufty and bloated, and probably will not even run with current versions of Python.

To my knowledge, PyWiki was the first 'WikiClone' written in Python, and the first to be released under a GPL license. Evidence shows that I first released it in August, 1998. It was fun to do, and I did it just for fun.

I guess open-sourced software never gets officially retired, but I am ready to announce that I am never going to work on PyWiki again.

I will no longer be exposing any wiki services to the wilds of the internet, although I am an enthusiastic user of personal wikis to help manage various projects.

For the time being, PyWiki code will still be available for download as described below.

Thanks to anyone who has ever shown interest in PyWiki, and especially those who offered constructive criticism and/or code.


PyWiki is a WikiWikiClone written in the PythonLanguage by TimVoght as a 'first project in Python' exercise. An attempt has been made to mimic closely the functionality of WardCunningham's Wiki. The use of RCS for file archiving is the most obvious departure.

An example is available for your perusal at

PyWiki uses the RCS RevisionControlSystem to store its pages. It has been tested only on Linux and MkLinux systems with Python version 1.5.1 and RCS version 5.7 installed.

I have it working fine on Solaris 2.6 -- KeithHodges

I have it working on Solaris 2.6, Python 1.5.2, RCS 5.7, Xitami server. I had to edit xitami.cfg to change "form-fields=0" to "form-fields=1" before it would work right. -- WayneConrad

PyWiki is FreeSoftware. Source code can be downloaded for free from: Latest revision is 0.4.2 (February 2000)

It is distributed under the GnuGeneralPublicLicense (GPL). Enjoy it.

New Version!

Once again, PyWiki has undergone substantial refactoring. The project continues to be an educational one for me, and I continue to learn. The learning is slow to be sure, and all the slower in that I am working alone with little or no feedback, except for the occasional bug report or feature request.

It has been discussed that in ExtremeProgrammingForOne, PairProgramming is impossible (preferable?). That is true, and when you're trying to learn some things, it's easy to ruminate about how helpful it would be to have an experienced pair of eyes over your shoulder and a helpful hand pointing out gaffes on the screen. The best the solitary programmer can do is set the project aside for awhile and work on other things. In a few months, the code will look more alien and more subject to criticism and improvement. Python is a big help here, because it is so readable. I played with Forth once, and found that I couldn't read my own programs a week after writing them.

One thing I learned is discussed in QuickHackTherapy, where it is pointed out that OO beginners tend to 'over-abstract' some programs, making objects out of everything, often inappropriately. I am comforted by RalphJohnson's conclusion that, for a learner, this is a good thing and will usually lead to a better understanding of the paradigm. I think this is true.

Another thing I learned is discussed in GrainOfTheLanguage. Python offers some very powerful abstractions in its list and dictionary structures (I think Perl folk call dictionaries 'associative lists' nope--'associative arrays' or just 'hashes'). I found that I had designed modules which laid an inferior facade of my own making over these elegant data structures. I had a sudden revelation that I was fighting the language. I'm trying to get over this. Go easy on me. I've been toiling over C and assembly language programs for a long time.

Release Notes PyWiki 0.4.2

After my first release of PyWiki, I got a chance to see WardCunningham's wiki code on wikibase. When I looked at it, I think I saw 368 lines of Perl code. I was shocked and humbled. I do get some comfort from the fact that Ward's and my goals were much different, and I'm not sure in my case the ulimate goal was to create a working wiki. Incidentally my shock and humility did not prevent me from getting the book MasteringRegularExpressions and figuring out exactly what Ward was up to.

I think if I were going to start from scratch today and if all I wanted to accomplish was to create a working wiki, I would use ZopeApplicationServer [] the Python-based Web development package. I've just started looking at it, and at first glance it looks just plain cool.


Zope now has a wiki:


or see ZwiKi

A recent extraction of the HyperPerl source for wiki yielded about 520 lines. I would be surprised/disappointed if a Python implementation was significantly larger. I'm playing with a reimplementation myself called PikiPiki, and will be interested to compare it to JohnFarrell's implementation as a JavaServlet. -- MartinPool

Tim, PyWiki was a breeze to install and get working. I had trouble getting another wiki to work, but I downloaded yours, followed the directions, and had it running in under 10 minutes. Very nice. -- RichardBash

Has anyone tried this with Python 2.2.1 yet? Thanks -- Paul Weimer

This is quite remarkable.

2012 Update

View edit of August 8, 2012 or FindPage with title or text search