This post originated from an RSS feed registered with Ruby Buzz
by Christopher Cyll.
Original Post: Digging the Paste Way
Feed Title: Topher Cyll
Feed URL: http://feeds.feedburner.com/cyll
Feed Description: I'm not too worried about it. Ruby and programming languages.
I'm using Python and Pylons for a
project at work, and I deployed my application for the first time
today.
I've mostly enjoyed using Pylons. Although it does suffer from Too
Many Files Syndrome (which I'll try to talk about in a later post) and
the javascript/AJAX stuff feels cobbled together and undocumented
compared to other frameworks like Rails or Seaside.
It's basically just another MVC web framework, but it works and I like
its philosophy of loosely coupled best of breed libraries. In
particular, it's been great how easy it was to use SQLAlchemy instead of SQLObject.
SQLAlchemy is insanely powerful (though not as user friendly as I'd
hoped) and is a great fit for our databases which don't necessarily
conform to the schemas demanded by ActiveRecord or SQLObject. And If
you take the time to build your model classes carefully, you can hide
most of the complexity.
While I'm at it, I also out to give a shout ought to jQuery which I've been using alongside
the Prototype Javascript Library that ships with Pylons. jQuery is
totally awesome. I love it's markup oriented behavior concept. It's
really a great way to think about writing Javascript.
Anyways, all that was just so I could mention how frickin cool Paste based web deployment is
(Pylons uses Paste). Your entire web app gets packed up as a Python
egg, which can then be installed on any machine (multiple versions can
be installed too, and library version dependencies are handled by the
Egg system so no need to worry about upgraded versions preventing
rollbacks).
In order to launch the web app, all you need to do is have the Egg
installed, put together a quick config file (specifying things like
port, but also application specific things like database connection or
data directories), and use the 'paster' command to launch it. I'm
pretty sure this is "good stuff."
Update: Ian Bicking, Python web super hero, does a quick
comparison between Turbo
Gears and Pylons.