Fabric is a Python library and command-line tool designed to streamline deploying applications or performing system administration tasks via the SSH protocol. It provides tools for running arbitrary shell commands (either as a normal login user, or via ``sudo``), uploading and downloading files, and so forth. Typical use involves defining a "fabfile" (a Python module) containing one or more functions or tasks which may then be executed by the ``fab`` command-line tool. Fabric provides extra functionality related to this mode of use, such as prompting for user input, ensuring certain variables are present in order for tasks to run, and specifying which host or hosts a specific task connects to by default. Fabric may also be used as a standalone library, so that other Python programs needing a simple API on top of SSH or SCP may import and utilize specific pieces of functionality.