I haven't been blogging like I should lately. Not for a lack of
possible content; but I've been focusing very much on Paste. If I'm
not working at the day job, I'm working on Paste, or if neither of
those then I'm trying to stay the hell away from the computer. Not
always successfully. And I haven't been blogging here in part because
it keeps crashing my server, for dumb reasons (but if I don't post
then no one reads this, then the server is okay!)
Anyway, Paste is coming together well; we're using it on production
applications at work. I just have to resolve all the distribution
issues and it should be ready for a release. I continue to believe it
has a lot of importance to Python web programming. In part because it
solves a problem that isn't unique to Python; we all complain about
the multitude of frameworks, but it's actually just the same in the
Java and PHP worlds. And maybe it's a little mean to say so, but Ruby
isn't enough of a world to have this problem (that is, as the number
of Rails programmers quickly comes to overwhelm the number of Ruby
programmers, it seems obvious that the multitude of web frameworks
won't be a problem for Ruby anytime soon).
But, other people's greenfield work aside, Python's problem isn't
unique, and I feel like Paste has real potential to solve this problem
in a way that I don't think exists elsewhere. In PHP the control flow
is so messed up, they are a long way from being able to bring things
together. In Java the control flow allows for the same kinds of
abstraction, but the language itself is resistent to decoupled code,
and the workarounds are so heavy that the disincentives are
considerable. In both cases, I think Python has the potential to
support heterogeneous environments in a much more granular way.
At times I worry that Paste will turn into Yet Another Framework, but
I think it has maintained non-frameworkness fairly well. Once a
framework or application has WSGI support, integrating it into Paste
is fairly trivial. And as Paste builds features -- slowly but surely
-- these features are all in turn based on WSGI when at all
appropriate, and any other frameworks can come along for the ride.
Things like the profiler
are completely framework-neutral.
Right now the only big barrier I see -- and I'll admit it's a very
significant barrier -- is distribution and tracking changes. I
haven't made many backward-incompatible changes over time (I just
haven't felt a need), but there's no guarantees at this point. And
Paste brings in all sorts of dependencies. I'm optimistic that Easy
Install will
help resolve this, but there's still work to be done. A lot of it is
just a matter of figuring out how to use what's already there.
There hasn't been a lot of activity on the Paste list recently. I'm
not sure what to make of that. It's summer, people tend to wander off
during the summer. I also feel there's lots of lurkers, but still
only a small number of people who are seriously interested, and even
those people are hedging their bets. But I'm not sure what to do
about this, how to better bring people into the process and encourage
a sense of investment.