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.9+

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

Communication

Join the Ansible forum:

For more information about getting in touch with us, see the Ansible communication guide.

License

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

Changelog

v1.3.0

(2025-10-12)

Bug fixes

  • The bundled libssh 0.11.2 no longer fails, when the SFTP server announces protocol version 3, but does not provide error message and language tag in the SSH_FXP_STATUS message – by @Jakuje.

    Related issues and pull requests on GitHub: #222.

  • Fixed reading files over SFTP that go over the pre-defined chunk size.

    Prior to this change, the files could end up being corrupted, ending up with the last read chunk written to the file instead of the entire payload.

    – by @Jakuje

    Related issues and pull requests on GitHub: #638.

  • Repetitive calls to exec_channel() no longer crash and return reliable output – by @Jakuje.

    Related issues and pull requests on GitHub: #658.

  • Uploading large files over SCP no longer fails – by @Jakuje.

    Related issues and pull requests on GitHub: #661.

  • Improved performance of SFTP transfers by using larger transfer chunks – by @Jakuje.

    Related issues and pull requests on GitHub: #664.

  • Fixed crash when more operations were called after session.close() – by @Jakuje.

    Related issues and pull requests on GitHub: #709.

Features

  • The underlying SSH_OPTIONS_KEY_EXCHANGE option of libssh is now available as key_exchange_algorithms – by @NilashishC.

    Related issues and pull requests on GitHub: #675.

  • Added a pylibsshext.session.connect() parameter open_session_retries – by @justin-stephenson.

    The open_session_retries session connect() parameter allows a configurable number of retries if libssh ssh_channel_open_session() returns SSH_AGAIN. The default option value is 0, no retries will be attempted.

    Related issues and pull requests on GitHub: #756.

  • Added a pylibsshext.session.connect() parameter timeout_usec to set SSH_OPTIONS_TIMEOUT_USEC.

    This allows setting the SSH_OPTIONS_TIMEOUT_USEC ssh option, though SSH_OPTIONS_TIMEOUT is a more practical option.

    – by @justin-stephenson

    Related issues and pull requests on GitHub: #756.

Deprecations (removal in next major release)

  • The project stopped being tested under Ubuntu 20.04 VM since GitHub has sunset their CI images – by @webknjaz.

    Related issues and pull requests on GitHub: #708.

Removals and backward incompatible breaking changes

  • Dropped support for Python 3.6, 3.7 and 3.8 – by @Qalthos and @webknjaz.

    Related issues and pull requests on GitHub: #532, #718.

  • PyPI no longer ships year-versioned manylinux wheels. One may have to update their version of pip to pick up the new ones.

    – by @webknjaz

    Related issues and pull requests on GitHub: #562.

Improved documentation

  • Added a Communication section to the main documentation page – by @Andersson007.

    Related issues and pull requests on GitHub: #640.

  • Fixed the argument order in the scp.put() usage example – by @kucharskim.

    Related issues and pull requests on GitHub: #646.

Packaging updates and notes for downstreams

  • PyPI now only ships PEP 600-compatible manylinux wheels – by @webknjaz.

    Related issues and pull requests on GitHub: #562.

  • The pytest-forked dependency of build, development and test environments was removed – by @Jakuje.

    Related issues and pull requests on GitHub: #658, #760.

  • The wheels are now built in cached container images with a correctly set platform identifier.

    – by @webknjaz

    Related issues and pull requests on GitHub: #692.

  • The manylinux build scripts now limit cmake below version 4 – by @webknjaz.

    Related issues and pull requests on GitHub: #713.

  • Stopped skipping SCP tests in the RPM spec – by @Jakuje.

    Related issues and pull requests on GitHub: #714.

  • Started bundling a copy of libssh 0.11.1 in platform-specific wheels published on PyPI – by @Jakuje.

    Related issues and pull requests on GitHub: #735.

  • Updated the bundled copy of OpenSSL to the latest version 3.5.0 in manylinux wheels – by @Jakuje.

    Related issues and pull requests on GitHub: #738.

  • Updated the bundled version of libssh to 0.11.2 in platform-specific wheels published on PyPI – by @Jakuje.

    Related issues and pull requests on GitHub: #753.

  • The RPM spec file no longer makes use of unpackaged dists from PyPI on RHEL. The configuration is almost identical to the one for Fedora. Only the setuptools-scm spec is temporarily patched to allow older versions under RHEL.

    – by @webknjaz

    Related issues and pull requests on GitHub: #759.

  • A workaround has been applied to the in-tree build backend that prevents Cython from hanging when libssh header files are missing – by @webknjaz.

    The patch makes cythonize() single-threaded because multiprocessing gets stuck. The upstream will eventually fix this by migrating to concurrent.futures.

    Related issues and pull requests on GitHub: #762, #769, #770.

  • Updated the bundled version of libssh to 0.11.3 in platform-specific wheels published on PyPI – by @Jakuje.

    Related issues and pull requests on GitHub: #766.

