1.2. The History of TurboGears
Python has a wealth of freely available tools for doing just about anything: serving up web pages, accessing your database, putting content into templates, bathing the cat, and so on. (Okay, the cat-bathing library hasn't been released yet, but we hear it's coming real soon now.) This leaves just one problem then: How do you know which is the "best?"
Ultimately, what's "best" varies from application to application and programmer to programmer. It's often a matter of taste: Choice is good. On the other hand, as of early 2005, if you needed to make a web application, you had to make a choice about how to access the database, another choice about how to handle web requests, and yet another about how to generate finished pages. If there were five viable options for each of those, that meant you needed to evaluate 15 different packages! Not only that, you had to look at how they worked together, giving you dozens of options to evaluate! When confronted by this, many people just make their own packages (which just increases the number of choices available to the next coder in line).
But suppose you avoided the temptation to "roll your own"; after you've finished sorting through the available packages and choosing the ones that were right for you, you still need to wire them up to work well together. They're all working toward the same goal: making data or functionality available on the web. But, each part focuses on a narrow piece of the puzzle. It becomes your job to look out for the whole of your project.
When working on the Zesty News product, Kevin Dangoor, the creator of TurboGears, had to make these choices and wire them up. He even changed those choices a couple of times midstream as the differences in approaches became more apparent. In June 2005, he decided that it made sense for his business to release these tools in a convenient, bundled package. In July, he had settled on a good set of tools that worked well together. They all felt "Pythonic," and it didn't seem like a big mental leap to use the different parts of the package.
With Kevin's glue code, documentation, and packaging in place, TurboGears was presented at the first Michigan Python Users Group meeting on September 14, 2005, with the software's public release three days later.
Historical fun fact: TurboGears was originally called Rapido. Because of possible trademark concerns, Kevin changed the name to TurboGears the day before the MichiPUG meeting.
Within three weeks, Kevin's 20 Minute Wiki screencast had been downloaded more than 15,000 times, and people were driving 4+ hours to attend a day-long developer session to work on new TurboGears features.
Kevin had no idea that his little project was going to get that kind of reception. But, it seems that there was a lot of pent-up demand for a full-stack framework that reused some of the high-quality components already available in Python.