Skip to main content

Python bindings for libssh client specific to Ansible use case

Project description

https://img.shields.io/pypi/v/ansible-pylibssh.svg?logo=Python&logoColor=white https://img.shields.io/badge/license-LGPL+-blue.svg?maxAge=3600 https://img.shields.io/pypi/pyversions/ansible-pylibssh.svg?logo=Python&logoColor=white 🧪 CI/CD @ devel devel branch coverage via Codecov https://img.shields.io/badge/style-wemake-000000.svg Ansible Code of Conduct

pylibssh: Python bindings to client functionality of libssh specific to Ansible use case

Nightlies @ Dumb PyPI @ GitHub Pages

We publish nightlies on tags and pushes to devel. They are hosted on a GitHub Pages based index generated by dumb-pypi.

The web view is @ https://ansible.github.io/pylibssh/.

$ pip install \
    --extra-index-url=https://ansible.github.io/pylibssh/simple/ \
    --pre \
    ansible-pylibssh

Requirements

You need Python 3.6+

pylibssh requires libssh to be installed in particular:

  • libssh version 0.9.0 and later.

    To install libssh refer to its Downloads page.

Building the module

In the local env, assumes there’s a libssh shared library on the system, build toolchain is present and env vars are set properly:

$ git clone https://github.com/ansible/pylibssh.git
$ cd pylibssh
$ pip install tox
$ tox -e build-dists

manylinux-compatible wheels:

$ git clone https://github.com/ansible/pylibssh.git
$ cd pylibssh
$ pip install tox
$ tox -e build-dists-manylinux1-x86_64  # with Docker

# or with Podman
$ DOCKER_EXECUTABLE=podman tox -e build-dists-manylinux1-x86_64

# to enable shell script debug mode use
$ tox -e build-dists-manylinux1-x86_64 -- -e DEBUG=1

License

This library is distributed under the terms of LGPL 2 or higher, see file LICENSE.rst in this repository.

Changelog

v1.1.0 (2022-12-05)