Contributor-facing changes

  • The manylinux build scripts have been adjusted to resolve the dependency conflict between certain packaging and setuptools versions – by @webknjaz.

    Previously, this was making some of the CI jobs crash with a traceback when building said wheels.

    Related commits on GitHub: 1dfbf70fdfd99ae75068fdb3630790c96101a96a.

  • The Git archives are now immutable per the packaging recommendations. This allows downstreams safely use GitHub archive URLs when re-packaging – by @webknjaz.

    Related commits on GitHub: ea34887831a0c6547b32cd8c6a035bb77b91e771.

  • Manylinux wheels are no longer built using custom shell scripts. Instead, this is delegated to the cibuildwheel tool.

    – by @webknjaz

    Related issues and pull requests on GitHub: #562.

  • Updated the version of libssh to the latest release v0.11.1 in the cached manylinux build environment container images – by @Jakuje.

    Related issues and pull requests on GitHub: #636.

  • All the uses of actions/upload-artifact@v3 and actions/download-artifact@v3 have been updated to use v4. This also includes bumping re-actors/checkout-python-sdist to release/v2 as it uses actions/download-artifact internally.

    – by @NilashishC and @webknjaz

    Related issues and pull requests on GitHub: #676.

  • The dumb-pypi-produced static package index now renders correct URLs to the distribution packages – by @webknjaz.

    Related issues and pull requests on GitHub: #678, #679, #749.

  • The CI is now configured to use :external+tox``tox-run—installpkg`` when testing pre-built dists. This replaces the previously existing tox-level hacks in test-binary-dists and test-source-dists environments that have now been removed.

    – by @webknjaz

    Related issues and pull requests on GitHub: #688.

  • The wheel building workflows have been updated to set the OCI image platform identifiers to legal values like linux/arm64.

    – by @webknjaz

    Related issues and pull requests on GitHub: #692.

  • The CI is now configured to always set job timeout values. This will ensure that the jobs that get stuck don’t consume all 6 hours just hanging, improving responsiveness and the overall CI/CD resource usage.

    – by @webknjaz

    Related issues and pull requests on GitHub: #706.

  • The linting is now configured to check schemas of the Read The Docs configuration file and the GitHub Actions CI/CD workflow files in addition to enforcing timeouts.

    – by @webknjaz

    Related issues and pull requests on GitHub: #707.

  • The multiarch/qemu-user-static image got replaced with tonistiigi/binfmt because the latter is no longer maintained and the former includes the fixed version of QEMU.

    – by @webknjaz

    Related issues and pull requests on GitHub: #713.

  • Added Fedora 41 and 42 to CI configuration – by @Jakuje.

    Related issues and pull requests on GitHub: #715.

  • Removed needless step from CI adjusting centos8 repositories – by @Jakuje.

    Related issues and pull requests on GitHub: #716.

  • The CI/CD infrastructure no longer pre-builds custom manylinux images for building wheel targeting manylinux1, manylinux2010 and manylinux2014 tags.

    – by @webknjaz

    Related issues and pull requests on GitHub: #730.

  • The host OS is now ARM-based when building manylinux_*_*_aarch64 images for CI/CD – by @webknjaz.

    Related issues and pull requests on GitHub: #731.

  • False negative warnings reported by coveragepy when are now disabled. They are evident when pytest-cov runs with the pytest-xdist integration. pytest 8.4 gives them more visibility and out filterwarnings = error setting was turning them into errors before this change.

    – by @webknjaz

    Related issues and pull requests on GitHub: #732.

  • GitHub Actions CI/CD no longer runs jobs that install source distributions into the tox environments for testing – by @webknjaz.

    This is a temporary workaround for an upstream bug in tox and said jobs are non-essential.

    Related issues and pull requests on GitHub: #733.

  • Updated the pre-built libffi version to 3.4.8 in the cached manylinux build environment container images – by @Jakuje.

    Related issues and pull requests on GitHub: #734.

  • Reverted workaround keeping the old CMake version installed as the new libssh works with newer versions – by @Jakuje.

    Related issues and pull requests on GitHub: #737.

  • The CI infrastructure now produces manylinux_2_31_armv7l base images with libssh and openssl pre-built – by @Jakuje and @webknjaz.

    Related issues and pull requests on GitHub: #740.

  • Started caching manylinux build images to be used for producing 2_34 tagged wheels in build-manylinux-container-images workflow – by @KB-perByte.

    Related issues and pull requests on GitHub: #741.

  • The reusable-cibuildwheel.yml workflow has been refactored to be more generic and ci-cd.yml now holds all the configuration toggles – by @webknjaz.

    Related issues and pull requests on GitHub: #750.

  • Updated the version of libssh to the latest release v0.11.2 in the cached manylinux build environment container images – by @Jakuje.

    Related issues and pull requests on GitHub: #752.

  • When building wheels, the source distribution is now passed directly to the cibuildwheel invocation – by @webknjaz.

    Related issues and pull requests on GitHub: #754.

  • Fixed link to python3-pytest for CentOS 9 Stream as it was recently moved from CRB to AppStream – by @Jakuje.

    Related issues and pull requests on GitHub: #758.

  • The CI/CD jobs for smoke-testing RPMs have been simplified and now, they execute the same steps for all distro types. They make use of pyproject-rpm-macros even under RHEL. Installing external RPMs is the only conditional step that is skipped on Fedora.

    – by @webknjaz

    Related issues and pull requests on GitHub: #759.

  • The requires setting has been removed from tox.ini, which works around the upstream tool bug. This enabled us to re-introduce CI jobs testing against sdist under Python 3.12 and newer – by @webknjaz.

    Related issues and pull requests on GitHub: #764.

  • Updated the version of libssh to the latest release v0.11.3 in the cached manylinux build environment container images – by @Jakuje.

    Related issues and pull requests on GitHub: #765.

  • Changed tests to use more lightweight ECDSA keys to avoid timeouts – by @Jakuje.

    Related issues and pull requests on GitHub: #768.


