Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fabric vs Invoke

Tags:

invoke

fabric

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.

like image 301
James Lin Avatar asked Feb 20 '14 01:02

James Lin


People also ask

What is fabric deployment?

Fabric is a tool for Python similar to Makefiles but with the ability to execute commands on a remote server.

What is fabric programming?

The Fabric programming language is an extension of the Jif programming language [5], which is in turn a version of Java extended with security labels that govern the confidentiality and integrity of information used in the program, and ensure that information flows in the programs respect those security policies.

How do you use fabric in Python?

Fabric is a Python library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks. Typical usage involves creating a Python module containing one or more functions, then executing them via the fab command-line tool.

What is invoke Python?

Invoke is a Python (2.7 and 3.4+) library for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks. It draws inspiration from various sources ( make / rake , Fabric 1. x, etc) to arrive at a powerful & clean feature set.


2 Answers

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.

like image 114
Morgan Avatar answered Sep 29 '22 18:09

Morgan


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.

like image 21
Paul Bissex Avatar answered Sep 29 '22 18:09

Paul Bissex