About Archive Tag Cloud Translations RSS

You are writing a comment about Deploying Django with Fabric, here is a quick summary:

A look at how to manage deployment complexity with Django using Fabric. Something of a continuation on the post from yesterday.


You are responding to this comment written by Jeff Forcier on November 6th 2008, 13:22.

Hey Will -- looks like you got picked up on Reddit, good job =)

I'd definitely love to get some of the magic out of Fabric once the feature set has settled down some.

As I was explaining to someone on the mailing list today, the main reason I can think of for the existing magic is to alter the namespace within Fabric commands (the user-defined functions) to allow access to the operations such as run(), sudo() and so forth, without needing to explicitly import them.

In Capistrano, which is Ruby, that sort of thing isn't even an issue because Ruby and Rails play so fast and loose with the namespacing and importing side of things, which is why it's well suited to DSLs. Python and the 'explicit over implicit' creed are naturally at odds with such an approach.

I can't say for now how exactly Fabric might try to become less magical, but again, I'm quite interested in trying to keep things Pythonic whenever possible :) so we'll see!


Please be aware that comment forms go stale after one hour.





Comments may make use of LifeFlow MarkDown. Raw html will be escaped.


Quick Introduction to LifeFlow MarkDown Syntax

A highlighted code block:

@@ ruby
def a (b, c):
  b * c
end
@@

Other common languages work as well: scheme, python, java, html, etc.

Other markdown syntax:

 ### This is an h3 title
#### This is an h4 title
**this is bold**
*this is italics*

1. This is an
2. ordered list

* And an unordered
* list too

[this is a link](http://www.lethain.com/ "Lethain")