Trac is cool. Easy to set up, easy to run, low maintenance, and you get:
- A ticketing system
- A webcvs-like thing for subversion
- A wiki (I mean,. what doesn't provide a wiki nowadays?)
- Bug reporting tool
- The bug reporting tool and the subversion changesets can be linked using Wiki markup (now that's cooler than it sounds ;-)
- You don't need to be root to set it up, and you don't need apache or anything else, really.
Really, really nice stuff.
On the other hand, CherryPy is a tool that lets you "publish your python objects on the web", which doesn't really mean much, but here's what I figured out:
Cherrypy is the first way I have seen to write a useful web-based app in a reasonable amount of time and pain.
Example, I wrote a frontend to clamav (allowing me to remotely trigger scans of individual nodes on a network) using Cherrypy and pyclamav in about 200 lines of code.
It works like a charm, it's robust, it even can be made to look nice using some sort of templating engine (haven't bothered yet).
And of course, I control that baby using a Trac project :-)