Metadata-Version: 2.1
Name: fabric
Version: 2.2.1
Summary: High level SSH command execution
Home-page: http://fabfile.org
Author: Jeff Forcier
Author-email: jeff@bitprophet.org
License: BSD
Description: 
        To find out what's new in this version of Fabric, please see `the changelog
        <http://fabfile.org/changelog.html>`_.
        
        What is Fabric?
        ---------------
        
        Fabric is a high level Python (2.7, 3.4+) library designed to execute shell
        commands remotely over SSH, yielding useful Python objects in return::
        
            >>> from fabric import Connection
            >>> result = Connection('web1.example.com').run('uname -s')
            >>> msg = "Ran {.command!r} on {.connection.host}, got stdout:\n{.stdout}"
            >>> print(msg.format(result))
            Ran "uname -s" on web1.example.com, got this stdout:
            Linux
        
        It builds on top of `Invoke <http://pyinvoke.org>`_ (subprocess command
        execution and command-line features) and `Paramiko <http://paramiko.org>`_ (SSH
        protocol implementation), extending their APIs to complement one another and
        provide additional functionality.
        
        How is it used?
        ---------------
        
        Core use cases for Fabric include (but are not limited to):
        
        * Single commands on individual hosts::
        
              >>> result = Connection('web1').run('hostname')
              web1
              >>> result
              <Result cmd='hostname' exited=0>
        
        * Single commands across multiple hosts (via varying methodologies: serial,
          parallel, etc)::
        
              >>> result = SerialGroup('web1', 'web2').run('hostname')
              web1
              web2
              >>> result
              {<Connection host=web1>: <Result cmd='whoami' exited=0>, ...}
        
        * Python code blocks (functions/methods) targeted at individual connections::
        
              >>> def disk_free(c):
              >>>     uname = c.run('uname -s', hide=True)
              >>>     if 'Linux' in uname:
              ...         command = "df -h / | tail -n1 | awk '{print $5}'"
              ...         return c.run(command, hide=True).stdout.strip()
              ...     err = "No idea how to get disk space on {}!".format(uname)
              ...     raise Exit(err)
              ...
              >>> disk_free(Connection('web1'))
              '33%'
        
        * Python code blocks on multiple hosts::
        
              >>> def disk_free(c):
              ...     # same as above!
              ...
              >>> {c: disk_free(c) for c in SerialGroup('web1', 'web2', 'db1')}
              {<Connection host=web1>: '33%', <Connection host=web2>: '17%', ...}
        
        In addition to these library-oriented use cases, Fabric makes it easy to
        integrate with Invoke's command-line task functionality, invoking via a ``fab``
        binary stub:
        
        * Python functions, methods or entire objects can be used as CLI-addressable
          tasks, e.g. ``fab deploy``;
        * Tasks may indicate other tasks to be run before or after they themselves
          execute (pre- or post-tasks);
        * Tasks are parameterized via regular GNU-style arguments, e.g. ``fab deploy
          --env=prod -d``;
        * Multiple tasks may be given in a single CLI session, e.g. ``fab build
          deploy``;
        * Much more - all other Invoke functionality is supported - see `its
          documentation <http://docs.pyinvoke.org>`_ for details.
        
        I'm a user of Fabric 1, how do I upgrade?
        -----------------------------------------
        
        We've packaged modern Fabric in a manner that allows installation alongside
        Fabric 1, so you can upgrade at whatever pace your use case requires. There are
        multiple possible approaches -- see our `detailed upgrade documentation
        <http://www.fabfile.org/upgrading.html#upgrading>`_ for details.
        
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Clustering
Classifier: Topic :: System :: Software Distribution
Classifier: Topic :: System :: Systems Administration
Provides-Extra: testing
Provides-Extra: pytest
