ssh2-python
============
Super fast SSH2 protocol library. ``ssh2-python`` provides Python bindings for `libssh2`_.
.. image:: https://img.shields.io/badge/License-LGPL%20v2.1-blue.svg
:target: https://pypi.python.org/pypi/ssh2-python
:alt: License
.. image:: https://img.shields.io/pypi/v/ssh2-python.svg
:target: https://pypi.python.org/pypi/ssh2-python
:alt: Latest Version
.. image:: https://circleci.com/gh/ParallelSSH/ssh2-python/tree/master.svg?style=svg
:target: https://circleci.com/gh/ParallelSSH/ssh2-python
.. image:: https://ci.appveyor.com/api/projects/status/github/parallelssh/ssh2-python?svg=true&branch=master
:target: https://ci.appveyor.com/project/pkittenis/ssh2-python
.. image:: https://img.shields.io/pypi/wheel/ssh2-python.svg
:target: https://pypi.python.org/pypi/ssh2-python
.. image:: https://img.shields.io/pypi/pyversions/ssh2-python.svg
:target: https://pypi.python.org/pypi/ssh2-python
.. image:: https://readthedocs.org/projects/ssh2-python/badge/?version=latest
:target: http://ssh2-python.readthedocs.org/en/latest/
:alt: Latest documentation
Installation
______________
Binary wheel packages are provided for Linux, OSX and Windows, all Python versions. Wheel packages have **no dependencies**.
``pip`` may need to be updated to be able to install binary wheel packages - ``pip install -U pip``.
.. code-block:: shell
pip install ssh2-python
For from source installation instructions, including building against system provided libssh2, `see documentation <https://ssh2-python.readthedocs.io/en/latest/installation.html#installation-from-source>`_.
Who Should Use This
___________________
Most developers will want to use the `high level clients <https://parallel-ssh.readthedocs.io/en/latest/quickstart.html#single-host-client>`_
in `parallel-ssh <https://github.com/ParallelSSH/parallel-ssh>`_
based on this library.
.. code-block:: shell
pip install parallel-ssh
.. code-block:: python
from pssh.clients import SSHClient
host = 'localhost'
cmd = 'uname'
client = SSHClient(host)
host_out = client.run_command(cmd)
for line in host_out.stdout:
print(line)
exit_code = host_out.exit_code
This library provides bindings to the low-level libssh2 C-API. It is *not* high level, nor easy to use. A *lot* of code
would need to be written to use this library that is already provided by `parallel-ssh`.
Use `parallel-ssh <https://github.com/ParallelSSH/parallel-ssh>`_ unless *really* sure using a C-API is what is wanted.
API Feature Set
________________
At this time all of the `libssh2`_ API has been implemented up to the libssh2 version in the repository. Please report any missing implementation.
Complete example scripts for various operations can be found in the `examples directory`_.
In addition, as ``ssh2-python`` is a thin wrapper of ``libssh2`` with Python semantics, `its code examples <https://libssh2.org/examples/>`_ can be ported straight over to Python with only minimal changes.
Examples
_____________
See `examples directory <https://github.com/ParallelSSH/ssh2-python/tree/master/examples>`_ for complete examples.
Again, most developers will want to use `parallel-ssh <https://github.com/ParallelSSH/parallel-ssh>`_ rather than this
library directly.
Comparison with other Python SSH libraries
-------------------------------------------
Performance of above example, compared with Paramiko.
.. code-block:: shell
time python examples/example_echo.py
time python examples/paramiko_comparison.py
:Output:
``ssh2-python``::
real 0m0.141s
user 0m0.037s
sys 0m0.008s
``paramiko``::
real 0m0.592s
user 0m0.351s
sys 0m0.021s
.. _libssh2: https://www.libssh2.org
.. _Cython: https://www.cython.org
.. _`examples directory`: https://github.com/ParallelSSH/ssh2-python/tree/master/examples
.. _`mail group`: https://groups.google.com/forum/#!forum/ssh2-python
Raw data
{
"_id": null,
"home_page": "https://github.com/ParallelSSH/ssh2-python",
"name": "ssh2-python",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Panos Kittenis",
"author_email": "danst@tutanota.com",
"download_url": "https://files.pythonhosted.org/packages/e3/ab/8105fdee39bee50e505c9c97e117353e19ab18c250307ec29a7dee46e46c/ssh2_python-1.2.0.post1.tar.gz",
"platform": "any",
"description": "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&branch=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 <https://ssh2-python.readthedocs.io/en/latest/installation.html#installation-from-source>`_.\n\nWho Should Use This\n___________________\n\nMost developers will want to use the `high level clients <https://parallel-ssh.readthedocs.io/en/latest/quickstart.html#single-host-client>`_\nin `parallel-ssh <https://github.com/ParallelSSH/parallel-ssh>`_\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 <https://github.com/ParallelSSH/parallel-ssh>`_ 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 <https://libssh2.org/examples/>`_ can be ported straight over to Python with only minimal changes.\n\nExamples\n_____________\n\nSee `examples directory <https://github.com/ParallelSSH/ssh2-python/tree/master/examples>`_ for complete examples.\n\nAgain, most developers will want to use `parallel-ssh <https://github.com/ParallelSSH/parallel-ssh>`_ 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",
"bugtrack_url": null,
"license": "LGPL-2.1-only",
"summary": "Bindings for libssh2 C library",
"version": "1.2.0.post1",
"project_urls": {
"Homepage": "https://github.com/ParallelSSH/ssh2-python"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ef5920a8c6598ca4b6c15a160d0ad661b0d1ef2a9841ad73295c61db1dc33d00",
"md5": "f6ffc6856b13d9da0edfffc7ab70dd0b",
"sha256": "f7f79e5a2c804ebe65eb7daaeb5d9b127539037c09f2ec145e46dad0f2121acb"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "f6ffc6856b13d9da0edfffc7ab70dd0b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 5159582,
"upload_time": "2025-10-12T13:21:38",
"upload_time_iso_8601": "2025-10-12T13:21:38.984460Z",
"url": "https://files.pythonhosted.org/packages/ef/59/20a8c6598ca4b6c15a160d0ad661b0d1ef2a9841ad73295c61db1dc33d00/ssh2_python-1.2.0.post1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dd0b19e751188595b4a89c2dd6040e395a78b75661df5ac731b0afe8a0a001cd",
"md5": "68d48be1928f33d96a135df0b7405a4a",
"sha256": "92f2021944cee2c14e1763a2da96049bcca9e5a3fabe5103020e49afbca9b928"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "68d48be1928f33d96a135df0b7405a4a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 4797428,
"upload_time": "2025-10-12T13:21:05",
"upload_time_iso_8601": "2025-10-12T13:21:05.164831Z",
"url": "https://files.pythonhosted.org/packages/dd/0b/19e751188595b4a89c2dd6040e395a78b75661df5ac731b0afe8a0a001cd/ssh2_python-1.2.0.post1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "07357b923f2992855e22e56c90dbbc551ebd4b4fbc5353c08d8c3e62f150392e",
"md5": "e3ca394401a51cd176ffc0000aafe850",
"sha256": "5866691c41aad29c4d46d86ed530f4d21bbaff63e66fefdf62189ba74777652e"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "e3ca394401a51cd176ffc0000aafe850",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 4232888,
"upload_time": "2025-10-12T13:19:03",
"upload_time_iso_8601": "2025-10-12T13:19:03.713510Z",
"url": "https://files.pythonhosted.org/packages/07/35/7b923f2992855e22e56c90dbbc551ebd4b4fbc5353c08d8c3e62f150392e/ssh2_python-1.2.0.post1-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a8f4a99e7d72e06edf30988161d6780562dcc93c8a70ff3c393e9697fdf83ed7",
"md5": "c8e559c85493b54dd69ec6ebd7e20ad8",
"sha256": "15d8e0c78e0a7fc154e930ef23fa0250c24a0946507484f8064662f3d20fa1db"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp311-cp311-macosx_12_0_arm64.whl",
"has_sig": false,
"md5_digest": "c8e559c85493b54dd69ec6ebd7e20ad8",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 2124170,
"upload_time": "2025-10-12T13:14:16",
"upload_time_iso_8601": "2025-10-12T13:14:16.519479Z",
"url": "https://files.pythonhosted.org/packages/a8/f4/a99e7d72e06edf30988161d6780562dcc93c8a70ff3c393e9697fdf83ed7/ssh2_python-1.2.0.post1-cp311-cp311-macosx_12_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f54228aa5f91ba897ecaae75657ef564dc6b1abf9b273cdee6efd55a13e30e95",
"md5": "b7184ffa77f8bc9a27805ca953b3f63b",
"sha256": "8b47215a05ec20ab7591143d7ccd6c75e1a0543ca88533a3c23fe6734f56c133"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp311-cp311-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "b7184ffa77f8bc9a27805ca953b3f63b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 2139739,
"upload_time": "2025-10-12T13:15:48",
"upload_time_iso_8601": "2025-10-12T13:15:48.019794Z",
"url": "https://files.pythonhosted.org/packages/f5/42/28aa5f91ba897ecaae75657ef564dc6b1abf9b273cdee6efd55a13e30e95/ssh2_python-1.2.0.post1-cp311-cp311-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6be68736f6e54d8f4929d5bcd128403a9b324c203b5f0dc848e43966455e822b",
"md5": "1ead3747d8aaae6d10c3b3db4c80e7f2",
"sha256": "bf2b086e31360d94032888ee541fcaeceae8512a12549395b0d29185ea965b18"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "1ead3747d8aaae6d10c3b3db4c80e7f2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 5239684,
"upload_time": "2025-10-12T13:21:40",
"upload_time_iso_8601": "2025-10-12T13:21:40.284226Z",
"url": "https://files.pythonhosted.org/packages/6b/e6/8736f6e54d8f4929d5bcd128403a9b324c203b5f0dc848e43966455e822b/ssh2_python-1.2.0.post1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "98d4e219702781cfab575e4d8a1b61f762ba6b5f451e137d812b79c9f8a064be",
"md5": "0b6300e2dc236d7f9bbb711e3fdb561b",
"sha256": "fe103dabbaa166357251626bf83cb91be30a430506d8607db88c0ac8c4a3974e"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "0b6300e2dc236d7f9bbb711e3fdb561b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 4878637,
"upload_time": "2025-10-12T13:21:06",
"upload_time_iso_8601": "2025-10-12T13:21:06.449923Z",
"url": "https://files.pythonhosted.org/packages/98/d4/e219702781cfab575e4d8a1b61f762ba6b5f451e137d812b79c9f8a064be/ssh2_python-1.2.0.post1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0c8f63f1a1d27060de6161632ac8270563dfdf4570cb91a1dfa017244597e10a",
"md5": "7adfe445f3cc5199e20892e936e8f6b2",
"sha256": "9d37b9a0e020da7c3a571a6c7ebb5813c93289e5f6fa67c8683faa161f7c44c2"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "7adfe445f3cc5199e20892e936e8f6b2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 4234188,
"upload_time": "2025-10-12T13:19:05",
"upload_time_iso_8601": "2025-10-12T13:19:05.189648Z",
"url": "https://files.pythonhosted.org/packages/0c/8f/63f1a1d27060de6161632ac8270563dfdf4570cb91a1dfa017244597e10a/ssh2_python-1.2.0.post1-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "65b68e359e3552ff99294eb032c32e4df93befbda7e559464cb21ebd410e4ffb",
"md5": "37a36df930b5c92c5202d14e729d534f",
"sha256": "0d8b24562ca03ef3b34e33c7e1983dba5400b5104c710c1152e4fa38e2a07284"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp312-cp312-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "37a36df930b5c92c5202d14e729d534f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 2739402,
"upload_time": "2025-10-12T13:12:20",
"upload_time_iso_8601": "2025-10-12T13:12:20.847842Z",
"url": "https://files.pythonhosted.org/packages/65/b6/8e359e3552ff99294eb032c32e4df93befbda7e559464cb21ebd410e4ffb/ssh2_python-1.2.0.post1-cp312-cp312-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "53cb63d2eaed35f18c2e0ac38cb976fa9d5a09851cd90f50b4fc2fa4f9743774",
"md5": "390ec77f3d6e2e2576b718ee6fbe9032",
"sha256": "5bd9b71bbb5c774d6a636dc06e6a31b4a2054daa7990ce59287ec21d31ae1cb4"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "390ec77f3d6e2e2576b718ee6fbe9032",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 5426089,
"upload_time": "2025-10-12T13:21:41",
"upload_time_iso_8601": "2025-10-12T13:21:41.532541Z",
"url": "https://files.pythonhosted.org/packages/53/cb/63d2eaed35f18c2e0ac38cb976fa9d5a09851cd90f50b4fc2fa4f9743774/ssh2_python-1.2.0.post1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4156cb4d6c28f7729b526c65736294222d9795fe69e8983e9573fc1171c54956",
"md5": "f5fb1a08a1e8ca6593b2ee902a1e0004",
"sha256": "9fcedb17e4ecc722b39a404fb50897b219e7cd72c1806750b1f8e7e34a6c0a95"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "f5fb1a08a1e8ca6593b2ee902a1e0004",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 5061859,
"upload_time": "2025-10-12T13:21:08",
"upload_time_iso_8601": "2025-10-12T13:21:08.020959Z",
"url": "https://files.pythonhosted.org/packages/41/56/cb4d6c28f7729b526c65736294222d9795fe69e8983e9573fc1171c54956/ssh2_python-1.2.0.post1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "099a867101dd3bef55c7152db60694c4f8bd953bec0072014212fbc2dab160c3",
"md5": "583aaa6b02ff11d914daf230ca1704f5",
"sha256": "46b5c36ae21c9ce84bff63e01f906f035939fb7fabdd4d67a50e7f6ee7d6c5dc"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "583aaa6b02ff11d914daf230ca1704f5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 4233777,
"upload_time": "2025-10-12T13:19:06",
"upload_time_iso_8601": "2025-10-12T13:19:06.422633Z",
"url": "https://files.pythonhosted.org/packages/09/9a/867101dd3bef55c7152db60694c4f8bd953bec0072014212fbc2dab160c3/ssh2_python-1.2.0.post1-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "75a0aa9f1e6e42d3e3ceb2d8de3ac85535966efba08f45c0f88bff71013a4ba6",
"md5": "f17bbc921fcc63328af4bdf17dd5e562",
"sha256": "9026146fbeba2439263d29131850e4c02b8845ae5f81c7f0c21421bba92b3a1a"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "f17bbc921fcc63328af4bdf17dd5e562",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 5360692,
"upload_time": "2025-10-12T13:21:42",
"upload_time_iso_8601": "2025-10-12T13:21:42.868424Z",
"url": "https://files.pythonhosted.org/packages/75/a0/aa9f1e6e42d3e3ceb2d8de3ac85535966efba08f45c0f88bff71013a4ba6/ssh2_python-1.2.0.post1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d9ff5055064dab6b273c2fd3ae969050423f223828006a9611eeaf588977e204",
"md5": "d34a20e5122f6ea542b561c0c7cb7927",
"sha256": "de3456b4940e5822bb65a526d7881af552f0a0de7dc69714526e294623c549b7"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "d34a20e5122f6ea542b561c0c7cb7927",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 4984822,
"upload_time": "2025-10-12T13:21:09",
"upload_time_iso_8601": "2025-10-12T13:21:09.685292Z",
"url": "https://files.pythonhosted.org/packages/d9/ff/5055064dab6b273c2fd3ae969050423f223828006a9611eeaf588977e204/ssh2_python-1.2.0.post1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "eb8719a49ea7e81bab56f726da04d17bb9d3eb7ee2e32bf7de1b77186d05b2d9",
"md5": "7d937a8c53077241e9bdd35bf9777c21",
"sha256": "3558f8cbb5934a8e15c1de1c89214d952007be6937029c21960956f3417ef5f5"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "7d937a8c53077241e9bdd35bf9777c21",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 4224015,
"upload_time": "2025-10-12T13:19:07",
"upload_time_iso_8601": "2025-10-12T13:19:07.629587Z",
"url": "https://files.pythonhosted.org/packages/eb/87/19a49ea7e81bab56f726da04d17bb9d3eb7ee2e32bf7de1b77186d05b2d9/ssh2_python-1.2.0.post1-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cba62f5c757d826492ffdc73c4e8b426db693cb6fee1af3c9606ad1401e392a1",
"md5": "22f9ae6555a62b6febfb2446bc1afbe7",
"sha256": "6abfd574f557767a6e9bccd717cb2906b1fe6f56dace4aa62e1cebe002048665"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "22f9ae6555a62b6febfb2446bc1afbe7",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 5346267,
"upload_time": "2025-10-12T13:21:44",
"upload_time_iso_8601": "2025-10-12T13:21:44.484794Z",
"url": "https://files.pythonhosted.org/packages/cb/a6/2f5c757d826492ffdc73c4e8b426db693cb6fee1af3c9606ad1401e392a1/ssh2_python-1.2.0.post1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "773b966a19024c35749f2acb58c07623e754d031ebbe8c759b972a3417ba7d58",
"md5": "27300212330629e327b4c4b4c0690593",
"sha256": "42ac53dc85bc84573fae559090badb39732014f296cc213cc6cc2d9925f28685"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "27300212330629e327b4c4b4c0690593",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 4951927,
"upload_time": "2025-10-12T13:21:11",
"upload_time_iso_8601": "2025-10-12T13:21:11.216257Z",
"url": "https://files.pythonhosted.org/packages/77/3b/966a19024c35749f2acb58c07623e754d031ebbe8c759b972a3417ba7d58/ssh2_python-1.2.0.post1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "759855cd51f1b08b2c78abfa48f92cb53161a947d76e85bf05d66a249cd87867",
"md5": "e05159e0e5c5a7414227575f41450cab",
"sha256": "cb7376604f64df06fcc397dd38337fe7271b807c2d3b8394459ffcccb7f38b84"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "e05159e0e5c5a7414227575f41450cab",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 5725241,
"upload_time": "2025-10-12T13:21:46",
"upload_time_iso_8601": "2025-10-12T13:21:46.047372Z",
"url": "https://files.pythonhosted.org/packages/75/98/55cd51f1b08b2c78abfa48f92cb53161a947d76e85bf05d66a249cd87867/ssh2_python-1.2.0.post1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "80e49436676cee8592978a646c9adcbe4412f69d1cd750bef9d4f2c795979220",
"md5": "b44dc307d9aa1337d1a9dcd86c5a8cab",
"sha256": "4a2f49996543b21af7e94b4296695ef5a3da59394f07c4e1178172533a3a46ee"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "b44dc307d9aa1337d1a9dcd86c5a8cab",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 5266355,
"upload_time": "2025-10-12T13:21:12",
"upload_time_iso_8601": "2025-10-12T13:21:12.775316Z",
"url": "https://files.pythonhosted.org/packages/80/e4/9436676cee8592978a646c9adcbe4412f69d1cd750bef9d4f2c795979220/ssh2_python-1.2.0.post1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9c33469d98e769ed2d3e43c7d343c276e7d239a3f2b337a55ffecfb70a642f9a",
"md5": "2399506554627ec140c4806e3e32fc48",
"sha256": "03fe29ac4a9a96cdf5e6caa6839e3521a003884ac111892cadc21536bd6a118d"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "2399506554627ec140c4806e3e32fc48",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 5293595,
"upload_time": "2025-10-12T13:21:47",
"upload_time_iso_8601": "2025-10-12T13:21:47.220899Z",
"url": "https://files.pythonhosted.org/packages/9c/33/469d98e769ed2d3e43c7d343c276e7d239a3f2b337a55ffecfb70a642f9a/ssh2_python-1.2.0.post1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6c2f0270f614ef2c0c84a7a6b180f0a22dbab3e4b95a3870f72cb5c254932cfc",
"md5": "9d0661008eecf7fb60bd00be76e36e27",
"sha256": "7abc2cbd3fcba162628980cc014bfa2fad89660b65ac31bf8e86ef30ea6ad1b1"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "9d0661008eecf7fb60bd00be76e36e27",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 4919895,
"upload_time": "2025-10-12T13:21:14",
"upload_time_iso_8601": "2025-10-12T13:21:14.064384Z",
"url": "https://files.pythonhosted.org/packages/6c/2f/0270f614ef2c0c84a7a6b180f0a22dbab3e4b95a3870f72cb5c254932cfc/ssh2_python-1.2.0.post1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0654cb0bc643e28288aa60014782ed711e664e62759f2ca3033abb152ef5f66b",
"md5": "816048eff4a8cb3a61fbb35af3c83a07",
"sha256": "450f68c32a4cc7869e52fef5178a9e73a86bdf2bcd49ea0bfcaeda2b0856f7ed"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "816048eff4a8cb3a61fbb35af3c83a07",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 4252293,
"upload_time": "2025-10-12T13:19:08",
"upload_time_iso_8601": "2025-10-12T13:19:08.876336Z",
"url": "https://files.pythonhosted.org/packages/06/54/cb0bc643e28288aa60014782ed711e664e62759f2ca3033abb152ef5f66b/ssh2_python-1.2.0.post1-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e74d10f18282fd39e3ae0743c488a00696ba8ff510381d817023fed64ac96779",
"md5": "0688663efac6f3a4b77fd811064a8c81",
"sha256": "37ce0bb5caabbae0e168139f24ff97f2d112bf3d5c90b43b9deb2ed75c05d437"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "0688663efac6f3a4b77fd811064a8c81",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 5152926,
"upload_time": "2025-10-12T13:21:48",
"upload_time_iso_8601": "2025-10-12T13:21:48.698221Z",
"url": "https://files.pythonhosted.org/packages/e7/4d/10f18282fd39e3ae0743c488a00696ba8ff510381d817023fed64ac96779/ssh2_python-1.2.0.post1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e2091f33449c6b7ea7ec353cc2fe23733ff73022211c439863c86e2383677d5a",
"md5": "1aa65e773e4ee393cec7802e8e3a76d4",
"sha256": "40e85c08debb86b36345c428c178a8867f6f046ea618b95c135189a972337117"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "1aa65e773e4ee393cec7802e8e3a76d4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 4792191,
"upload_time": "2025-10-12T13:21:15",
"upload_time_iso_8601": "2025-10-12T13:21:15.165310Z",
"url": "https://files.pythonhosted.org/packages/e2/09/1f33449c6b7ea7ec353cc2fe23733ff73022211c439863c86e2383677d5a/ssh2_python-1.2.0.post1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d5cb380a2942f859ff5cdc658b4900f9ea9853c283aac2ef2b4dcce4867ff77d",
"md5": "0b14a209ed3ea76b9183eac1e7b89f65",
"sha256": "0bba6725fb5e2b2628aae195b2a141b50a82657db7782c2a7d9defb0d1c391b3"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "0b14a209ed3ea76b9183eac1e7b89f65",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 4236419,
"upload_time": "2025-10-12T13:19:10",
"upload_time_iso_8601": "2025-10-12T13:19:10.026642Z",
"url": "https://files.pythonhosted.org/packages/d5/cb/380a2942f859ff5cdc658b4900f9ea9853c283aac2ef2b4dcce4867ff77d/ssh2_python-1.2.0.post1-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bb04ecc0b69cc2adce9048cdc500b84ffc93e87185a31e726140ffed6deb6061",
"md5": "495e0b751beedd372dae281a199b7415",
"sha256": "444190e9c92e8429a3aefd7fb40190ae1f1c3c766b53c5a1bbddcf7e08d7ca6a"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "495e0b751beedd372dae281a199b7415",
"packagetype": "bdist_wheel",
"python_version": "pp311",
"requires_python": null,
"size": 3323498,
"upload_time": "2025-10-12T13:21:50",
"upload_time_iso_8601": "2025-10-12T13:21:50.239127Z",
"url": "https://files.pythonhosted.org/packages/bb/04/ecc0b69cc2adce9048cdc500b84ffc93e87185a31e726140ffed6deb6061/ssh2_python-1.2.0.post1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "14818c7cea6395b1ce03aaced3682c1170c0b0e407e5040dfdb6a5c6fa66131b",
"md5": "c000f304adfa1f85606e37058f8e2fe5",
"sha256": "841a8f4117dd075e1ae50f20933097d0e0e8873451a8c52546f5e69c4b0582d6"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "c000f304adfa1f85606e37058f8e2fe5",
"packagetype": "bdist_wheel",
"python_version": "pp311",
"requires_python": null,
"size": 2970478,
"upload_time": "2025-10-12T13:21:16",
"upload_time_iso_8601": "2025-10-12T13:21:16.546224Z",
"url": "https://files.pythonhosted.org/packages/14/81/8c7cea6395b1ce03aaced3682c1170c0b0e407e5040dfdb6a5c6fa66131b/ssh2_python-1.2.0.post1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e3ab8105fdee39bee50e505c9c97e117353e19ab18c250307ec29a7dee46e46c",
"md5": "f95702f23c07c33d4c9067f68a2fe4c2",
"sha256": "f981465ace35f96e0935b36091b61d17689d9e0e4f29b33a50882b92c45ddcbd"
},
"downloads": -1,
"filename": "ssh2_python-1.2.0.post1.tar.gz",
"has_sig": false,
"md5_digest": "f95702f23c07c33d4c9067f68a2fe4c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2242329,
"upload_time": "2025-10-12T13:21:17",
"upload_time_iso_8601": "2025-10-12T13:21:17.877678Z",
"url": "https://files.pythonhosted.org/packages/e3/ab/8105fdee39bee50e505c9c97e117353e19ab18c250307ec29a7dee46e46c/ssh2_python-1.2.0.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-12 13:21:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ParallelSSH",
"github_project": "ssh2-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"appveyor": true,
"circle": true,
"lcname": "ssh2-python"
}