Anybody who had been paying attention will have known that PyWiki
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
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
For the time being, PyWiki
code will still be available for download as
Thanks to anyone who has ever shown interest in PyWiki
, and especially those
who offered constructive criticism and/or code.
is a WikiWikiClone
written in the PythonLanguage
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 http://www.voght.com/cgi-bin/pywiki-demo
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.
. Source code can be downloaded for free
ftp://voght.com/pub/voght Latest revision is 0.4.2
It is distributed under the GnuGeneralPublicLicense
(GPL). Enjoy it.
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
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
- Merciless refactoring.
- Text editing rules now better enforced. The previous version actually accepted some HTML markup. No more.
- Sequences of the form anIllegalWikiName and bogushttp://www.voght.com are no longer recognized as links. Thanks to JuhaPohjalainen? for the bug report.
- .jpg and .png files are now accepted as well as .gif.
- URLs ending in .gif,.jpg, and .png will now be converted into images on the page. Previously, pywiki would only do this with external ( style) links.
- Some web servers do not create the QUERY_STRINGS environment variable when no query strings are present. PyWiki expected the presence of the variable in any case. A fix has been applied. Thanks to CeesDeGroot and DanRoot? for their reports and fixes.
- Editing for external link URLs is now on the same edit page as the text editor.
- Edit conflict detection has been implemented. If an author submits an edit and another edit for that page has been submitted (from another host) since the author fetched the edit form, the author is greeted with a page explaining what has happened. The author is asked to reload the form and submit again...
- Users of the 0.3.x versions of PyWiki should find that they can upgrade to 0.4.2 without any changes to their page archives.
After my first release of PyWiki
, I got a chance to see WardCunningham
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: http://www.zope.org/Members/simon/ZWiki
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
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.
- It seems the PyWiki demo is no longer available
- Another active Python Wiki can be found at: