29

I have been using fabric and recently got told about invoke, so I took a look at it's documentation:

Like Ruby’s Rake tool and Invoke’s own predecessor Fabric 1.x, it provides a clean, high level API for running shell commands and defining/organizing task functions from a tasks.py file.

Unless I am missing something and noob at invoke, but I find fabric is way more powerful than invoke, which makes me think invoke isn't a replacement for fabric. I am a bit confused.

I did a google search 'fabric vs invoke' and got nothing, so asking here instead.

James Lin
  • 25,028
  • 36
  • 133
  • 233

3 Answers3

25

Notice that both projects are maintained and managed by the same person. Bitprophet is working on a Fabric 2.x line that will utilize Invoke to clear out a lot of the cruft around running shell commands that exists right now in Fabric 1.x. So it's not really meant to replace fabric, but to be something from which later versions will build off.

Morgan
  • 4,143
  • 27
  • 35
  • 6
    Fabric 2.0 (Python 3.x compatible) is vaporware, see [Joel on Software - Things You Should Never Do, Part I](http://www.joelonsoftware.com/articles/fog0000000069.html). Despite many people offering contributions to make 1.x+1 Python 3 compatible (which would not impede 2.0 if it's simply branched), they're roundly refused. – Nick T Nov 10 '15 at 00:24
  • 2
    @NickT mind linking to the refusals? I suspect that there are good reasons they were turned down. – Morgan Mar 30 '16 at 00:57
  • 1
    @Morgan Searching for "Python 3" on the issue tracker brings up quite a lot. The closest to a reason that was given is saying that dropping 2.5 support is not an option. Everything else is just repeats of "Fabric 2 will support Py3, it's coming soon!". – Leagsaidh Gordon Jun 10 '16 at 20:44
  • 3
    For anyone coming to this late, Fabric 2.0 was released in May 2018. It did take awhile to get out the door but it's finally here, stable, and built on top of Invoke (as described). So yes, in essence Fabric _extends_ Invoke to work with remote hosts via ssh. – boweeb May 02 '19 at 18:38
3

Some helpful details are here: http://www.fabfile.org/roadmap.html#invoke-fabric-2-x-and-patchwork

As Fabric 2 is developed, Invoke will approach a 1.0 release, and will continue to grow & change to suit Fabric’s needs while remaining a high quality standalone task runner.

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Paul Bissex
  • 1,611
  • 1
  • 17
  • 22
0

I have used fabric3 for a long while as it was the same as fabric1. I think the time has come to use invoke, I tried a few years ago and it wasn't yet ready.

hum3
  • 1,563
  • 1
  • 14
  • 21