v1.2.2

(2024-06-27)

Bug fixes

  • Downloading files larger than 64kB over SCP no longer fails – by @Jakuje.

    Related issues and pull requests on GitHub: #621.


v1.2.1

(2024-06-27)

Bug fixes

  • Downloading non-existent remote files via SCP no longer crashes the program – by @Jakuje.

    Related issues and pull requests on GitHub: #208, #325, #620.

Packaging updates and notes for downstreams

Contributor-facing changes


v1.2.0.post4

(2024-06-09)

Packaging updates and notes for downstreams

  • Substituting the gh role in source distribution long description has been simplify to stop attempting to make URLs to arbitrary GitHub addresses – by @webknjaz.

    Related commits on GitHub: f4ad1b76.

  • The in-tree PEP 517 build backend’s regular expression has been hotfixed to replace the “project” substitution correctly – by @webknjaz.

    Previously, it was generating a lot of noise instead of a nice description. But not anymore.

    Related issues and pull requests on GitHub: #92752210.


v1.2.0.post2

(2024-06-08)

Packaging updates and notes for downstreams

  • The automation now replaces the “project” RST substitution in the long description and GitHub Discussions/Releases – by @webknjaz.

    Related commits on GitHub: 13374a71.

  • The CI/CD automation has been fixed to include changelog updates into source distribution tarballs – by @webknjaz.

    Related commits on GitHub: 627f718d.


v1.2.0

(2024-06-07)

Bug fixes

  • ansible-pylibssh no longer crashes when received EOF or when channel is not explicitly closed – by @pbrezina.

    Previously, ansible-pylibssh crashed if channel.recv was called and libssh returned SSH_EOF error. It also crashed on some special occasions where channel was not explicitly closed and the session object was garbage-collected first.

    Related issues and pull requests on GitHub: #576.

Features

  • Started exposing the SSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES and SSH_OPTIONS_HOSTKEYS options publicly – by @Qalthos.

    Related issues and pull requests on GitHub: #527.

  • The request_exec() method was added to the Channel class. It exposes an interface for calling the respective low-level C-API of the underlying libssh library – by @pbrezina.

    Additionally, the following calls to libssh are now available in the same class: request_exec(), send_eof(), request_send_signal() and is_eof which is exposed as a property.

    Related issues and pull requests on GitHub: #576.

