fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Fabric execution with Python calls instead of command-lin


From: Travis Swicegood
Subject: Re: [Fab-user] Fabric execution with Python calls instead of command-line
Date: Tue, 23 Nov 2010 16:17:56 -0600

I'll take a stab at this with caveat that I'm not the maintainer...

Ahh - as I was writing this Jeff chimed in.  Anything I say here that's in contradiction to him, believe him, not me (though I think we're actually in agreement on the various points). :-)

On Tue, Nov 23, 2010 at 3:23 PM, Carles Barrobés i Meix <address@hidden> wrote:
My questions, mainly to the developers:
- Can I rely on using functions in fabric.main?

Sort of.  The plan is to refactor all that code heavily post 1.0, but as I understand it, the code will stay pretty much as-is (or at least BC) through the various 1.x releases.  If anything, you'll have some better options available and those will be the deprecated way of interacting with the code, but they'll be there at least until 2.0.  Again though, as is my understanding.

That said, you might want to look at my fork of Fabric on GitHub.  It does have some pretty heavy refactoring of that code to allow for things like namespace tasks (think `fab db.init`, `fab django.run_tests`, etc.).

 
- Are there plans to refactor fabric.main so that it is more usable in the way I suggest, and eventually become a published API?

Yes, yes, and more yes.  Ideally we'll have a runner script that pulls the relevant pieces from the command line and then invokes Fabric.  There's talk of a three(ish)-step process as well, the first one that loads the minimum amount of Fabric necessary to parse a fabfile, followed by the loading of the fabfile at which point other tasks and plugins and roles and such can be defined and modify things such as the command parameters, and finally the execution of the code.

 
- Would you be open to contributions in that direction?

Yup.  Right now the big changes coming down the pipe for 1.0 are some get/put finishing touches, followed by (hopefully) all of my namespace task, __all__, etc., changes (my master on GH).  After that I believe 1.1 and 1.2 are spoken for, but anything you're interested in doing, go for it.  One thing we've (well, I've) definitely learned from though is to make topic branches.  I intended my code to be one or two commits, and now am some 30 commits off of being in sync with the main source.  A lot of my changes build on other changes, so they're a lot harder to break into branches now.

-T

reply via email to

[Prev in Thread] Current Thread [Next in Thread]