Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Python bindings for libssh C library.

License

LGPL-2.1, LGPL-2.1 licenses found

Licenses found

LGPL-2.1
LICENSE
LGPL-2.1
COPYING
Notifications You must be signed in to change notification settings

ParallelSSH/ssh-python

Repository files navigation

ssh-python

Bindings for libssh C library.

License Latest Version https://circleci.com/gh/ParallelSSH/ssh-python/tree/master.svg?style=shield https://ci.appveyor.com/api/projects/status/2t4bmmtjvfy5s1in/branch/master?svg=true Latest documentation

Installation

Binary wheels are provided for Linux (manylinux 2014, x86_64 and aarch64), OSX (12, 13 and 14 for brew Python), and Windows 64-bit (Python 3.7+).

Wheels have no dependencies.

For building from source, see documentation.

pip install ssh-python

Pip may need to be updated to be able to install binary wheels.

pip install -U pip
pip install ssh-python

Quick Start

See command execution script for complete example.

Features

The library uses Cython based native code extensions as wrappers to libssh.

  • Thread safe - GIL released as much as possible
    • libssh threading limitations apply - anything not supported in C is not supported in Python
  • Very low overhead thin wrapper
  • Object oriented
    • Memory freed automatically and safely as objects are garbage collected by Python
  • Uses Python semantics where applicable
    • channel/file handle context manager support
    • channel/file handle iterator support
  • Raises low level C errors as Python exceptions