Features

  • Started building manylinux wheels with libssh v0.9.6 – by @webknjaz (#441)

Deprecations (removal in next major release)

  • The project stopped being tested under Ubuntu 18.04 VM since GitHub is sunetting their CI images – by @webknjaz (#379)

Documentation

  • Added a Release Guide for making new releases – by @webknjaz (#413)

Miscellaneous

  • Started testing RPM packaging spec with Packit service – by @webknjaz and @TomasTomecek (#227, #246)

  • Removed the remains of Python 2 compatiblity code from the in-tree PEP 517 build backend – by @webknjaz (#377)

  • Fixed removing expandvars from pyproject.toml in an RPM spec – by @webknjaz

    Before this patch, the sed invocation removed entire build-system.requires entry from there, in rare cases but this won’t be happening anymore. (#378)

  • Declared official support of CPython 3.11 – by @Qalthos (#396)

  • Started shipping sdists built with Cython v0.29.32 – by @webknjaz (#399)

  • Started building RPMs with Cython v0.29.32 – by @webknjaz (#402)

  • Added an SSH connection re-try helper to tests – by @webknjaz (#405)

v1.0.0 (2022-09-14)

Features

  • Added password_prompt argument to connect() to override the default prompt of “password:” when using keyboard-interactive authentication – by @Qalthos (#331)

  • Added support for :fd: socket option – by @sabedevops (#343)

Miscellaneous

  • Reworked build scripts to fix manylinux container generation – by @Qalthos (#321)

  • Reenable CI building on s390x – by @Qalthos (#322)

v0.4.0 (2022-04-26)

Bugfixes

  • Improved channel.exec_command to always use a newly created ssh_channel to avoid segfaults on repeated calls – by @Qalthos (#280)

  • Fixed password prompt match in pylibsshext.session.Session.authenticate_interactive() to strip whitespace, check that the prompt only ends with password:, and added a little extra logging – by @dalrrard (#311)

Backward incompatible changes

  • Dropped support for Python 2.7 and 3.5, and marked support for 3.10 – by @Qalthos (#314)

v0.3.0 (2021-11-03)

Bugfixes

  • Changed sftp.sftp_get to write files as bytes rather than assuming files are valid UTF8 – by @Qalthos (#216)

Features

  • Started building platform-specific manylinux2010, manylinux2014 and manylinux_2_24 wheels for AARCH64, ppc64le and s390x architectures as introduced by PEP 599 and PEP 600@webknjaz (#187)

  • Added gssapi-with-mic support for authentication – by @Qalthos (#195)

Documentation

  • Correct a link to the pip upgrade doc in our installation guide – @webknjaz (#225)

Miscellaneous

  • Started building AARCH64 base images with Buildah+Podman in GitHub Actions CI/CD – @webknjaz (#181)

  • Switched using pep517 lib to build CLI – @webknjaz (#199)

  • Restructured the in-tree PEP 517 build backend into multiple submodules moving the entry-point to pep517_backend.hooks that also facilitates extraction of user-defined config_settings passed by the end-user (packager) via the build CLI command – @webknjaz (#200)

  • Updated manylinux build script to build libssh with GSSAPI enabled – @Qalthos (#203)

  • Added an initial RPM spec continuously tested in the CI – @webknjaz (#205)

  • Added additional details when SFTP write errors are raised – by @Qalthos (#216)

  • Made auditwheel only keep one platform tag in the produced wheel names – @webknjaz (#224)

  • Improved manylinux build scripts to expect dual-aliased manylinux tags produced for versions 1/2010/2014 along with their PEP 600 counterparts after auditwheel repair@webknjaz (#226)

  • Enabled self-test checks in the RPM spec for Fedora – @webknjaz (#228)

  • Enabled self-test checks in the RPM spec for CentOS – @webknjaz (#235)

  • Enabled self-test checks in the RPM spec for RHEL – @webknjaz (#236)

  • Added NAME = "VALUE" to flake8-eradicate whitelist to work around test false positive introduced in flake8-eradicate 1.1.0 – by @Qalthos (#258)

  • Stopped testing pylibssh binary wheels under Ubuntu 16.04 in GitHub Actions CI/CD because it is EOL now – @webknjaz (#260)

  • Fixed failing fast on problems with rpmbuild in GitHub Actions CI/CD under Fedora – @webknjaz (#261)

  • Declare python3-pip a build dependency under Fedora fixing the RPM creation job in GitHub Actions CI/CD under Fedora – @webknjaz (#262)

  • Replaced git protocols in pre-commit config with https now that GitHub has turned off git protocol access – @Qalthos (#266)

v0.2.0 (2021-03-01)

Bugfixes

  • Fixed undefined symbol: ssh_disconnect and related issues when building on certain distros – by @Qalthos (#63, #153, #158)

  • Fixed "Negative size passed to PyBytes_FromStringAndSize" when ssh_channel_read_nonblocking fails – by @Qalthos (#168)

Features

Documentation

Miscellaneous

v0.1.0 (2020-08-12)

Bugfixes

  • Enhanced sftp error handling code to match with libssh error messages – by @ganeshrn (#27)

  • Fixed session timeout issue, the data type of timeout is expected by ssh_options_set is of type long int – by @ganeshrn (#46)

  • Fixed sftp file get issue. On py2 The file write() method returns None on py2 if bytes are written to file successfully, whereas on py3 it returns total number of bytes written to file. Added a fix to check for the number of bytes written only in the case when write() does not return None – by @ganeshrn (#58)

  • Fixed double close issue, added logic to free the channel allocated memory within __dealloc__() – by @ganeshrn (#113)

Features

  • Added cython extension for libssh client API’s initial commit – by @ganeshrn (#1)

  • Added proxycommand support for session and update session exeception to LibsshSessionException – by @ganeshrn (#10)

  • Added support for host key checking with authentication – by @ganeshrn (#15)

  • Changed pylibssh dir to pylibsshext to avoid ns collision – by @ganeshrn (#25)

  • Added sftp get functionality to fetch file from remote host – by @amolkahat (#26)

  • Added support to receive bulk response for remote shell – by @ganeshrn (#40)

  • Added the support for keyboard-authentication method – by @Qalthos (#105)

Backward incompatible changes

  • Updated the package name to ansible-pylibssh to reflect that the library only intends to implement a set of APIs that are necessary to implement an Ansible connection plugin – by @ganeshrn (#1)

Documentation

Miscellaneous

  • Updated requirements file to replace requirements.txt with requirements-build.in – by @akasurde (#14)

  • Made tox’s main env pick up the in-tree PEP 517 build backend – by @webknjaz (#72)

  • Refactored sphinx RST parsing in towncrier extension – by @ewjoachim (#119)

  • Hotfixed the directive in the in-tree sphinx extension to always trigger the changelog document rebuilds so that it’d pick up any changelog fragments from disk – by @webknjaz (#120)

  • Turned the Townrier fragments README doc title into subtitle – by @webknjaz

    The effect is that it doesn’t show up in the side bar as an individual item anymore. (#125)

  • Integrated Markdown support into docs via the MyST parser – by @webknjaz (#126)

  • Switched the builder on Read the Docs to dirhtml so it now generates a dir-based URL layout for the website – by @webknjaz (#127)

  • Enabled sphinx.ext.autosectionlabel Sphinx extension to automatically generate reference targets for document sections that can be linked against using :ref: – by @webknjaz (#128)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansible-pylibssh-1.2.0rc3.tar.gz (127.1 kB view hashes)

Uploaded Source

Built Distributions

ansible_pylibssh-1.2.0rc3-cp312-cp312-manylinux_2_28_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.2.0rc3-cp312-cp312-manylinux_2_28_s390x.whl (2.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ s390x

ansible_pylibssh-1.2.0rc3-cp312-cp312-manylinux_2_28_ppc64le.whl (3.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.2.0rc3-cp312-cp312-manylinux_2_28_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.2.0rc3-cp312-cp312-macosx_10_9_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_28_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_28_s390x.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ s390x

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_28_ppc64le.whl (3.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_28_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_24_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_24_s390x.whl (2.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ s390x

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_24_ppc64le.whl (2.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ ppc64le

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_24_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ ARM64

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

ansible_pylibssh-1.2.0rc3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

ansible_pylibssh-1.2.0rc3-cp311-cp311-macosx_10_9_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_28_x86_64.whl (2.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_28_s390x.whl (2.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ s390x

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_28_ppc64le.whl (2.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_28_aarch64.whl (2.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_24_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_24_s390x.whl (2.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ s390x

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_24_ppc64le.whl (2.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ ppc64le

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_24_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ ARM64

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

ansible_pylibssh-1.2.0rc3-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

ansible_pylibssh-1.2.0rc3-cp310-cp310-macosx_10_9_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_28_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_28_s390x.whl (2.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ s390x

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_28_ppc64le.whl (3.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_28_aarch64.whl (2.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_24_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_24_s390x.whl (2.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ s390x

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_24_ppc64le.whl (2.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ ppc64le

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_24_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ ARM64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

ansible_pylibssh-1.2.0rc3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

ansible_pylibssh-1.2.0rc3-cp39-cp39-macosx_10_9_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_28_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_28_s390x.whl (2.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ s390x

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_28_ppc64le.whl (3.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_28_aarch64.whl (2.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_24_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_24_s390x.whl (2.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ s390x

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_24_ppc64le.whl (2.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ ppc64le

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_24_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ ARM64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

ansible_pylibssh-1.2.0rc3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

ansible_pylibssh-1.2.0rc3-cp38-cp38-macosx_10_9_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_28_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_28_s390x.whl (2.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.28+ s390x

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_28_ppc64le.whl (2.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_28_aarch64.whl (2.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_24_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_24_s390x.whl (2.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ s390x

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_24_ppc64le.whl (2.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ ppc64le

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_24_aarch64.whl (2.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ ARM64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ x86-64

ansible_pylibssh-1.2.0rc3-cp37-cp37m-macosx_10_9_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_28_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_28_s390x.whl (2.5 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.28+ s390x

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_28_ppc64le.whl (2.8 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_28_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_24_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_24_s390x.whl (2.2 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ s390x

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_24_ppc64le.whl (2.3 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ ppc64le

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_24_aarch64.whl (2.2 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ ARM64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.4 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ s390x

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.8 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ppc64le

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.5+ x86-64

ansible_pylibssh-1.2.0rc3-cp36-cp36m-macosx_10_9_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page