{"id":13719943,"url":"https://github.com/ParallelSSH/ssh2-python","last_synced_at":"2025-05-07T12:30:35.746Z","repository":{"id":23269453,"uuid":"98586974","full_name":"ParallelSSH/ssh2-python","owner":"ParallelSSH","description":"Python bindings for libssh2 C library.","archived":false,"fork":false,"pushed_at":"2025-03-27T11:55:46.000Z","size":20600,"stargazers_count":229,"open_issues_count":5,"forks_count":75,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-26T05:12:45.861Z","etag":null,"topics":["cython","extension","library","libssh2","python","python-library","ssh","ssh2"],"latest_commit_sha":null,"homepage":"https://parallel-ssh.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ParallelSSH.png","metadata":{"files":{"readme":"README.rst","changelog":"Changelog.rst","contributing":".github/CONTRIBUTING.rst","funding":null,"license":"COPYING","code_of_conduct":".github/code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-27T23:14:59.000Z","updated_at":"2025-03-25T14:04:58.000Z","dependencies_parsed_at":"2025-01-23T01:28:32.444Z","dependency_job_id":"8d5ea9de-6fe2-412a-91d2-a138b8299b6e","html_url":"https://github.com/ParallelSSH/ssh2-python","commit_stats":{"total_commits":173,"total_committers":11,"mean_commits":"15.727272727272727","dds":"0.34682080924855496","last_synced_commit":"692bbbf0d8f4be6256a8c3fb0c7d20a99c6fd095"},"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParallelSSH%2Fssh2-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParallelSSH%2Fssh2-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParallelSSH%2Fssh2-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParallelSSH%2Fssh2-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ParallelSSH","download_url":"https://codeload.github.com/ParallelSSH/ssh2-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252876282,"owners_count":21818155,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cython","extension","library","libssh2","python","python-library","ssh","ssh2"],"created_at":"2024-08-03T01:00:58.003Z","updated_at":"2025-05-07T12:30:35.733Z","avatar_url":"https://github.com/ParallelSSH.png","language":"C","readme":"ssh2-python\n============\n\nSuper fast SSH2 protocol library. ``ssh2-python`` provides Python bindings for `libssh2`_.\n\n.. image:: https://img.shields.io/badge/License-LGPL%20v2.1-blue.svg\n   :target: https://pypi.python.org/pypi/ssh2-python\n   :alt: License\n.. image:: https://img.shields.io/pypi/v/ssh2-python.svg\n   :target: https://pypi.python.org/pypi/ssh2-python\n   :alt: Latest Version\n.. image:: https://circleci.com/gh/ParallelSSH/ssh2-python/tree/master.svg?style=svg\n   :target: https://circleci.com/gh/ParallelSSH/ssh2-python\n.. image:: https://ci.appveyor.com/api/projects/status/github/parallelssh/ssh2-python?svg=true\u0026branch=master\n   :target: https://ci.appveyor.com/project/pkittenis/ssh2-python\n.. image:: https://img.shields.io/pypi/wheel/ssh2-python.svg\n   :target: https://pypi.python.org/pypi/ssh2-python\n.. image:: https://img.shields.io/pypi/pyversions/ssh2-python.svg\n   :target: https://pypi.python.org/pypi/ssh2-python\n.. image:: https://readthedocs.org/projects/ssh2-python/badge/?version=latest\n  :target: http://ssh2-python.readthedocs.org/en/latest/\n  :alt: Latest documentation\n\n\nInstallation\n______________\n\nBinary wheel packages are provided for Linux, OSX and Windows, all Python versions. Wheel packages have **no dependencies**.\n\n``pip`` may need to be updated to be able to install binary wheel packages - ``pip install -U pip``.\n\n.. code-block:: shell\n\n   pip install ssh2-python\n\nFor from source installation instructions, including building against system provided libssh2, `see documentation \u003chttps://ssh2-python.readthedocs.io/en/latest/installation.html#installation-from-source\u003e`_.\n\nWho Should Use This\n___________________\n\nMost developers will want to use the `high level clients \u003chttps://parallel-ssh.readthedocs.io/en/latest/quickstart.html#single-host-client\u003e`_\nin `parallel-ssh \u003chttps://github.com/ParallelSSH/parallel-ssh\u003e`_\nbased on this library.\n\n\n.. code-block:: shell\n\n   pip install parallel-ssh\n\n\n.. code-block:: python\n\n   from pssh.clients import SSHClient\n\n   host = 'localhost'\n   cmd = 'uname'\n   client = SSHClient(host)\n\n   host_out = client.run_command(cmd)\n   for line in host_out.stdout:\n       print(line)\n   exit_code = host_out.exit_code\n\n\nThis library provides bindings to the low-level libssh2 C-API. It is *not* high level, nor easy to use. A *lot* of code\nwould need to be written to use this library that is already provided by `parallel-ssh`.\n\nUse `parallel-ssh \u003chttps://github.com/ParallelSSH/parallel-ssh\u003e`_ unless *really* sure using a C-API is what is wanted.\n\nAPI Feature Set\n________________\n\nAt this time all of the `libssh2`_ API has been implemented up to the libssh2 version in the repository. Please report any missing implementation.\n\nComplete example scripts for various operations can be found in the `examples directory`_.\n\nIn addition, as ``ssh2-python`` is a thin wrapper of ``libssh2`` with Python semantics, `its code examples \u003chttps://libssh2.org/examples/\u003e`_ can be ported straight over to Python with only minimal changes.\n\nExamples\n_____________\n\nSee `examples directory \u003chttps://github.com/ParallelSSH/ssh2-python/tree/master/examples\u003e`_  for complete examples.\n\nAgain, most developers will want to use `parallel-ssh \u003chttps://github.com/ParallelSSH/parallel-ssh\u003e`_ rather than this\nlibrary directly.\n\nComparison with other Python SSH libraries\n-------------------------------------------\n\nPerformance of above example, compared with Paramiko.\n\n.. code-block:: shell\n\n   time python examples/example_echo.py\n   time python examples/paramiko_comparison.py\n\n:Output:\n\n   ``ssh2-python``::\n\n     real\t0m0.141s\n     user\t0m0.037s\n     sys\t0m0.008s\n\n   ``paramiko``::\n\n     real\t0m0.592s\n     user\t0m0.351s\n     sys\t0m0.021s\n\n\n.. _libssh2: https://www.libssh2.org\n.. _Cython: https://www.cython.org\n.. _`examples directory`: https://github.com/ParallelSSH/ssh2-python/tree/master/examples\n.. _`mail group`: https://groups.google.com/forum/#!forum/ssh2-python\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FParallelSSH%2Fssh2-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FParallelSSH%2Fssh2-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FParallelSSH%2Fssh2-python/lists"}