Improved documentation

  • Fixed spelling of “Connect” in the Session.connect() docstring – by @donnerhacke.

    Related issues and pull requests on GitHub: #474.

  • Added a tip to the installation guide on how to set compiler flags when installing from source – @webknjaz.

    Related issues and pull requests on GitHub: #499.

  • Fixed the example of invoking remote commands by using Channel.exec_command() in snippets – by @pbrezina.

    Its previously showcased version wasn’t functional.

    Related issues and pull requests on GitHub: #576.

Packaging updates and notes for downstreams

  • A flaw in the logic for copying the project directory into a temporary folder that led to infinite recursion when TMPDIR was set to a project subdirectory path. This was happening in Fedora and its downstream due to the use of pyproject-rpm-macros. It was only reproducible with pip wheel and was not affecting the pyproject-build users.

    – by @hroncok and @webknjaz

    Related commits on GitHub: 89c9b3a.

  • From now on, the published distribution package artifacts for the new releases are signed via Sigstore – by @webknjaz.

    This is happening as a part of the GitHub Actions CI/CD workflow automation and the signatures are uploaded to the corresponding GitHub Release pages.

    Related commits on GitHub: 986988a.

  • The platform-specific macOS wheels are now built using the Python interpreter from https://python.org. They are tagged with macosx_10_9 – by @webknjaz.

    Related issues and pull requests on GitHub: #333.

  • The toml build time dependency has been replaced with tomli – by @webknjaz.

    The tomli distribution is only pulled in under Python versions below 3.11. On 3.11 and higher, the standard library module tomllib is now used instead.

    Related issues and pull requests on GitHub: #501.

  • Started using the built-in setuptools-scm Git archive support under Python 3.7 and higher – @webknjaz.

    Related issues and pull requests on GitHub: #502.

  • Added support for Python 3.12 – by @Qalthos.

    It is now both tested in the CI and is advertised through the Trove classifiers.

    Related issues and pull requests on GitHub: #532.

  • The Cython build time dependency now has the minimum version of 3.0 under Python 3.12 and higher – by @webknjaz.

    The previous versions of Cython are still able to build the project under older Python versions.

    Related issues and pull requests on GitHub: #540.

  • PEP 660 is now enabled – @webknjaz.

    Previously, due to restrictive PEP 517 hook reimports, our in-tree build backend was losing non-PEP 517 hooks implemented in newer versions of setuptools but not the earlier ones. This is now addressed by reexporting everything that setuptools exposes with a wildcard.

    Related issues and pull requests on GitHub: #541.

  • The setuptools-scm build dependency CI pin was updated to 8.1.0 — this version fixes a date parsing incompatibility introduced by Git 2.45.0 (GitHub: pypa/setuptools_scm#1038, GitHub: pypa/setuptools_scm#1039) – by @webknjaz.

    Related issues and pull requests on GitHub: #601.

Contributor-facing changes

  • The changelog page for the tagged release builds on Read The Docs does not attempt showing the draft section anymore – by @webknjaz.

    Related commits on GitHub: 852d259.

  • Adjusted the publishing workflow automation to pre-configure Git before attempting to create a tag when building a source distribution – by @webknjaz.

    Related commits on GitHub: f07296f.

  • The CI configuration for building the macOS platform-specific wheels switched to using cibuildwheel – by @webknjaz.

    Related issues and pull requests on GitHub: #333.

  • The OS-level tox package was upgraded to v3.28.0 in the UBI9 CI runtime – by @Qalthos.

    Related issues and pull requests on GitHub: #461, #473.

  • Fixed spelling of “Connect” in the Session.connect() docstring – by @donnerhacke.

    Related issues and pull requests on GitHub: #474.

  • The Packit CI access to the internet has been restored – by @Qalthos.

    Related issues and pull requests on GitHub: #507.

  • Started building manylinux_2_28 base images for testing and packaging in the CI/CD infrastructure – by @Qalthos.

    Related issues and pull requests on GitHub: #533.

  • Switched back to using Cython’s native plugin for measuring code coverage – by @webknjaz.

    Related issues and pull requests on GitHub: #538.

  • Added separate changelog fragment types for contributor- and downstream-facing patches – by @webknjaz.

    Their corresponding identifiers are contrib and packaging respectively. They are meant to be used for more accurate classification, where one would resort to using misc otherwise.

    Related issues and pull requests on GitHub: #539.

  • PEP 660 is now enabled – @webknjaz.

    This effectively means that the ecosystem-native editable install mode started working properly.

    Related issues and pull requests on GitHub: #541.

  • The duplicated jobs matrices for building manylinux wheels now reside in a single GitHub Actions CI/CD reusable workflow definition.

    @webknjaz

    Related issues and pull requests on GitHub: #559.

  • The duplicated jobs matrices of the text jobs now reside in a single GitHub Actions CI/CD reusable workflow definition.

    @webknjaz

    Related issues and pull requests on GitHub: #560.

  • Fixed the location of release workflow in the Release Guide document – by @Qalthos.

    Related issues and pull requests on GitHub: #565.

  • The setuptools-scm build dependency CI pin was updated to 8.1.0 — this version fixes a date parsing incompatibility introduced by Git 2.45.0 (GitHub: pypa/setuptools_scm#1039, GitHub: pypa/setuptools_scm#1038) – by @webknjaz.

    Related issues and pull requests on GitHub: #601.

  • The CI/CD configuration was fixed to allow publishing to PyPI and other targets disregarding the test stage outcome. This used to be a bug in the workflow definition that has now been fixed.

    – by @pbrezina and @webknjaz

    Related issues and pull requests on GitHub: #602.


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 sunsetting their CI images – by @webknjaz (#381)

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.3.0.tar.gz (151.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_s390x.manylinux_2_28_s390x.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ s390xmanylinux: glibc 2.28+ s390x

ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ppc64lemanylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_s390x.manylinux_2_28_s390x.whl (2.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ s390xmanylinux: glibc 2.28+ s390x

ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ppc64lemanylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_s390x.manylinux_2_28_s390x.whl (2.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ s390xmanylinux: glibc 2.28+ s390x

ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ppc64lemanylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_s390x.manylinux_2_28_s390x.whl (2.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ s390xmanylinux: glibc 2.28+ s390x

ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ ppc64lemanylinux: glibc 2.28+ ppc64le

ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

ansible_pylibssh-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file ansible-pylibssh-1.3.0.tar.gz.

File metadata

  • Download URL: ansible-pylibssh-1.3.0.tar.gz
  • Upload date:
  • Size: 151.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ansible-pylibssh-1.3.0.tar.gz
Algorithm Hash digest
SHA256 243ea1b0962b0b6b1e717ac0e69dac9636e61ec65b37260c317b2360c6e30ca7
MD5 e1abd03ab26a611668a4fda3abcf0461
BLAKE2b-256 686d93b13182acd29632ef3ab58650fc5727936942e2ad642a48f6a5e12aebb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible-pylibssh-1.3.0.tar.gz:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 63859232d3a6d43a84ad8301c637a05be1ee47f0dee121015fc87bbacdd60532
MD5 a4e41a63ae78a4e5665e06342bef518d
BLAKE2b-256 05ecde69b732b17e958f3d5b4c71010cec20cf30544d3a22b768dc712027ec46

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 8d1804c71ad5d7f5d03cc97447ed91ba1bdfde7fe72ba9d03478bb5220ff3d04
MD5 902af9fa9915403ee265e9d6e10653f8
BLAKE2b-256 b34a63d915984ff32d638ea6e2df390074d8f7f4e9efe34e27f96f392f50f087

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_s390x.manylinux_2_28_s390x.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 1fab4f5e1b49782cd53765fc4bf239d92dc236550a9775de238d306452bf2cba
MD5 91453094e189ff3441615e115f8b1e0e
BLAKE2b-256 ab43c6a1e3fb75c79b309ddb1e8ca79e00d5ca0ff10f3d46e66282f9d0085b79

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e7b38fb5fe94417b4f8348e499a8728a36599ec5c1b7c7ba79e424bf69794071
MD5 aa1fc8536cedc9166bd39280d1133412
BLAKE2b-256 4293095252bdd4961feba9b02591c0cf68036cc5cb7e517fa58cf4829f02a976

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0fadea3027fadd23feb5dbf6db3c2617ee69978e8521a6c47877947b4327c349
MD5 11bb35ce1e708e4c3c38f653e40532e6
BLAKE2b-256 f3e978b565e80b9354c4ff2f65a3e21ad7d6ce93d64197c531671d50988b214c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 daeae1c936fc8145beb5843e365a314819b5ec0905500b795db945b64a3614ac
MD5 f4de6ca737b571ad9df6ce305d84250e
BLAKE2b-256 105b3bec950215581bce7eb547256a3da053ad71fde72b31d11a76a86c64b52b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 f613dfd50a1336019cb1a8a28098d3212fb163cc5e47da620c54ab0fe9af9a4e
MD5 dccf6dbe50afe2ef357309b70eaf3a7d
BLAKE2b-256 7153f5742f1ef3da34e067a29466aac88f179ae3ebadf02bfa4ce92e4b004918

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_s390x.manylinux_2_28_s390x.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 f720e6b1f50d99698e52cb6e41f05dfbb1f033a1d852f1ea5b1005055cf968e8
MD5 514c786036a0f4cbddb0b8d5ab608c78
BLAKE2b-256 e6573a79733b74fdb2e28000dcfdcfacda918d2c0e1812a683691bc0dab26878

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3a6ad801fd94be7782abaa86ae0421b99c55586eb2f583b113a5b75964c823d7
MD5 65d149e49723570bedb5009127b7f2a5
BLAKE2b-256 de0e19916cd0b7d626910ad6a4dc2ed88d9744a1bd1cda5672eac19d1bda4bab

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 248f9fc4687e07818942d618ba3133aa155402be9c0e31fb4df0d9c5504e1b64
MD5 9f8de81cadc355a9c36e5fda7c42958c
BLAKE2b-256 0c8ba9803748b30b4f2e6594440fd976ad20626ab02de334f2fc874428794977

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 196ff3ed8a6f54e809703209f6a1096b2d85031b7eb2ceb0c6af1ab549a71acd
MD5 c2de48bbc5e4ca608f57f82370b4577b
BLAKE2b-256 33b4befaa1f0ddb22dd3849d8466154bd6f3fd5e70fb3eb82cecb9e9ad62f9b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 ba088dcdb81bbc3c378b3bb1f847df1ab69bf99c8a7e5e0b052e3c5a9183adcc
MD5 e1bc992fc560235bbbcba76a10c08736
BLAKE2b-256 30fd79c2cf8001dc5f27d56855a53e53da2edadeac981e4ab1e1b6cbf9e51a17

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_s390x.manylinux_2_28_s390x.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 ddddb5bdafa0f01f6290e75ed8764b62610528e28c7b964f4f9acad8c88c9ac1
MD5 6044d72f6c55067387cd26fc2cba6be0
BLAKE2b-256 36277cd6296958de769bcc9a1597678821098a3a0d063f4afb3531c04665f781

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 206adcc43d638fdd2c71de180fcb3a5f4e6523278022b182c2d85624fe368823
MD5 fa1acde40c09bde922f99da47243f875
BLAKE2b-256 42c0cb997bc56a08c7a688e8c441ba72e856ae685ffc9609057b183808a6df2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fe5231259d23eaedf92c50836bcca2033270f8a753e86293cec472d8bc2b78c3
MD5 6a83c75c73ef68d9798e0ed67cd314d0
BLAKE2b-256 b52e0591e3f88b7cf9a3ad77147c93cd6eaa2fc4a801f07efbb215e748c061db

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4deb7a05d867e48c4a81a6e1e9371d55460cd596aab3b3c35413a95bfb45d3d
MD5 ef1557ec6152c811048df21180c04858
BLAKE2b-256 f5c5a6ea3b1d6dbd2c34943224c148b567b9a7ff0146fe7e34582ddf16a12222

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 6b1abe0c4339d535cb5fbd28537bef75476a74edb0e82b7af10c1a4eafeeefba
MD5 bd702fd55b83b15eeb8ccadb91b73157
BLAKE2b-256 bba10192b94adb43cd3f0eab1f3c9073a7248925fee5429568a8447f16db1810

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_s390x.manylinux_2_28_s390x.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 7a17359bec66eaf84002714b389f996e4b2c6e8cf50e70185a1f2ffd063331cf
MD5 08179d76a3f9e8b745185d2b6df814b5
BLAKE2b-256 f14acc2fd18e7a33ca813a455585a17e25f0f87e1f0f4104147ad0e8b2a9af93

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6e9646bad00e5ef84de2d6f1897ceafa2a193e983ed6429a3f958e15bb100531
MD5 6931999a7954edf98d79d770bb569996
BLAKE2b-256 a9b9f1e104263da3d384228a44c7408e329483fc0e3f422346a19f25d770790b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_pylibssh-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ansible_pylibssh-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0368909bda847e3c78304655f7da7c8c84fad4bdf2dbd608b04697a69d4deda8
MD5 bc1771cec1102b3e026f3c390ad4fd12
BLAKE2b-256 20cdf820a0e26c85b16980dd947d078f19d47dbe2f4fdc0be8586b3368f475f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_pylibssh-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: ci-cd.yml on ansible/pylibssh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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