ansible-pylibssh


Nameansible-pylibssh JSON
Version 1.2.2 PyPI version JSON
download
home_pagehttps://github.com/ansible/pylibssh
SummaryPython bindings for libssh client specific to Ansible use case
upload_time2024-06-27 17:45:14
maintainerNone
docs_urlNone
authorAnsible, Inc.
requires_python>=3.6
licenseLGPLv2+
keywords cython cext libssh
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            .. image:: https://img.shields.io/pypi/v/ansible-pylibssh.svg?logo=Python&logoColor=white
   :target: https://pypi.org/project/ansible-pylibssh

.. image:: https://img.shields.io/badge/license-LGPL+-blue.svg?maxAge=3600
   :target: https://pypi.org/project/ansible-pylibssh

.. image:: https://img.shields.io/pypi/pyversions/ansible-pylibssh.svg?logo=Python&logoColor=white
   :target: https://pypi.org/project/ansible-pylibssh

.. image:: https://github.com/ansible/pylibssh/actions/workflows/ci-cd.yml/badge.svg?event=push
   :alt: ๐Ÿงช CI/CD @ devel
   :target: https://github.com/ansible/pylibssh/actions/workflows/ci-cd.yml

.. image:: https://img.shields.io/codecov/c/gh/ansible/pylibssh/devel?logo=codecov&logoColor=white
   :target: https://codecov.io/gh/ansible/pylibssh
   :alt: devel branch coverage via Codecov

.. image:: https://img.shields.io/badge/style-wemake-000000.svg
   :target: https://github.com/wemake-services/wemake-python-styleguide

.. image:: https://img.shields.io/badge/Code%20of%20Conduct-Ansible-silver.svg
   :target: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html
   :alt: Ansible Code of Conduct

.. DO-NOT-REMOVE-docs-badges-END

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

.. DO-NOT-REMOVE-docs-intro-START

Nightlies @ Dumb PyPI @ GitHub Pages
------------------------------------

.. DO-NOT-REMOVE-nightlies-START

We publish nightlies on tags and pushes to devel.
They are hosted on a GitHub Pages based index generated
by `dumb-pypi <https://pypi.org/project/dumb-pypi/>`_.

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

.. code-block:: shell-session

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

.. DO-NOT-REMOVE-nightlies-END


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
  <https://www.libssh.org/get-it/>`__.


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:

.. code-block:: shell-session

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

``manylinux``-compatible wheels:

.. code-block:: shell-session

    $ 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
*********

..
    You should *NOT* be adding new change log entries to this file, this
    file is managed by towncrier. You *may* edit previous change logs to
    fix problems like typo corrections or such.
    To add a new change log entry, please see
    https://pip.pypa.io/en/latest/development/contributing/#news-entries
    we named the news folder "docs/changelog-fragments/".

    WARNING: Don't drop the next directive!

.. towncrier release notes start

v1.2.2
======

*(2024-06-27)*


Bug fixes
---------

- Downloading files larger than 64kB over SCP no longer fails -- by `@Jakuje <https://github.com/sponsors/Jakuje>`__.

  *Related issues and pull requests on GitHub:*
  `#621 <https://github.com/ansible/pylibssh/issues/621>`__.


----


v1.2.1
======

*(2024-06-27)*


Bug fixes
---------

- Downloading non-existent remote files via SCP no longer crashes the program -- by `@Jakuje <https://github.com/sponsors/Jakuje>`__.

  *Related issues and pull requests on GitHub:*
  `#208 <https://github.com/ansible/pylibssh/issues/208>`__, `#325 <https://github.com/ansible/pylibssh/issues/325>`__, `#620 <https://github.com/ansible/pylibssh/issues/620>`__.


Packaging updates and notes for downstreams
-------------------------------------------

- The RPM specification now opts out of demanding that the
  compiled C-extensions have a Build ID present under EL
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `9053c1008bb169c8e362a92782d46c7c0d3b1c06 <https://github.com/ansible/pylibssh/commit/9053c1008bb169c8e362a92782d46c7c0d3b1c06>`__, `aaa12159b5cdda763a83dcf4ee920510cad83463 <https://github.com/ansible/pylibssh/commit/aaa12159b5cdda763a83dcf4ee920510cad83463>`__.

- The RPM specification has been updated to pre-build the
  vendored copy of ``setuptools-scm`` with the isolation
  disabled, addressing the build problem in EL 9
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `dd85ddefafde8f22ab0239add18a1db9ef789b50 <https://github.com/ansible/pylibssh/commit/dd85ddefafde8f22ab0239add18a1db9ef789b50>`__.

- The RPM definition now runs import self-checks when it is
  built for Fedora Linux -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#615 <https://github.com/ansible/pylibssh/issues/615>`__.


Contributor-facing changes
--------------------------

- RPM builds are now also tested against UBI 9.4 in CI
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `e9ad0a7d456c99cc848b30b48569235366273672 <https://github.com/ansible/pylibssh/commit/e9ad0a7d456c99cc848b30b48569235366273672>`__.


----


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 <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `f4ad1b76 <https://github.com/ansible/pylibssh/commit/f4ad1b76>`__.

- The in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build backend's regular expression
  has been hotfixed to replace the "project" substitution
  correctly -- by `@webknjaz <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `13374a71 <https://github.com/ansible/pylibssh/commit/13374a71>`__.

- The CI/CD automation has been fixed to include changelog
  updates into source distribution tarballs
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `627f718d <https://github.com/ansible/pylibssh/commit/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 <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/issues/576>`__.


Features
--------

- Started exposing the ``SSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES``
  and ``SSH_OPTIONS_HOSTKEYS`` options publicly
  -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.

  *Related issues and pull requests on GitHub:*
  `#527 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/issues/576>`__.


Improved documentation
----------------------

- Fixed spelling of "Connect" in the ``Session.connect()``
  docstring -- by `@donnerhacke <https://github.com/sponsors/donnerhacke>`__.

  *Related issues and pull requests on GitHub:*
  `#474 <https://github.com/ansible/pylibssh/issues/474>`__.

- Added a tip to the ``installation guide``
  on how to set compiler flags when installing from source
  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#499 <https://github.com/ansible/pylibssh/issues/499>`__.

- Fixed the example of invoking remote commands by using
  ``Channel.exec_command()`` in snippets -- by `@pbrezina <https://github.com/sponsors/pbrezina>`__.

  Its previously showcased version wasn't functional.

  *Related issues and pull requests on GitHub:*
  `#576 <https://github.com/ansible/pylibssh/issues/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
  <https://src.fedoraproject.org/rpms/pyproject-rpm-macros>`__. It was
  only reproducible with ``pip wheel`` and was not affecting the
  ``pyproject-build`` users.

  -- by `@hroncok <https://github.com/sponsors/hroncok>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__

  *Related commits on GitHub:*
  `89c9b3a <https://github.com/ansible/pylibssh/commit/89c9b3a>`__.

- From now on, the published distribution package artifacts
  for the new releases are signed via `Sigstore
  <https://sigstore.dev>`__ -- by `@webknjaz <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/commit/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 <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#333 <https://github.com/ansible/pylibssh/issues/333>`__.

- The ``toml`` build time dependency has been replaced with
  ``tomli`` -- by `@webknjaz <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/issues/501>`__.

- Started using the built-in ``setuptools-scm`` Git archive
  support under Python 3.7 and higher -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#502 <https://github.com/ansible/pylibssh/issues/502>`__.

- Added support for Python 3.12 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.

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

  *Related issues and pull requests on GitHub:*
  `#532 <https://github.com/ansible/pylibssh/issues/532>`__.

- The ``Cython`` build time dependency now has the minimum
  version of 3.0 under Python 3.12 and higher
  -- by `@webknjaz <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/issues/540>`__.

- `PEP 660 <https://peps.python.org/pep-660>`__ is now enabled -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  Previously, due to restrictive `PEP 517 <https://peps.python.org/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 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#601 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `852d259 <https://github.com/ansible/pylibssh/commit/852d259>`__.

- Adjusted the publishing workflow automation to pre-configure
  Git before attempting to create a tag when building a
  source distribution -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related commits on GitHub:*
  `f07296f <https://github.com/ansible/pylibssh/commit/f07296f>`__.

- The CI configuration for building the macOS platform-specific
  wheels switched to using ``cibuildwheel`` -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#333 <https://github.com/ansible/pylibssh/issues/333>`__.

- The OS-level tox package was upgraded to v3.28.0 in the UBI9
  CI runtime -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.

  *Related issues and pull requests on GitHub:*
  `#461 <https://github.com/ansible/pylibssh/issues/461>`__, `#473 <https://github.com/ansible/pylibssh/issues/473>`__.

- Fixed spelling of "Connect" in the ``Session.connect()``
  docstring -- by `@donnerhacke <https://github.com/sponsors/donnerhacke>`__.

  *Related issues and pull requests on GitHub:*
  `#474 <https://github.com/ansible/pylibssh/issues/474>`__.

- The Packit CI access to the internet has been restored
  -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.

  *Related issues and pull requests on GitHub:*
  `#507 <https://github.com/ansible/pylibssh/issues/507>`__.

- Started building ``manylinux_2_28`` base images for testing and
  packaging in the CI/CD infrastructure -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.

  *Related issues and pull requests on GitHub:*
  `#533 <https://github.com/ansible/pylibssh/issues/533>`__.

- Switched back to using Cython's native plugin for measuring
  code coverage -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#538 <https://github.com/ansible/pylibssh/issues/538>`__.

- Added separate changelog fragment types for contributor-
  and downstream-facing patches -- by `@webknjaz <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/issues/539>`__.

- `PEP 660 <https://peps.python.org/pep-660>`__ is now enabled -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.

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

  *Related issues and pull requests on GitHub:*
  `#541 <https://github.com/ansible/pylibssh/issues/541>`__.

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

  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__

  *Related issues and pull requests on GitHub:*
  `#559 <https://github.com/ansible/pylibssh/issues/559>`__.

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

  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__

  *Related issues and pull requests on GitHub:*
  `#560 <https://github.com/ansible/pylibssh/issues/560>`__.

- Fixed the location of release workflow in the
  ``Release Guide`` document -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.

  *Related issues and pull requests on GitHub:*
  `#565 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/webknjaz>`__.

  *Related issues and pull requests on GitHub:*
  `#601 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/pbrezina>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__

  *Related issues and pull requests on GitHub:*
  `#602 <https://github.com/ansible/pylibssh/issues/602>`__.


----


v1.1.0 (2022-12-05)
===================

Features
--------

- Started building ``manylinux`` wheels with ``libssh`` v0.9.6
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#441 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/webknjaz>`__
  (`#379 <https://github.com/ansible/pylibssh/issues/379>`__)


Documentation
-------------

- Added a ``Release Guide`` for making new releases
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#413 <https://github.com/ansible/pylibssh/issues/413>`__)


Miscellaneous
-------------

- Started testing RPM packaging spec with Packit service
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__ and `@TomasTomecek <https://github.com/sponsors/TomasTomecek>`__
  (`#227 <https://github.com/ansible/pylibssh/issues/227>`__,
  `#246 <https://github.com/ansible/pylibssh/issues/246>`__)
- Removed the remains of Python 2 compatiblity code from the in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build backend -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#377 <https://github.com/ansible/pylibssh/issues/377>`__)
- Fixed removing ``expandvars`` from ``pyproject.toml``
  in an RPM spec -- by `@webknjaz <https://github.com/sponsors/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 <https://github.com/ansible/pylibssh/issues/378>`__)
- Declared official support of CPython 3.11 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#396 <https://github.com/ansible/pylibssh/issues/396>`__)
- Started shipping sdists built with Cython v0.29.32 -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#399 <https://github.com/ansible/pylibssh/issues/399>`__)
- Started building RPMs with Cython v0.29.32 -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#402 <https://github.com/ansible/pylibssh/issues/402>`__)
- Added an SSH connection re-try helper to tests -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#405 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/Qalthos>`__
  (`#331 <https://github.com/ansible/pylibssh/issues/331>`__)
- Added support for ``:fd:`` socket option -- by `@sabedevops <https://github.com/sponsors/sabedevops>`__
  (`#343 <https://github.com/ansible/pylibssh/issues/343>`__)


Miscellaneous
-------------

- Reworked build scripts to fix manylinux container generation -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#321 <https://github.com/ansible/pylibssh/issues/321>`__)
- Reenable CI building on s390x -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#322 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/Qalthos>`__
  (`#280 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/dalrrard>`__
  (`#311 <https://github.com/ansible/pylibssh/issues/311>`__)


Backward incompatible changes
-----------------------------

- Dropped support for Python 2.7 and 3.5, and marked support for 3.10 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#314 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/Qalthos>`__
  (`#216 <https://github.com/ansible/pylibssh/issues/216>`__)


Features
--------

- Started building platform-specific ``manylinux2010``, ``manylinux2014``
  and ``manylinux_2_24`` wheels for AARCH64, ppc64le and s390x
  architectures as introduced by `PEP 599 <https://peps.python.org/pep-599>`__ and `PEP 600 <https://peps.python.org/pep-600>`__
  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#187 <https://github.com/ansible/pylibssh/issues/187>`__)
- Added gssapi-with-mic support for authentication -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#195 <https://github.com/ansible/pylibssh/issues/195>`__)


Documentation
-------------

- Correct a link to the pip upgrade doc in our installation guide
  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#225 <https://github.com/ansible/pylibssh/issues/225>`__)


Miscellaneous
-------------

- Started building AARCH64 base images with Buildah+Podman in GitHub
  Actions CI/CD -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#181 <https://github.com/ansible/pylibssh/issues/181>`__)
- Switched using `pep517 <https://pep517.rtfd.io>`__ lib to
  `build <https://pypa-build.rtfd.io>`__ CLI -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#199 <https://github.com/ansible/pylibssh/issues/199>`__)
- Restructured the in-tree `PEP 517 <https://peps.python.org/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 <https://github.com/sponsors/webknjaz>`__
  (`#200 <https://github.com/ansible/pylibssh/issues/200>`__)
- Updated manylinux build script to build libssh with GSSAPI
  enabled -- `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#203 <https://github.com/ansible/pylibssh/issues/203>`__)
- Added an initial RPM spec continuously tested in the CI -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#205 <https://github.com/ansible/pylibssh/issues/205>`__)
- Added additional details when SFTP write errors are raised -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#216 <https://github.com/ansible/pylibssh/issues/216>`__)
- Made ``auditwheel`` only keep one platform tag in the produced wheel
  names -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#224 <https://github.com/ansible/pylibssh/issues/224>`__)
- Improved manylinux build scripts to expect dual-aliased manylinux tags
  produced for versions 1/2010/2014 along with their `PEP 600 <https://peps.python.org/pep-600>`__
  counterparts after ``auditwheel repair`` -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#226 <https://github.com/ansible/pylibssh/issues/226>`__)
- Enabled self-test checks in the RPM spec for Fedora
  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#228 <https://github.com/ansible/pylibssh/issues/228>`__)
- Enabled self-test checks in the RPM spec for CentOS
  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#235 <https://github.com/ansible/pylibssh/issues/235>`__)
- Enabled self-test checks in the RPM spec for RHEL
  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#236 <https://github.com/ansible/pylibssh/issues/236>`__)
- Added ``NAME = "VALUE"`` to flake8-eradicate whitelist to work around test false positive introduced in flake8-eradicate 1.1.0 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#258 <https://github.com/ansible/pylibssh/issues/258>`__)
- Stopped testing ``pylibssh`` binary wheels under Ubuntu 16.04 in GitHub
  Actions CI/CD because it is EOL now -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#260 <https://github.com/ansible/pylibssh/issues/260>`__)
- Fixed failing fast on problems with ``rpmbuild`` in GitHub Actions CI/CD
  under Fedora -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#261 <https://github.com/ansible/pylibssh/issues/261>`__)
- Declare ``python3-pip`` a build dependency under Fedora fixing the RPM
  creation job in GitHub Actions CI/CD under Fedora -- `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#262 <https://github.com/ansible/pylibssh/issues/262>`__)
- Replaced git protocols in pre-commit config with https now that GitHub has turned
  off git protocol access -- `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#266 <https://github.com/ansible/pylibssh/issues/266>`__)


v0.2.0 (2021-03-01)
===================

Bugfixes
--------

- Fixed ``undefined symbol: ssh_disconnect`` and related issues when building on certain distros -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#63 <https://github.com/ansible/pylibssh/issues/63>`__,
  `#153 <https://github.com/ansible/pylibssh/issues/153>`__,
  `#158 <https://github.com/ansible/pylibssh/issues/158>`__)
- Fixed ``"Negative size passed to PyBytes_FromStringAndSize"`` when ``ssh_channel_read_nonblocking`` fails -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#168 <https://github.com/ansible/pylibssh/issues/168>`__)


Features
--------

- Added SCP support -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#151 <https://github.com/ansible/pylibssh/issues/151>`__,
  `#157 <https://github.com/ansible/pylibssh/issues/157>`__)


Documentation
-------------

- Added the initial user guide to docs
  -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#141 <https://github.com/ansible/pylibssh/issues/141>`__)
- Added the initial testing guide to docs
  -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#142 <https://github.com/ansible/pylibssh/issues/142>`__)
- Added the initial installation guide to docs
  -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#145 <https://github.com/ansible/pylibssh/issues/145>`__)


Miscellaneous
-------------

- Migrated the "draft changelog" plugin to the external
  `sphinxcontrib-towncrier implementation
  <https://github.com/sphinx-contrib/sphinxcontrib-towncrier>`__
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#123 <https://github.com/ansible/pylibssh/issues/123>`__)
- Declared official support of CPython 3.9 -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#152 <https://github.com/ansible/pylibssh/issues/152>`__)


v0.1.0 (2020-08-12)
===================

Bugfixes
--------

- Enhanced sftp error handling code to match
  with libssh error messages -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#27 <https://github.com/ansible/pylibssh/issues/27>`__)
- Fixed session timeout issue, the data type
  of timeout is expected by ``ssh_options_set``
  is of type ``long int`` -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#46 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/ganeshrn>`__
  (`#58 <https://github.com/ansible/pylibssh/issues/58>`__)
- Fixed double close issue, added logic to free
  the channel allocated memory within
  ``__dealloc__()`` -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#113 <https://github.com/ansible/pylibssh/issues/113>`__)


Features
--------

- Added cython extension for libssh client
  API's initial commit -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#1 <https://github.com/ansible/pylibssh/issues/1>`__)
- Added proxycommand support for session and
  update session exeception to ``LibsshSessionException`` -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#10 <https://github.com/ansible/pylibssh/issues/10>`__)
- Added support for host key checking with
  authentication -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#15 <https://github.com/ansible/pylibssh/issues/15>`__)
- Changed pylibssh dir to pylibsshext to avoid ns collision -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#25 <https://github.com/ansible/pylibssh/issues/25>`__)
- Added sftp get functionality to fetch file
  from remote host -- by `@amolkahat <https://github.com/sponsors/amolkahat>`__
  (`#26 <https://github.com/ansible/pylibssh/issues/26>`__)
- Added support to receive bulk response
  for remote shell -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__
  (`#40 <https://github.com/ansible/pylibssh/issues/40>`__)
- Added the support for keyboard-authentication method -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__
  (`#105 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/ganeshrn>`__
  (`#1 <https://github.com/ansible/pylibssh/issues/1>`__)


Documentation
-------------

- Documented how to compose `Towncrier
  <https://towncrier.readthedocs.io/en/actual-freaking-docs/>`__
  news fragments -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#124 <https://github.com/ansible/pylibssh/issues/124>`__)
- Documented how to contribute to the docs -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#126 <https://github.com/ansible/pylibssh/issues/126>`__)


Miscellaneous
-------------

- Updated requirements file to replace
  ``requirements.txt`` with ``requirements-build.in`` -- by `@akasurde <https://github.com/sponsors/akasurde>`__
  (`#14 <https://github.com/ansible/pylibssh/issues/14>`__)
- Made tox's main env pick up the in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build
  backend -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#72 <https://github.com/ansible/pylibssh/issues/72>`__)
- Refactored sphinx RST parsing in towncrier extension -- by `@ewjoachim <https://github.com/sponsors/ewjoachim>`__
  (`#119 <https://github.com/ansible/pylibssh/issues/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 <https://github.com/sponsors/webknjaz>`__
  (`#120 <https://github.com/ansible/pylibssh/issues/120>`__)
- Turned the Townrier fragments README doc title into subtitle
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__

  The effect is that it doesn't show up in the side bar as an
  individual item anymore.
  (`#125 <https://github.com/ansible/pylibssh/issues/125>`__)
- Integrated Markdown support into docs via the `MyST parser
  <https://myst-parser.readthedocs.io/>`__ -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#126 <https://github.com/ansible/pylibssh/issues/126>`__)
- Switched the builder on `Read the Docs
  <https://readthedocs.org/>`__ to `dirhtml
  <https://www.sphinx-doc.org/en/master/usage/builders/index.html#sphinx.builders.dirhtml.DirectoryHTMLBuilder>`__
  so it now generates a dir-based URL layout for the website
  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#127 <https://github.com/ansible/pylibssh/issues/127>`__)
- Enabled `sphinx.ext.autosectionlabel Sphinx extension
  <https://myst-parser.readthedocs.io/>`__ to automatically generate
  reference targets for document sections that can be linked
  against using ``:ref:`` -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__
  (`#128 <https://github.com/ansible/pylibssh/issues/128>`__)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ansible/pylibssh",
    "name": "ansible-pylibssh",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "cython, cext, libssh",
    "author": "Ansible, Inc.",
    "author_email": "info+github/ansible/pylibssh@ansible.com",
    "download_url": "https://files.pythonhosted.org/packages/93/50/38298568fbd517dcb7b08c06f4fbfc0481ab9eae1e4b01920495dacf672a/ansible-pylibssh-1.2.2.tar.gz",
    "platform": null,
    "description": ".. image:: https://img.shields.io/pypi/v/ansible-pylibssh.svg?logo=Python&logoColor=white\n   :target: https://pypi.org/project/ansible-pylibssh\n\n.. image:: https://img.shields.io/badge/license-LGPL+-blue.svg?maxAge=3600\n   :target: https://pypi.org/project/ansible-pylibssh\n\n.. image:: https://img.shields.io/pypi/pyversions/ansible-pylibssh.svg?logo=Python&logoColor=white\n   :target: https://pypi.org/project/ansible-pylibssh\n\n.. image:: https://github.com/ansible/pylibssh/actions/workflows/ci-cd.yml/badge.svg?event=push\n   :alt: \ud83e\uddea CI/CD @ devel\n   :target: https://github.com/ansible/pylibssh/actions/workflows/ci-cd.yml\n\n.. image:: https://img.shields.io/codecov/c/gh/ansible/pylibssh/devel?logo=codecov&logoColor=white\n   :target: https://codecov.io/gh/ansible/pylibssh\n   :alt: devel branch coverage via Codecov\n\n.. image:: https://img.shields.io/badge/style-wemake-000000.svg\n   :target: https://github.com/wemake-services/wemake-python-styleguide\n\n.. image:: https://img.shields.io/badge/Code%20of%20Conduct-Ansible-silver.svg\n   :target: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html\n   :alt: Ansible Code of Conduct\n\n.. DO-NOT-REMOVE-docs-badges-END\n\npylibssh: Python bindings to client functionality of libssh specific to Ansible use case\n========================================================================================\n\n.. DO-NOT-REMOVE-docs-intro-START\n\nNightlies @ Dumb PyPI @ GitHub Pages\n------------------------------------\n\n.. DO-NOT-REMOVE-nightlies-START\n\nWe publish nightlies on tags and pushes to devel.\nThey are hosted on a GitHub Pages based index generated\nby `dumb-pypi <https://pypi.org/project/dumb-pypi/>`_.\n\nThe web view is @ https://ansible.github.io/pylibssh/.\n\n.. code-block:: shell-session\n\n    $ pip install \\\n        --extra-index-url=https://ansible.github.io/pylibssh/simple/ \\\n        --pre \\\n        ansible-pylibssh\n\n.. DO-NOT-REMOVE-nightlies-END\n\n\nRequirements\n------------\n\nYou need Python 3.6+\n\npylibssh requires libssh to be installed in particular:\n\n- libssh version 0.9.0 and later.\n\n  To install libssh refer to its `Downloads page\n  <https://www.libssh.org/get-it/>`__.\n\n\nBuilding the module\n-------------------\n\nIn the local env, assumes there's a libssh shared library\non the system, build toolchain is present and env vars\nare set properly:\n\n.. code-block:: shell-session\n\n    $ git clone https://github.com/ansible/pylibssh.git\n    $ cd pylibssh\n    $ pip install tox\n    $ tox -e build-dists\n\n``manylinux``-compatible wheels:\n\n.. code-block:: shell-session\n\n    $ git clone https://github.com/ansible/pylibssh.git\n    $ cd pylibssh\n    $ pip install tox\n    $ tox -e build-dists-manylinux1-x86_64  # with Docker\n\n    # or with Podman\n    $ DOCKER_EXECUTABLE=podman tox -e build-dists-manylinux1-x86_64\n\n    # to enable shell script debug mode use\n    $ tox -e build-dists-manylinux1-x86_64 -- -e DEBUG=1\n\nLicense\n-------\n\nThis library is distributed under the terms of LGPL 2 or higher,\nsee file ``LICENSE.rst`` in this repository.\n\n*********\nChangelog\n*********\n\n..\n    You should *NOT* be adding new change log entries to this file, this\n    file is managed by towncrier. You *may* edit previous change logs to\n    fix problems like typo corrections or such.\n    To add a new change log entry, please see\n    https://pip.pypa.io/en/latest/development/contributing/#news-entries\n    we named the news folder \"docs/changelog-fragments/\".\n\n    WARNING: Don't drop the next directive!\n\n.. towncrier release notes start\n\nv1.2.2\n======\n\n*(2024-06-27)*\n\n\nBug fixes\n---------\n\n- Downloading files larger than 64kB over SCP no longer fails -- by `@Jakuje <https://github.com/sponsors/Jakuje>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#621 <https://github.com/ansible/pylibssh/issues/621>`__.\n\n\n----\n\n\nv1.2.1\n======\n\n*(2024-06-27)*\n\n\nBug fixes\n---------\n\n- Downloading non-existent remote files via SCP no longer crashes the program -- by `@Jakuje <https://github.com/sponsors/Jakuje>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#208 <https://github.com/ansible/pylibssh/issues/208>`__, `#325 <https://github.com/ansible/pylibssh/issues/325>`__, `#620 <https://github.com/ansible/pylibssh/issues/620>`__.\n\n\nPackaging updates and notes for downstreams\n-------------------------------------------\n\n- The RPM specification now opts out of demanding that the\n  compiled C-extensions have a Build ID present under EL\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `9053c1008bb169c8e362a92782d46c7c0d3b1c06 <https://github.com/ansible/pylibssh/commit/9053c1008bb169c8e362a92782d46c7c0d3b1c06>`__, `aaa12159b5cdda763a83dcf4ee920510cad83463 <https://github.com/ansible/pylibssh/commit/aaa12159b5cdda763a83dcf4ee920510cad83463>`__.\n\n- The RPM specification has been updated to pre-build the\n  vendored copy of ``setuptools-scm`` with the isolation\n  disabled, addressing the build problem in EL 9\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `dd85ddefafde8f22ab0239add18a1db9ef789b50 <https://github.com/ansible/pylibssh/commit/dd85ddefafde8f22ab0239add18a1db9ef789b50>`__.\n\n- The RPM definition now runs import self-checks when it is\n  built for Fedora Linux -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#615 <https://github.com/ansible/pylibssh/issues/615>`__.\n\n\nContributor-facing changes\n--------------------------\n\n- RPM builds are now also tested against UBI 9.4 in CI\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `e9ad0a7d456c99cc848b30b48569235366273672 <https://github.com/ansible/pylibssh/commit/e9ad0a7d456c99cc848b30b48569235366273672>`__.\n\n\n----\n\n\nv1.2.0.post4\n============\n\n*(2024-06-09)*\n\n\nPackaging updates and notes for downstreams\n-------------------------------------------\n\n- Substituting the ``gh`` role in source distribution long\n  description has been simplify to stop attempting to make\n  URLs to arbitrary GitHub addresses -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `f4ad1b76 <https://github.com/ansible/pylibssh/commit/f4ad1b76>`__.\n\n- The in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build backend's regular expression\n  has been hotfixed to replace the \"project\" substitution\n  correctly -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  Previously, it was generating a lot of noise instead of a\n  nice description. But not anymore.\n\n  *Related issues and pull requests on GitHub:*\n  `#92752210 <https://github.com/ansible/pylibssh/issues/92752210>`__.\n\n\n----\n\n\nv1.2.0.post2\n============\n\n*(2024-06-08)*\n\n\nPackaging updates and notes for downstreams\n-------------------------------------------\n\n- The automation now replaces the \"project\" RST substitution\n  in the long description and GitHub Discussions/Releases\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `13374a71 <https://github.com/ansible/pylibssh/commit/13374a71>`__.\n\n- The CI/CD automation has been fixed to include changelog\n  updates into source distribution tarballs\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `627f718d <https://github.com/ansible/pylibssh/commit/627f718d>`__.\n\n\n----\n\n\nv1.2.0\n======\n\n*(2024-06-07)*\n\n\nBug fixes\n---------\n\n- ansible-pylibssh no longer crashes when received EOF or when channel is not explicitly\n  closed -- by `@pbrezina <https://github.com/sponsors/pbrezina>`__.\n\n  Previously, ansible-pylibssh crashed if ``channel.recv`` was called and ``libssh``\n  returned ``SSH_EOF`` error. It also crashed on some special occasions where\n  channel was not explicitly closed and the session object was garbage-collected\n  first.\n\n  *Related issues and pull requests on GitHub:*\n  `#576 <https://github.com/ansible/pylibssh/issues/576>`__.\n\n\nFeatures\n--------\n\n- Started exposing the ``SSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES``\n  and ``SSH_OPTIONS_HOSTKEYS`` options publicly\n  -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#527 <https://github.com/ansible/pylibssh/issues/527>`__.\n\n- The ``request_exec()`` method was added to the ``Channel`` class. It exposes an\n  interface for calling the respective low-level C-API of the underlying\n  ``libssh`` library -- by `@pbrezina <https://github.com/sponsors/pbrezina>`__.\n\n  Additionally, the following calls to ``libssh`` are now available in the same\n  class: ``request_exec()``, ``send_eof()``, ``request_send_signal()`` and\n  ``is_eof`` which is exposed as a ``property``.\n\n  *Related issues and pull requests on GitHub:*\n  `#576 <https://github.com/ansible/pylibssh/issues/576>`__.\n\n\nImproved documentation\n----------------------\n\n- Fixed spelling of \"Connect\" in the ``Session.connect()``\n  docstring -- by `@donnerhacke <https://github.com/sponsors/donnerhacke>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#474 <https://github.com/ansible/pylibssh/issues/474>`__.\n\n- Added a tip to the ``installation guide``\n  on how to set compiler flags when installing from source\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#499 <https://github.com/ansible/pylibssh/issues/499>`__.\n\n- Fixed the example of invoking remote commands by using\n  ``Channel.exec_command()`` in snippets -- by `@pbrezina <https://github.com/sponsors/pbrezina>`__.\n\n  Its previously showcased version wasn't functional.\n\n  *Related issues and pull requests on GitHub:*\n  `#576 <https://github.com/ansible/pylibssh/issues/576>`__.\n\n\nPackaging updates and notes for downstreams\n-------------------------------------------\n\n- A flaw in the logic for copying the project directory into a\n  temporary folder that led to infinite recursion when ``TMPDIR``\n  was set to a project subdirectory path. This was happening in Fedora\n  and its downstream due to the use of `pyproject-rpm-macros\n  <https://src.fedoraproject.org/rpms/pyproject-rpm-macros>`__. It was\n  only reproducible with ``pip wheel`` and was not affecting the\n  ``pyproject-build`` users.\n\n  -- by `@hroncok <https://github.com/sponsors/hroncok>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__\n\n  *Related commits on GitHub:*\n  `89c9b3a <https://github.com/ansible/pylibssh/commit/89c9b3a>`__.\n\n- From now on, the published distribution package artifacts\n  for the new releases are signed via `Sigstore\n  <https://sigstore.dev>`__ -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  This is happening as a part of the GitHub Actions CI/CD\n  workflow automation and the signatures are uploaded to\n  the corresponding GitHub Release pages.\n\n  *Related commits on GitHub:*\n  `986988a <https://github.com/ansible/pylibssh/commit/986988a>`__.\n\n- The platform-specific macOS wheels are now built using the\n  Python interpreter from https://python.org. They are tagged\n  with ``macosx_10_9`` -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#333 <https://github.com/ansible/pylibssh/issues/333>`__.\n\n- The ``toml`` build time dependency has been replaced with\n  ``tomli`` -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  The ``tomli`` distribution is only pulled in under Python\n  versions below 3.11. On 3.11 and higher, the standard\n  library module ``tomllib`` is now used instead.\n\n  *Related issues and pull requests on GitHub:*\n  `#501 <https://github.com/ansible/pylibssh/issues/501>`__.\n\n- Started using the built-in ``setuptools-scm`` Git archive\n  support under Python 3.7 and higher -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#502 <https://github.com/ansible/pylibssh/issues/502>`__.\n\n- Added support for Python 3.12 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.\n\n  It is now both tested in the CI and is advertised through\n  the Trove classifiers.\n\n  *Related issues and pull requests on GitHub:*\n  `#532 <https://github.com/ansible/pylibssh/issues/532>`__.\n\n- The ``Cython`` build time dependency now has the minimum\n  version of 3.0 under Python 3.12 and higher\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  The previous versions of ``Cython`` are still able to build\n  the project under older Python versions.\n\n  *Related issues and pull requests on GitHub:*\n  `#540 <https://github.com/ansible/pylibssh/issues/540>`__.\n\n- `PEP 660 <https://peps.python.org/pep-660>`__ is now enabled -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  Previously, due to restrictive `PEP 517 <https://peps.python.org/pep-517>`__ hook reimports,\n  our in-tree build backend was losing ``non-PEP 517``\n  hooks implemented in newer versions of ``setuptools`` but not\n  the earlier ones. This is now addressed by reexporting\n  everything that ``setuptools`` exposes with a wildcard.\n\n  *Related issues and pull requests on GitHub:*\n  `#541 <https://github.com/ansible/pylibssh/issues/541>`__.\n\n- The ``setuptools-scm`` build dependency CI pin was updated to 8.1.0 \u2014\n  this version fixes a date parsing incompatibility introduced by Git 2.45.0\n  (GitHub: ``pypa/setuptools_scm#1038``,\n  GitHub: ``pypa/setuptools_scm#1039``)\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#601 <https://github.com/ansible/pylibssh/issues/601>`__.\n\n\nContributor-facing changes\n--------------------------\n\n- The ``changelog`` page for the tagged release builds on\n  Read The Docs does not attempt showing the draft section\n  anymore -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `852d259 <https://github.com/ansible/pylibssh/commit/852d259>`__.\n\n- Adjusted the publishing workflow automation to pre-configure\n  Git before attempting to create a tag when building a\n  source distribution -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related commits on GitHub:*\n  `f07296f <https://github.com/ansible/pylibssh/commit/f07296f>`__.\n\n- The CI configuration for building the macOS platform-specific\n  wheels switched to using ``cibuildwheel`` -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#333 <https://github.com/ansible/pylibssh/issues/333>`__.\n\n- The OS-level tox package was upgraded to v3.28.0 in the UBI9\n  CI runtime -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#461 <https://github.com/ansible/pylibssh/issues/461>`__, `#473 <https://github.com/ansible/pylibssh/issues/473>`__.\n\n- Fixed spelling of \"Connect\" in the ``Session.connect()``\n  docstring -- by `@donnerhacke <https://github.com/sponsors/donnerhacke>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#474 <https://github.com/ansible/pylibssh/issues/474>`__.\n\n- The Packit CI access to the internet has been restored\n  -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#507 <https://github.com/ansible/pylibssh/issues/507>`__.\n\n- Started building ``manylinux_2_28`` base images for testing and\n  packaging in the CI/CD infrastructure -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#533 <https://github.com/ansible/pylibssh/issues/533>`__.\n\n- Switched back to using Cython's native plugin for measuring\n  code coverage -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#538 <https://github.com/ansible/pylibssh/issues/538>`__.\n\n- Added separate changelog fragment types for contributor-\n  and downstream-facing patches -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  Their corresponding identifiers are ``contrib`` and ``packaging``\n  respectively. They are meant to be used for more accurate\n  classification, where one would resort to using ``misc`` otherwise.\n\n  *Related issues and pull requests on GitHub:*\n  `#539 <https://github.com/ansible/pylibssh/issues/539>`__.\n\n- `PEP 660 <https://peps.python.org/pep-660>`__ is now enabled -- `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  This effectively means that the ecosystem-native editable\n  install mode started working properly.\n\n  *Related issues and pull requests on GitHub:*\n  `#541 <https://github.com/ansible/pylibssh/issues/541>`__.\n\n- The duplicated jobs matrices for building manylinux wheels\n  now reside in a single GitHub Actions CI/CD reusable\n  workflow definition.\n\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n\n  *Related issues and pull requests on GitHub:*\n  `#559 <https://github.com/ansible/pylibssh/issues/559>`__.\n\n- The duplicated jobs matrices of the text jobs now reside in\n  a single GitHub Actions CI/CD reusable workflow definition.\n\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n\n  *Related issues and pull requests on GitHub:*\n  `#560 <https://github.com/ansible/pylibssh/issues/560>`__.\n\n- Fixed the location of release workflow in the\n  ``Release Guide`` document -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#565 <https://github.com/ansible/pylibssh/issues/565>`__.\n\n- The ``setuptools-scm`` build dependency CI pin was updated to 8.1.0 \u2014\n  this version fixes a date parsing incompatibility introduced by Git 2.45.0\n  (GitHub: ``pypa/setuptools_scm#1039``,\n  GitHub: ``pypa/setuptools_scm#1038``)\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__.\n\n  *Related issues and pull requests on GitHub:*\n  `#601 <https://github.com/ansible/pylibssh/issues/601>`__.\n\n- The CI/CD configuration was fixed to allow publishing\n  to PyPI and other targets disregarding the test stage\n  outcome. This used to be a bug in the workflow definition\n  that has now been fixed.\n\n  -- by `@pbrezina <https://github.com/sponsors/pbrezina>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__\n\n  *Related issues and pull requests on GitHub:*\n  `#602 <https://github.com/ansible/pylibssh/issues/602>`__.\n\n\n----\n\n\nv1.1.0 (2022-12-05)\n===================\n\nFeatures\n--------\n\n- Started building ``manylinux`` wheels with ``libssh`` v0.9.6\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#441 <https://github.com/ansible/pylibssh/issues/441>`__)\n\n\nDeprecations (removal in next major release)\n--------------------------------------------\n\n- The project stopped being tested under Ubuntu 18.04 VM since\n  GitHub is sunetting their CI images -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#379 <https://github.com/ansible/pylibssh/issues/379>`__)\n\n\nDocumentation\n-------------\n\n- Added a ``Release Guide`` for making new releases\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#413 <https://github.com/ansible/pylibssh/issues/413>`__)\n\n\nMiscellaneous\n-------------\n\n- Started testing RPM packaging spec with Packit service\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__ and `@TomasTomecek <https://github.com/sponsors/TomasTomecek>`__\n  (`#227 <https://github.com/ansible/pylibssh/issues/227>`__,\n  `#246 <https://github.com/ansible/pylibssh/issues/246>`__)\n- Removed the remains of Python 2 compatiblity code from the in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build backend -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#377 <https://github.com/ansible/pylibssh/issues/377>`__)\n- Fixed removing ``expandvars`` from ``pyproject.toml``\n  in an RPM spec -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n\n  Before this patch, the ``sed`` invocation removed entire\n  ``build-system.requires`` entry from there, in rare cases\n  but this won't be happening anymore.\n  (`#378 <https://github.com/ansible/pylibssh/issues/378>`__)\n- Declared official support of CPython 3.11 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#396 <https://github.com/ansible/pylibssh/issues/396>`__)\n- Started shipping sdists built with Cython v0.29.32 -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#399 <https://github.com/ansible/pylibssh/issues/399>`__)\n- Started building RPMs with Cython v0.29.32 -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#402 <https://github.com/ansible/pylibssh/issues/402>`__)\n- Added an SSH connection re-try helper to tests -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#405 <https://github.com/ansible/pylibssh/issues/405>`__)\n\n\nv1.0.0 (2022-09-14)\n===================\n\nFeatures\n--------\n\n- Added ``password_prompt`` argument to ``connect()`` to override the default\n  prompt of \"password:\" when using keyboard-interactive authentication -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#331 <https://github.com/ansible/pylibssh/issues/331>`__)\n- Added support for ``:fd:`` socket option -- by `@sabedevops <https://github.com/sponsors/sabedevops>`__\n  (`#343 <https://github.com/ansible/pylibssh/issues/343>`__)\n\n\nMiscellaneous\n-------------\n\n- Reworked build scripts to fix manylinux container generation -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#321 <https://github.com/ansible/pylibssh/issues/321>`__)\n- Reenable CI building on s390x -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#322 <https://github.com/ansible/pylibssh/issues/322>`__)\n\n\nv0.4.0 (2022-04-26)\n===================\n\nBugfixes\n--------\n\n- Improved ``channel.exec_command`` to always use a newly created ``ssh_channel`` to avoid\n  segfaults on repeated calls -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#280 <https://github.com/ansible/pylibssh/issues/280>`__)\n- Fixed password prompt match in ``pylibsshext.session.Session.authenticate_interactive()``\n  to strip whitespace, check that the prompt only ends with ``password:``, and added\n  a little extra logging -- by `@dalrrard <https://github.com/sponsors/dalrrard>`__\n  (`#311 <https://github.com/ansible/pylibssh/issues/311>`__)\n\n\nBackward incompatible changes\n-----------------------------\n\n- Dropped support for Python 2.7 and 3.5, and marked support for 3.10 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#314 <https://github.com/ansible/pylibssh/issues/314>`__)\n\n\nv0.3.0 (2021-11-03)\n===================\n\nBugfixes\n--------\n\n- Changed ``sftp.sftp_get`` to write files as bytes rather than assuming files are valid UTF8 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#216 <https://github.com/ansible/pylibssh/issues/216>`__)\n\n\nFeatures\n--------\n\n- Started building platform-specific ``manylinux2010``, ``manylinux2014``\n  and ``manylinux_2_24`` wheels for AARCH64, ppc64le and s390x\n  architectures as introduced by `PEP 599 <https://peps.python.org/pep-599>`__ and `PEP 600 <https://peps.python.org/pep-600>`__\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#187 <https://github.com/ansible/pylibssh/issues/187>`__)\n- Added gssapi-with-mic support for authentication -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#195 <https://github.com/ansible/pylibssh/issues/195>`__)\n\n\nDocumentation\n-------------\n\n- Correct a link to the pip upgrade doc in our installation guide\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#225 <https://github.com/ansible/pylibssh/issues/225>`__)\n\n\nMiscellaneous\n-------------\n\n- Started building AARCH64 base images with Buildah+Podman in GitHub\n  Actions CI/CD -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#181 <https://github.com/ansible/pylibssh/issues/181>`__)\n- Switched using `pep517 <https://pep517.rtfd.io>`__ lib to\n  `build <https://pypa-build.rtfd.io>`__ CLI -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#199 <https://github.com/ansible/pylibssh/issues/199>`__)\n- Restructured the in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build backend into multiple\n  submodules moving the entry-point to ``pep517_backend.hooks``\n  that also facilitates extraction of user-defined\n  ``config_settings`` passed by the end-user (packager)\n  via the ``build`` CLI command -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#200 <https://github.com/ansible/pylibssh/issues/200>`__)\n- Updated manylinux build script to build libssh with GSSAPI\n  enabled -- `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#203 <https://github.com/ansible/pylibssh/issues/203>`__)\n- Added an initial RPM spec continuously tested in the CI -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#205 <https://github.com/ansible/pylibssh/issues/205>`__)\n- Added additional details when SFTP write errors are raised -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#216 <https://github.com/ansible/pylibssh/issues/216>`__)\n- Made ``auditwheel`` only keep one platform tag in the produced wheel\n  names -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#224 <https://github.com/ansible/pylibssh/issues/224>`__)\n- Improved manylinux build scripts to expect dual-aliased manylinux tags\n  produced for versions 1/2010/2014 along with their `PEP 600 <https://peps.python.org/pep-600>`__\n  counterparts after ``auditwheel repair`` -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#226 <https://github.com/ansible/pylibssh/issues/226>`__)\n- Enabled self-test checks in the RPM spec for Fedora\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#228 <https://github.com/ansible/pylibssh/issues/228>`__)\n- Enabled self-test checks in the RPM spec for CentOS\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#235 <https://github.com/ansible/pylibssh/issues/235>`__)\n- Enabled self-test checks in the RPM spec for RHEL\n  -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#236 <https://github.com/ansible/pylibssh/issues/236>`__)\n- Added ``NAME = \"VALUE\"`` to flake8-eradicate whitelist to work around test false positive introduced in flake8-eradicate 1.1.0 -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#258 <https://github.com/ansible/pylibssh/issues/258>`__)\n- Stopped testing ``pylibssh`` binary wheels under Ubuntu 16.04 in GitHub\n  Actions CI/CD because it is EOL now -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#260 <https://github.com/ansible/pylibssh/issues/260>`__)\n- Fixed failing fast on problems with ``rpmbuild`` in GitHub Actions CI/CD\n  under Fedora -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#261 <https://github.com/ansible/pylibssh/issues/261>`__)\n- Declare ``python3-pip`` a build dependency under Fedora fixing the RPM\n  creation job in GitHub Actions CI/CD under Fedora -- `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#262 <https://github.com/ansible/pylibssh/issues/262>`__)\n- Replaced git protocols in pre-commit config with https now that GitHub has turned\n  off git protocol access -- `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#266 <https://github.com/ansible/pylibssh/issues/266>`__)\n\n\nv0.2.0 (2021-03-01)\n===================\n\nBugfixes\n--------\n\n- Fixed ``undefined symbol: ssh_disconnect`` and related issues when building on certain distros -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#63 <https://github.com/ansible/pylibssh/issues/63>`__,\n  `#153 <https://github.com/ansible/pylibssh/issues/153>`__,\n  `#158 <https://github.com/ansible/pylibssh/issues/158>`__)\n- Fixed ``\"Negative size passed to PyBytes_FromStringAndSize\"`` when ``ssh_channel_read_nonblocking`` fails -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#168 <https://github.com/ansible/pylibssh/issues/168>`__)\n\n\nFeatures\n--------\n\n- Added SCP support -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#151 <https://github.com/ansible/pylibssh/issues/151>`__,\n  `#157 <https://github.com/ansible/pylibssh/issues/157>`__)\n\n\nDocumentation\n-------------\n\n- Added the initial user guide to docs\n  -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#141 <https://github.com/ansible/pylibssh/issues/141>`__)\n- Added the initial testing guide to docs\n  -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#142 <https://github.com/ansible/pylibssh/issues/142>`__)\n- Added the initial installation guide to docs\n  -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__ and `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#145 <https://github.com/ansible/pylibssh/issues/145>`__)\n\n\nMiscellaneous\n-------------\n\n- Migrated the \"draft changelog\" plugin to the external\n  `sphinxcontrib-towncrier implementation\n  <https://github.com/sphinx-contrib/sphinxcontrib-towncrier>`__\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#123 <https://github.com/ansible/pylibssh/issues/123>`__)\n- Declared official support of CPython 3.9 -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#152 <https://github.com/ansible/pylibssh/issues/152>`__)\n\n\nv0.1.0 (2020-08-12)\n===================\n\nBugfixes\n--------\n\n- Enhanced sftp error handling code to match\n  with libssh error messages -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#27 <https://github.com/ansible/pylibssh/issues/27>`__)\n- Fixed session timeout issue, the data type\n  of timeout is expected by ``ssh_options_set``\n  is of type ``long int`` -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#46 <https://github.com/ansible/pylibssh/issues/46>`__)\n- Fixed sftp file get issue. On py2\n  The file ``write()`` method returns ``None`` on py2\n  if bytes are written to file successfully, whereas\n  on py3 it returns total number of bytes written\n  to file. Added a fix to check for the number of\n  bytes written only in the case when ``write()``\n  does not return ``None`` -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#58 <https://github.com/ansible/pylibssh/issues/58>`__)\n- Fixed double close issue, added logic to free\n  the channel allocated memory within\n  ``__dealloc__()`` -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#113 <https://github.com/ansible/pylibssh/issues/113>`__)\n\n\nFeatures\n--------\n\n- Added cython extension for libssh client\n  API's initial commit -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#1 <https://github.com/ansible/pylibssh/issues/1>`__)\n- Added proxycommand support for session and\n  update session exeception to ``LibsshSessionException`` -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#10 <https://github.com/ansible/pylibssh/issues/10>`__)\n- Added support for host key checking with\n  authentication -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#15 <https://github.com/ansible/pylibssh/issues/15>`__)\n- Changed pylibssh dir to pylibsshext to avoid ns collision -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#25 <https://github.com/ansible/pylibssh/issues/25>`__)\n- Added sftp get functionality to fetch file\n  from remote host -- by `@amolkahat <https://github.com/sponsors/amolkahat>`__\n  (`#26 <https://github.com/ansible/pylibssh/issues/26>`__)\n- Added support to receive bulk response\n  for remote shell -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#40 <https://github.com/ansible/pylibssh/issues/40>`__)\n- Added the support for keyboard-authentication method -- by `@Qalthos <https://github.com/sponsors/Qalthos>`__\n  (`#105 <https://github.com/ansible/pylibssh/issues/105>`__)\n\n\nBackward incompatible changes\n-----------------------------\n\n- Updated the package name to ``ansible-pylibssh`` to reflect\n  that the library only intends to implement a set of APIs that\n  are necessary to implement an Ansible connection plugin\n  -- by `@ganeshrn <https://github.com/sponsors/ganeshrn>`__\n  (`#1 <https://github.com/ansible/pylibssh/issues/1>`__)\n\n\nDocumentation\n-------------\n\n- Documented how to compose `Towncrier\n  <https://towncrier.readthedocs.io/en/actual-freaking-docs/>`__\n  news fragments -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#124 <https://github.com/ansible/pylibssh/issues/124>`__)\n- Documented how to contribute to the docs -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#126 <https://github.com/ansible/pylibssh/issues/126>`__)\n\n\nMiscellaneous\n-------------\n\n- Updated requirements file to replace\n  ``requirements.txt`` with ``requirements-build.in`` -- by `@akasurde <https://github.com/sponsors/akasurde>`__\n  (`#14 <https://github.com/ansible/pylibssh/issues/14>`__)\n- Made tox's main env pick up the in-tree `PEP 517 <https://peps.python.org/pep-517>`__ build\n  backend -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#72 <https://github.com/ansible/pylibssh/issues/72>`__)\n- Refactored sphinx RST parsing in towncrier extension -- by `@ewjoachim <https://github.com/sponsors/ewjoachim>`__\n  (`#119 <https://github.com/ansible/pylibssh/issues/119>`__)\n- Hotfixed the directive in the in-tree sphinx extension to\n  always trigger the changelog document rebuilds so that it'd\n  pick up any changelog fragments from disk\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#120 <https://github.com/ansible/pylibssh/issues/120>`__)\n- Turned the Townrier fragments README doc title into subtitle\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n\n  The effect is that it doesn't show up in the side bar as an\n  individual item anymore.\n  (`#125 <https://github.com/ansible/pylibssh/issues/125>`__)\n- Integrated Markdown support into docs via the `MyST parser\n  <https://myst-parser.readthedocs.io/>`__ -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#126 <https://github.com/ansible/pylibssh/issues/126>`__)\n- Switched the builder on `Read the Docs\n  <https://readthedocs.org/>`__ to `dirhtml\n  <https://www.sphinx-doc.org/en/master/usage/builders/index.html#sphinx.builders.dirhtml.DirectoryHTMLBuilder>`__\n  so it now generates a dir-based URL layout for the website\n  -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#127 <https://github.com/ansible/pylibssh/issues/127>`__)\n- Enabled `sphinx.ext.autosectionlabel Sphinx extension\n  <https://myst-parser.readthedocs.io/>`__ to automatically generate\n  reference targets for document sections that can be linked\n  against using ``:ref:`` -- by `@webknjaz <https://github.com/sponsors/webknjaz>`__\n  (`#128 <https://github.com/ansible/pylibssh/issues/128>`__)\n",
    "bugtrack_url": null,
    "license": "LGPLv2+",
    "summary": "Python bindings for libssh client specific to Ansible use case",
    "version": "1.2.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/ansible/pylibssh/issues",
        "CI: GitHub Workflows": "https://github.com/ansible/pylibssh/actions?query=branch:devel",
        "Code of Conduct": "https://docs.ansible.com/ansible/latest/community/code_of_conduct.html",
        "Docs: RTD": "https://ansible-pylibssh.rtfd.io/",
        "Homepage": "https://github.com/ansible/pylibssh",
        "Source Code": "https://github.com/ansible/pylibssh"
    },
    "split_keywords": [
        "cython",
        " cext",
        " libssh"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "98407bb4ac4b77f8db736dc73d3786af56417aad4592941bb8f13ca5e7c56364",
                "md5": "06715323372a804cc8957a15f1b527cf",
                "sha256": "b2c011ca038984fc244b8468e3a67c900e66b1a69549d8b9d3815d60f331bcdd"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "06715323372a804cc8957a15f1b527cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2291421,
            "upload_time": "2024-06-27T17:41:11",
            "upload_time_iso_8601": "2024-06-27T17:41:11.538817Z",
            "url": "https://files.pythonhosted.org/packages/98/40/7bb4ac4b77f8db736dc73d3786af56417aad4592941bb8f13ca5e7c56364/ansible_pylibssh-1.2.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3bac5d451d8c3308e10ea9144bb1ecb40472b072573b6bce1660f47ef5d53db3",
                "md5": "d8607ccb62b62a855441687439874f0f",
                "sha256": "acf52d4f3bb15c36c848ba5184f8d4278232470aa56ebaa4edb359b300c37183"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d8607ccb62b62a855441687439874f0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2687415,
            "upload_time": "2024-06-27T17:41:15",
            "upload_time_iso_8601": "2024-06-27T17:41:15.135119Z",
            "url": "https://files.pythonhosted.org/packages/3b/ac/5d451d8c3308e10ea9144bb1ecb40472b072573b6bce1660f47ef5d53db3/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ed5cc6ab1ff3dd64ce5a95140d411545509d9dd13baa58731978b56baf6a41a",
                "md5": "1e47d97da49d713b23c3cd553d4628ef",
                "sha256": "01dd6c016abf258d3a6f983c29918ac4af13d8744124b007f3d620c393e7c67a"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1e47d97da49d713b23c3cd553d4628ef",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2660572,
            "upload_time": "2024-06-27T17:41:18",
            "upload_time_iso_8601": "2024-06-27T17:41:18.529621Z",
            "url": "https://files.pythonhosted.org/packages/6e/d5/cc6ab1ff3dd64ce5a95140d411545509d9dd13baa58731978b56baf6a41a/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7f2b9e16942f82e394873d0600d4a59b7bb94948aa3e04cfb61e385e714d3fd",
                "md5": "57bbfb08e06ae662b23e9fb631963ecf",
                "sha256": "cda0c6d5bfdac54aa6bb9d6865aa8c19930f96dddccb121ec67d53e5eb0f9cc8"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "57bbfb08e06ae662b23e9fb631963ecf",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2936944,
            "upload_time": "2024-06-27T17:41:21",
            "upload_time_iso_8601": "2024-06-27T17:41:21.234055Z",
            "url": "https://files.pythonhosted.org/packages/f7/f2/b9e16942f82e394873d0600d4a59b7bb94948aa3e04cfb61e385e714d3fd/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dbc4d9603973cc665089751f582c82e60f3725397d5803e14f9b1aa867ec0641",
                "md5": "078e4169ecd99a08ceedf44f352e4b35",
                "sha256": "50d6eca4048683d36939d8dcc66b367151231d28b7454c79e279b2d51b8057d7"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "078e4169ecd99a08ceedf44f352e4b35",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2611725,
            "upload_time": "2024-06-27T17:41:23",
            "upload_time_iso_8601": "2024-06-27T17:41:23.796003Z",
            "url": "https://files.pythonhosted.org/packages/db/c4/d9603973cc665089751f582c82e60f3725397d5803e14f9b1aa867ec0641/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b098c7cb1c60d25112c0f361f80d10ec0b062a770ad60c38aeb35379cf52a82",
                "md5": "d841fcd83dd2b096b775487b4627ce2d",
                "sha256": "6efc45e6db2329e3728210e795158682b8da4da054159c71e35100d0c8e74efa"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d841fcd83dd2b096b775487b4627ce2d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2758105,
            "upload_time": "2024-06-27T17:41:25",
            "upload_time_iso_8601": "2024-06-27T17:41:25.860736Z",
            "url": "https://files.pythonhosted.org/packages/7b/09/8c7cb1c60d25112c0f361f80d10ec0b062a770ad60c38aeb35379cf52a82/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71805643d7aaebe24817a6ee621e5dd884a4a5991fd8937794c07cec4f160e95",
                "md5": "06321749278e86761232e646fd01cfc6",
                "sha256": "8577f23adb1bc9c9a233cc316ae8d92ff51ae77c62d40eabcafe3190be6405ec"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "06321749278e86761232e646fd01cfc6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2259326,
            "upload_time": "2024-06-27T17:41:28",
            "upload_time_iso_8601": "2024-06-27T17:41:28.771438Z",
            "url": "https://files.pythonhosted.org/packages/71/80/5643d7aaebe24817a6ee621e5dd884a4a5991fd8937794c07cec4f160e95/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8b5af4a1a84e3e2a999d80f4eb8e0ab83b415bbbf65de0eb10607c1e4334bb6d",
                "md5": "40ffaa326811eacb16f18f3dcae9e891",
                "sha256": "6f8365325006e644f922db447128ced76955ee5eb334c741a9437bb42e7306d4"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "40ffaa326811eacb16f18f3dcae9e891",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2425682,
            "upload_time": "2024-06-27T17:41:30",
            "upload_time_iso_8601": "2024-06-27T17:41:30.745440Z",
            "url": "https://files.pythonhosted.org/packages/8b/5a/f4a1a84e3e2a999d80f4eb8e0ab83b415bbbf65de0eb10607c1e4334bb6d/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44873ef182be968c5dd2e862cfd1d8c8e8251edb38e422dd9e01db60e1c0502a",
                "md5": "71f87cc27c5cb532c4c78c08ddf61f7f",
                "sha256": "b13edc7b9f14d82112231f7088f4e5e1f6198a84ee52b8e50c9af8771b0976e5"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_s390x.whl",
            "has_sig": false,
            "md5_digest": "71f87cc27c5cb532c4c78c08ddf61f7f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2336962,
            "upload_time": "2024-06-27T17:41:32",
            "upload_time_iso_8601": "2024-06-27T17:41:32.851886Z",
            "url": "https://files.pythonhosted.org/packages/44/87/3ef182be968c5dd2e862cfd1d8c8e8251edb38e422dd9e01db60e1c0502a/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f42adafafe0e4a5e258da06700fc5b5d4ace25a12eea524f82009dc2a9bcb54",
                "md5": "e55dc99ea2ff4af169d69526f009a717",
                "sha256": "d4f776041e93e2113efd939a076ecbfb9e9b0bfcbe5a059d1b62ba54c6a00aaf"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e55dc99ea2ff4af169d69526f009a717",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2483347,
            "upload_time": "2024-06-27T17:41:36",
            "upload_time_iso_8601": "2024-06-27T17:41:36.277941Z",
            "url": "https://files.pythonhosted.org/packages/2f/42/adafafe0e4a5e258da06700fc5b5d4ace25a12eea524f82009dc2a9bcb54/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f31a6810fb36dca68fa68c55f2ab4146e5419c4eef1b3d7dcc6b8e32c95fbba3",
                "md5": "705c4340d48e7b49e0e204384dbafc96",
                "sha256": "0164a24b4fe96a87c37b3f542dfa15e6e8e102ddd609389d9ee58c94bf8056df"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "705c4340d48e7b49e0e204384dbafc96",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2654830,
            "upload_time": "2024-06-27T17:41:38",
            "upload_time_iso_8601": "2024-06-27T17:41:38.493654Z",
            "url": "https://files.pythonhosted.org/packages/f3/1a/6810fb36dca68fa68c55f2ab4146e5419c4eef1b3d7dcc6b8e32c95fbba3/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec99d10129a41ffbf2aee072103ad32284570aa87b0e7a1f4e7d3e9d5f1a69d2",
                "md5": "1688bab5fafaee52c11890c21197c6c9",
                "sha256": "db723e5042e595d1980644250da3d7d4d6c2a019a9ae3cf609f4091ba1640bd0"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "1688bab5fafaee52c11890c21197c6c9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2961612,
            "upload_time": "2024-06-27T17:41:41",
            "upload_time_iso_8601": "2024-06-27T17:41:41.100042Z",
            "url": "https://files.pythonhosted.org/packages/ec/99/d10129a41ffbf2aee072103ad32284570aa87b0e7a1f4e7d3e9d5f1a69d2/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e97597fe4a8d3952395fbc9a56e68cc32815cc429f7a9c8530490bb526c3aa5",
                "md5": "59ce32942c0e4a8de3d43afdddbd85a5",
                "sha256": "c61c6677b93929b664a9816dd5186ddc62efe938b5276b96e04ff283184c3955"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_s390x.whl",
            "has_sig": false,
            "md5_digest": "59ce32942c0e4a8de3d43afdddbd85a5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2655293,
            "upload_time": "2024-06-27T17:41:43",
            "upload_time_iso_8601": "2024-06-27T17:41:43.911594Z",
            "url": "https://files.pythonhosted.org/packages/6e/97/597fe4a8d3952395fbc9a56e68cc32815cc429f7a9c8530490bb526c3aa5/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0bd7828798082ebfd3e475d01d9f482c174347036e258fcc2225f7a7a4a705c7",
                "md5": "247b2f3090d93b874475c1d0ad8a0af6",
                "sha256": "0fe729c64c339a7c45cdbbfdceb0eab22965bde125e20de33bf31cd8986c08e8"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "247b2f3090d93b874475c1d0ad8a0af6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 2769891,
            "upload_time": "2024-06-27T17:41:46",
            "upload_time_iso_8601": "2024-06-27T17:41:46.048224Z",
            "url": "https://files.pythonhosted.org/packages/0b/d7/828798082ebfd3e475d01d9f482c174347036e258fcc2225f7a7a4a705c7/ansible_pylibssh-1.2.2-cp310-cp310-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fae09e2ac18b1b9d6a4e665eab107986c54af4ef96c10e32f248cb3693122cff",
                "md5": "a5972c4eac1b5e0a9a4a3e18c1beae86",
                "sha256": "e31ba268b284d2a70135abc0410e3fd65d6591a031ad0ade352215f1fc3c10d6"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a5972c4eac1b5e0a9a4a3e18c1beae86",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2292763,
            "upload_time": "2024-06-27T17:41:48",
            "upload_time_iso_8601": "2024-06-27T17:41:48.130579Z",
            "url": "https://files.pythonhosted.org/packages/fa/e0/9e2ac18b1b9d6a4e665eab107986c54af4ef96c10e32f248cb3693122cff/ansible_pylibssh-1.2.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0435be95b8cce02da57ccf3769fcc3e8095186c1ffa9ddf5d8f12212829afab0",
                "md5": "0105902a5a98bdae868d62d363d25f96",
                "sha256": "b28c8aeb1eed77b3c0b054c02c199fceb7dbbe38e991106b31c721eb468549de"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0105902a5a98bdae868d62d363d25f96",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2793439,
            "upload_time": "2024-06-27T17:41:50",
            "upload_time_iso_8601": "2024-06-27T17:41:50.096764Z",
            "url": "https://files.pythonhosted.org/packages/04/35/be95b8cce02da57ccf3769fcc3e8095186c1ffa9ddf5d8f12212829afab0/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2b040f1d7237c3c266e4a194e4fe572afc268d74f441d3f1690b323fc8c3e8b",
                "md5": "483f0d0ab7cc057a3820b0c097290c8e",
                "sha256": "4f1bcf3f58e75e94438f4d8719a47e8debede50f301e878c02a515ea0de8fa6a"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "483f0d0ab7cc057a3820b0c097290c8e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 3070191,
            "upload_time": "2024-06-27T17:41:52",
            "upload_time_iso_8601": "2024-06-27T17:41:52.308425Z",
            "url": "https://files.pythonhosted.org/packages/d2/b0/40f1d7237c3c266e4a194e4fe572afc268d74f441d3f1690b323fc8c3e8b/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1482ec76cc406e6176728b76696fd0d907867f41a9661f0b61a0202c8339c964",
                "md5": "4c8e15d6f4e4ea359f38e38a27603a85",
                "sha256": "374b76b09f8044e7ecc6fbacec572226dcf5c9d8845bb367240e59fc7c16f1e3"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "4c8e15d6f4e4ea359f38e38a27603a85",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2739361,
            "upload_time": "2024-06-27T17:41:54",
            "upload_time_iso_8601": "2024-06-27T17:41:54.537280Z",
            "url": "https://files.pythonhosted.org/packages/14/82/ec76cc406e6176728b76696fd0d907867f41a9661f0b61a0202c8339c964/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fff9d83567aa57b8c4a77e6612ad457852c59142fa4a91f5e492d9f85563036e",
                "md5": "46a8a95510b15718f914f4a29aee68db",
                "sha256": "67ea1eccfc921f2f348fb876a6dd63c2cd0f2aab8ca22d8f68cfeaa637372949"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "46a8a95510b15718f914f4a29aee68db",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2882444,
            "upload_time": "2024-06-27T17:41:56",
            "upload_time_iso_8601": "2024-06-27T17:41:56.434417Z",
            "url": "https://files.pythonhosted.org/packages/ff/f9/d83567aa57b8c4a77e6612ad457852c59142fa4a91f5e492d9f85563036e/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b51ae2852a6a1e7ecac09b2f47c32833f85dd40962fb822e93a9787f0c9512f3",
                "md5": "aa9c593df6370c8b12e999d569a8ceed",
                "sha256": "b7d3f91546dddb33368990ffa5acca8518c36dc5a36452bb7e62ea3961e0ec58"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "aa9c593df6370c8b12e999d569a8ceed",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2285188,
            "upload_time": "2024-06-27T17:41:58",
            "upload_time_iso_8601": "2024-06-27T17:41:58.561525Z",
            "url": "https://files.pythonhosted.org/packages/b5/1a/e2852a6a1e7ecac09b2f47c32833f85dd40962fb822e93a9787f0c9512f3/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5586142596d43820635f5b4a69d6da2332a47bbf3e408084d0d6625bb249ec0b",
                "md5": "faec8c7a95d519ce880c9857873c99df",
                "sha256": "352148d0852557a73490c6f904b9cb658a322ca0ddf29404de58734bc84c5989"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "faec8c7a95d519ce880c9857873c99df",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2458406,
            "upload_time": "2024-06-27T17:42:00",
            "upload_time_iso_8601": "2024-06-27T17:42:00.505382Z",
            "url": "https://files.pythonhosted.org/packages/55/86/142596d43820635f5b4a69d6da2332a47bbf3e408084d0d6625bb249ec0b/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b3c66d4f4d723002bfa9511bb60fdb579e25f180a538d2362918c4fcac0df3ae",
                "md5": "0f1d5c0f2c143813f04db9483d892a87",
                "sha256": "965de2a436ecd44638f0f486af9dcc6cf88307bfccc01ebb8135413c05649433"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_s390x.whl",
            "has_sig": false,
            "md5_digest": "0f1d5c0f2c143813f04db9483d892a87",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2362607,
            "upload_time": "2024-06-27T17:42:02",
            "upload_time_iso_8601": "2024-06-27T17:42:02.645079Z",
            "url": "https://files.pythonhosted.org/packages/b3/c6/6d4f4d723002bfa9511bb60fdb579e25f180a538d2362918c4fcac0df3ae/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d17d184f9ec80964c02be9796fac5cfe5e4dc010ecd973a5cf81cb8cee3c2c55",
                "md5": "119353865e9788a6ecb6bf4e06b899f3",
                "sha256": "1af727a8bf21ae4600e2024ce25f2faf8442b364900cdf8c0133d0d5add0ab00"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "119353865e9788a6ecb6bf4e06b899f3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2518258,
            "upload_time": "2024-06-27T17:42:04",
            "upload_time_iso_8601": "2024-06-27T17:42:04.876545Z",
            "url": "https://files.pythonhosted.org/packages/d1/7d/184f9ec80964c02be9796fac5cfe5e4dc010ecd973a5cf81cb8cee3c2c55/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9130d0d95207b7e23cf53fe69ef99f87d7ed89907c72dac251b0d2b8d182560e",
                "md5": "2d46f5b054dee859a89de71ed83d404b",
                "sha256": "1ca9ede0fb3fa80a2d394fa02169afa834802e58785a78b9be19e3f23a84776c"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2d46f5b054dee859a89de71ed83d404b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2795498,
            "upload_time": "2024-06-27T17:42:07",
            "upload_time_iso_8601": "2024-06-27T17:42:07.349416Z",
            "url": "https://files.pythonhosted.org/packages/91/30/d0d95207b7e23cf53fe69ef99f87d7ed89907c72dac251b0d2b8d182560e/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "845e662b681b216d07c227a113ba59db01b899cfe1f970d43cba8adbeed6038f",
                "md5": "7a7bf5018b86bbb1a924b9a40ae07d52",
                "sha256": "73e9259d371b7b087e343ecd9db8d5db740486970a114ebec4ba8d2e7a2f3162"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "7a7bf5018b86bbb1a924b9a40ae07d52",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 3087475,
            "upload_time": "2024-06-27T17:42:09",
            "upload_time_iso_8601": "2024-06-27T17:42:09.837682Z",
            "url": "https://files.pythonhosted.org/packages/84/5e/662b681b216d07c227a113ba59db01b899cfe1f970d43cba8adbeed6038f/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ca32c300a9436b4290a50f970eac9f03413f9a5e5aea0833a87e4df987d7b9d",
                "md5": "5cc4e3d89ece31438ad83c1680f7d188",
                "sha256": "e89f876b2bcd4154e0eecc814aab60a5d1b75dcae380305c55493132af4d9175"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_s390x.whl",
            "has_sig": false,
            "md5_digest": "5cc4e3d89ece31438ad83c1680f7d188",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2785481,
            "upload_time": "2024-06-27T17:42:12",
            "upload_time_iso_8601": "2024-06-27T17:42:12.827449Z",
            "url": "https://files.pythonhosted.org/packages/0c/a3/2c300a9436b4290a50f970eac9f03413f9a5e5aea0833a87e4df987d7b9d/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93ad4b5bf86a4c6882f43d259684bded42620c705c92e86f992022f41acfbd95",
                "md5": "3b3422a50a9eda81d6f406b981793059",
                "sha256": "3ead592ffbe8a97c3ba09c106066f9f494983183e4a08951ca93063d775e2ba7"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3b3422a50a9eda81d6f406b981793059",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 2906941,
            "upload_time": "2024-06-27T17:42:15",
            "upload_time_iso_8601": "2024-06-27T17:42:15.699495Z",
            "url": "https://files.pythonhosted.org/packages/93/ad/4b5bf86a4c6882f43d259684bded42620c705c92e86f992022f41acfbd95/ansible_pylibssh-1.2.2-cp311-cp311-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2ad69182877e961c41c8d85fea497de5d99c229cf30c47dcd7bc84362299e1d",
                "md5": "10b6920b1ba52106fb3a0325c7774ede",
                "sha256": "9b9684d0dfc557a7c882cbcbdba8cd478d30a4009804d33067900c2956d4ffbd"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "10b6920b1ba52106fb3a0325c7774ede",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 2294870,
            "upload_time": "2024-06-27T17:42:17",
            "upload_time_iso_8601": "2024-06-27T17:42:17.854033Z",
            "url": "https://files.pythonhosted.org/packages/d2/ad/69182877e961c41c8d85fea497de5d99c229cf30c47dcd7bc84362299e1d/ansible_pylibssh-1.2.2-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8067dbaabd8910d0acb96da28623cac8f55318089be0d1d6b2397c32f6c73da",
                "md5": "e38371442864a7bb2c0b8879be258daf",
                "sha256": "1b78d78a6b1c10404c1d141fc78fc18a2ca5290960ff55a39ef7d2d7a7701d8b"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e38371442864a7bb2c0b8879be258daf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 2815358,
            "upload_time": "2024-06-27T17:42:19",
            "upload_time_iso_8601": "2024-06-27T17:42:19.990125Z",
            "url": "https://files.pythonhosted.org/packages/a8/06/7dbaabd8910d0acb96da28623cac8f55318089be0d1d6b2397c32f6c73da/ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2412b1cf2305890b3569eb476270c42e67c348d10a5ac66e21250f67cad3e927",
                "md5": "f4e4fbfff69e13354517390866e25644",
                "sha256": "e3ab210a012169339220640e9005188d00195cd8cb35036f2a25471eec65745c"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "f4e4fbfff69e13354517390866e25644",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 3087410,
            "upload_time": "2024-06-27T17:42:22",
            "upload_time_iso_8601": "2024-06-27T17:42:22.001191Z",
            "url": "https://files.pythonhosted.org/packages/24/12/b1cf2305890b3569eb476270c42e67c348d10a5ac66e21250f67cad3e927/ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c5c1b92aa0a4adf2e1f542a7587af88a5662949c5fa74791bff79333c9e0d3d8",
                "md5": "3ee5b2ef7aacaafa60beb815f6aab7c3",
                "sha256": "36674b80d2c0a4c411385dcf9709b96a575bffd54cca81a82aaf572015001146"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_s390x.whl",
            "has_sig": false,
            "md5_digest": "3ee5b2ef7aacaafa60beb815f6aab7c3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 2804564,
            "upload_time": "2024-06-27T17:42:24",
            "upload_time_iso_8601": "2024-06-27T17:42:24.312106Z",
            "url": "https://files.pythonhosted.org/packages/c5/c1/b92aa0a4adf2e1f542a7587af88a5662949c5fa74791bff79333c9e0d3d8/ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b9ae4a7787950df2876ff4e83767f7afd29b4f6f451e1eb2285fea9bdac38fb",
                "md5": "b1a9429ba0691c241752e03e1d7fe28d",
                "sha256": "43b2f708af82d57ea3df8d493590720a3dd7dc60a58c65b46eb97d94462be07c"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b1a9429ba0691c241752e03e1d7fe28d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 2934402,
            "upload_time": "2024-06-27T17:42:26",
            "upload_time_iso_8601": "2024-06-27T17:42:26.839983Z",
            "url": "https://files.pythonhosted.org/packages/5b/9a/e4a7787950df2876ff4e83767f7afd29b4f6f451e1eb2285fea9bdac38fb/ansible_pylibssh-1.2.2-cp312-cp312-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "229ed6aa5a7b4c2cbf2ad35c14790aab75a50cce4061b959aee120986864ed4f",
                "md5": "4b1fe72095a6117603680d18ecf8530d",
                "sha256": "9d4382a60e804d8edef47f8138c2d3bb45f2bfe4911b0a05390f16cfc99aa006"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4b1fe72095a6117603680d18ecf8530d",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2281166,
            "upload_time": "2024-06-27T17:42:28",
            "upload_time_iso_8601": "2024-06-27T17:42:28.952442Z",
            "url": "https://files.pythonhosted.org/packages/22/9e/d6aa5a7b4c2cbf2ad35c14790aab75a50cce4061b959aee120986864ed4f/ansible_pylibssh-1.2.2-cp36-cp36m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "86ceb1601f756d0064f44fb588617f5901a00443e80d974d0f9b1468cb7538a1",
                "md5": "d6c898e1c67b0208516f9dfcc33f5473",
                "sha256": "deaa292cce1c1ea8724b3691db140c01e3d35f325215794df2cdf75054045bf6"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d6c898e1c67b0208516f9dfcc33f5473",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2527659,
            "upload_time": "2024-06-27T17:42:31",
            "upload_time_iso_8601": "2024-06-27T17:42:31.662737Z",
            "url": "https://files.pythonhosted.org/packages/86/ce/b1601f756d0064f44fb588617f5901a00443e80d974d0f9b1468cb7538a1/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "742f1e5b1a85dc16441ca06d963efe88882c19069ef3de00202a68742fbbe389",
                "md5": "39e595b2867e879197331ddeba79a4a2",
                "sha256": "2b1fbebf5f868d08167438f5bfede7bae072ca69b0f0166864432eaa73bf8b95"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "39e595b2867e879197331ddeba79a4a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2464917,
            "upload_time": "2024-06-27T17:42:34",
            "upload_time_iso_8601": "2024-06-27T17:42:34.307465Z",
            "url": "https://files.pythonhosted.org/packages/74/2f/1e5b1a85dc16441ca06d963efe88882c19069ef3de00202a68742fbbe389/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c83f709f0a699bde45199bc098dea75247d1b49e1fe6131cb18815d230768955",
                "md5": "818d56b14c9f578b3ea6f89b511b5688",
                "sha256": "ab6d0295432c770b5f88814b270e7b3ed98692a3c5b7c6dcfeb27a8be203d20a"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "818d56b14c9f578b3ea6f89b511b5688",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2767931,
            "upload_time": "2024-06-27T17:42:37",
            "upload_time_iso_8601": "2024-06-27T17:42:37.264003Z",
            "url": "https://files.pythonhosted.org/packages/c8/3f/709f0a699bde45199bc098dea75247d1b49e1fe6131cb18815d230768955/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68534a3fcad0fcf40742dcd45822360be0b6cf94039b22f7a038a8a706298d84",
                "md5": "5d97b27a05bc732811b4cc674958d4b6",
                "sha256": "02466fe25f5e5104a09c83395b53a955422c575fb05269b457c0d8abe70ebe75"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "5d97b27a05bc732811b4cc674958d4b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2439645,
            "upload_time": "2024-06-27T17:42:39",
            "upload_time_iso_8601": "2024-06-27T17:42:39.482094Z",
            "url": "https://files.pythonhosted.org/packages/68/53/4a3fcad0fcf40742dcd45822360be0b6cf94039b22f7a038a8a706298d84/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ebd34fa5366d48e0ffbc30670ec571ca2817f250edd405d4bd9eff28ac1e0b7c",
                "md5": "f1e651417dc1104204d1bf097f07c551",
                "sha256": "762d9c8deb9223a7def8ee37f9fe6ab637b1f4cbc8c89eed57e8286225080bfb"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f1e651417dc1104204d1bf097f07c551",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2565167,
            "upload_time": "2024-06-27T17:42:41",
            "upload_time_iso_8601": "2024-06-27T17:42:41.653161Z",
            "url": "https://files.pythonhosted.org/packages/eb/d3/4fa5366d48e0ffbc30670ec571ca2817f250edd405d4bd9eff28ac1e0b7c/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc2935bd1146a9885169cd1ea8e834236298c37c2d7034c97006a848e7ff8e0e",
                "md5": "e7a6ec98af0e895a77b976f83c4d3ecc",
                "sha256": "bf90301fe2f96f8ad0aebc95f389e146208dbac0b39a62d120cea5da73fefaba"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e7a6ec98af0e895a77b976f83c4d3ecc",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2171709,
            "upload_time": "2024-06-27T17:42:44",
            "upload_time_iso_8601": "2024-06-27T17:42:44.197873Z",
            "url": "https://files.pythonhosted.org/packages/cc/29/35bd1146a9885169cd1ea8e834236298c37c2d7034c97006a848e7ff8e0e/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7cc8177365bd986671bfb59b7c8da235702e53241775e729aa1a5ae7b1142f55",
                "md5": "23f2c2a1a060183fc5269507a235ea98",
                "sha256": "ecb5451d6058d240ddbc9c3781a65cdd750a551e9afa5cdf7adb9332b532e935"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "23f2c2a1a060183fc5269507a235ea98",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2342852,
            "upload_time": "2024-06-27T17:42:46",
            "upload_time_iso_8601": "2024-06-27T17:42:46.327714Z",
            "url": "https://files.pythonhosted.org/packages/7c/c8/177365bd986671bfb59b7c8da235702e53241775e729aa1a5ae7b1142f55/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19429bddefa5acc24a780eae5092f0dfc5fcdd67b933b6964088aab5873a68a7",
                "md5": "14ab0989cc9cc771585f9190bc361f56",
                "sha256": "666c1e5dfa0129ff960c4adb572e23f2e96d299145923fe48b19561e6d7631c8"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_s390x.whl",
            "has_sig": false,
            "md5_digest": "14ab0989cc9cc771585f9190bc361f56",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2252040,
            "upload_time": "2024-06-27T17:42:48",
            "upload_time_iso_8601": "2024-06-27T17:42:48.828539Z",
            "url": "https://files.pythonhosted.org/packages/19/42/9bddefa5acc24a780eae5092f0dfc5fcdd67b933b6964088aab5873a68a7/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "902cc8126be62551dc83d71bee289dfccd3327d421497cb3cc0b0c19dc901c5c",
                "md5": "cdbfaa94112487545c79082f25a94df3",
                "sha256": "b62870863c8ce33c7f5aaaa6a35b6aeb5497caa63867c2c041a839c15cb41af0"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cdbfaa94112487545c79082f25a94df3",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2408620,
            "upload_time": "2024-06-27T17:42:50",
            "upload_time_iso_8601": "2024-06-27T17:42:50.956939Z",
            "url": "https://files.pythonhosted.org/packages/90/2c/c8126be62551dc83d71bee289dfccd3327d421497cb3cc0b0c19dc901c5c/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4039d5070d9824fcb458cab1e7db1762e9d65b00e4092f8fc2d4e1db2a98f04c",
                "md5": "eb2a9d2ea4bb5e03acdc589251e5cb30",
                "sha256": "99c45cfb03fd15de664d8b47dea42072654824e8654fe69866a7501e93dc333c"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "eb2a9d2ea4bb5e03acdc589251e5cb30",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2462661,
            "upload_time": "2024-06-27T17:43:04",
            "upload_time_iso_8601": "2024-06-27T17:43:04.786822Z",
            "url": "https://files.pythonhosted.org/packages/40/39/d5070d9824fcb458cab1e7db1762e9d65b00e4092f8fc2d4e1db2a98f04c/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8322352ba1f8b6ae14f8d01d493fca9ee73d600608c5ece09d293e77679d10e4",
                "md5": "25799687f9bc2f75b74e9b1abd5b643a",
                "sha256": "8bff22999b64ddf97d23c7eb43bc5eedc179ab6e2fd3de06d150e736a177848a"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "25799687f9bc2f75b74e9b1abd5b643a",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2795450,
            "upload_time": "2024-06-27T17:43:08",
            "upload_time_iso_8601": "2024-06-27T17:43:08.112388Z",
            "url": "https://files.pythonhosted.org/packages/83/22/352ba1f8b6ae14f8d01d493fca9ee73d600608c5ece09d293e77679d10e4/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "675e85f740a457167427d04e221c8db149a32676ad543a71e350f7e7eb6913d4",
                "md5": "6f2768571a482b13053fa75dd9cc0de2",
                "sha256": "799167f2e4ed91fcca9e733a5b90093b2d451bce27c208328ada70f08da15c22"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_s390x.whl",
            "has_sig": false,
            "md5_digest": "6f2768571a482b13053fa75dd9cc0de2",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2484188,
            "upload_time": "2024-06-27T17:43:10",
            "upload_time_iso_8601": "2024-06-27T17:43:10.205085Z",
            "url": "https://files.pythonhosted.org/packages/67/5e/85f740a457167427d04e221c8db149a32676ad543a71e350f7e7eb6913d4/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9702cb90b3912d2469a46c5f15dc45e8aa9c4a7abeef0fa363b5587a04567c29",
                "md5": "ef5489ed62f760192d58aa3c3488ab52",
                "sha256": "b62350e8fd559e9f75f5ef8ce8a3f5c8f49ed2ad09bd59128ae9e08df4131d73"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ef5489ed62f760192d58aa3c3488ab52",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2583633,
            "upload_time": "2024-06-27T17:43:12",
            "upload_time_iso_8601": "2024-06-27T17:43:12.384920Z",
            "url": "https://files.pythonhosted.org/packages/97/02/cb90b3912d2469a46c5f15dc45e8aa9c4a7abeef0fa363b5587a04567c29/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "04c9a740396a54d2815ee678dc09aa6cfcca248e5396957bc3e908b50e98057c",
                "md5": "b31c4a185cd4a936495ef2f6ffaf64ae",
                "sha256": "a4ba1517c57ec2a197ee49c1f285addf51dcf26f9c8c66a4cd06a75abb5b16ce"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b31c4a185cd4a936495ef2f6ffaf64ae",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 2417100,
            "upload_time": "2024-06-27T17:43:15",
            "upload_time_iso_8601": "2024-06-27T17:43:15.349599Z",
            "url": "https://files.pythonhosted.org/packages/04/c9/a740396a54d2815ee678dc09aa6cfcca248e5396957bc3e908b50e98057c/ansible_pylibssh-1.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7821463ebed4907aff0967a750a4567e2b63423d1477adef6a5156e26a44d0dc",
                "md5": "c89889df5379064df6e39d4e265fb955",
                "sha256": "7e02196fcdb6a2adc35e5641d8fd523805a11eb43df2ca2603295b50f94e92a3"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c89889df5379064df6e39d4e265fb955",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2294091,
            "upload_time": "2024-06-27T17:43:17",
            "upload_time_iso_8601": "2024-06-27T17:43:17.625076Z",
            "url": "https://files.pythonhosted.org/packages/78/21/463ebed4907aff0967a750a4567e2b63423d1477adef6a5156e26a44d0dc/ansible_pylibssh-1.2.2-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "55a96e8003f26a992fa43de56e86744fd3b7712eec55e6954ea4321b6ff22280",
                "md5": "25c4ae447f1585efa6b9d7b4e75c3434",
                "sha256": "401e219a92c523e9158099068c18936bbe719a55b8b0ce102497aa45b556e7ea"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "25c4ae447f1585efa6b9d7b4e75c3434",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2578334,
            "upload_time": "2024-06-27T17:43:19",
            "upload_time_iso_8601": "2024-06-27T17:43:19.919701Z",
            "url": "https://files.pythonhosted.org/packages/55/a9/6e8003f26a992fa43de56e86744fd3b7712eec55e6954ea4321b6ff22280/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d55716633dd344e0c356433118f01ac3dcb5deffa2e6e741d8ebb3453c8091a2",
                "md5": "07b8b5c138aae37e004820c38b55c723",
                "sha256": "1d4889043c70072a56c1ee3c8f03eb387612feb04987cd25c19d21df073089ee"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "07b8b5c138aae37e004820c38b55c723",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2548460,
            "upload_time": "2024-06-27T17:43:22",
            "upload_time_iso_8601": "2024-06-27T17:43:22.984187Z",
            "url": "https://files.pythonhosted.org/packages/d5/57/16633dd344e0c356433118f01ac3dcb5deffa2e6e741d8ebb3453c8091a2/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "86c809baf8680fa38c363dc8f7a4827c526fdabbea96c7bc2a4ce58ff143762d",
                "md5": "ba0584686c365e6dd29ddb285ea38ae7",
                "sha256": "ef312bfaa8b6bd51fe3c1f99df5c0a79f71c3dc0cda62977d85e92fe93582cbe"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "ba0584686c365e6dd29ddb285ea38ae7",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2804167,
            "upload_time": "2024-06-27T17:43:25",
            "upload_time_iso_8601": "2024-06-27T17:43:25.883270Z",
            "url": "https://files.pythonhosted.org/packages/86/c8/09baf8680fa38c363dc8f7a4827c526fdabbea96c7bc2a4ce58ff143762d/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fbbe9d7d0eb03191da51b971c02dd6bf54837fd64c5af3d3ad0a87832f99a59b",
                "md5": "4b9ad2ae54aa2e92299aa03f4fd01108",
                "sha256": "b61cf3e1e631bab97e72e91857d0f2011ffcf8567fdf76d395dda8128a035044"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "4b9ad2ae54aa2e92299aa03f4fd01108",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2477685,
            "upload_time": "2024-06-27T17:43:29",
            "upload_time_iso_8601": "2024-06-27T17:43:29.034486Z",
            "url": "https://files.pythonhosted.org/packages/fb/be/9d7d0eb03191da51b971c02dd6bf54837fd64c5af3d3ad0a87832f99a59b/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d692ddc53ef5414fdab1def3c46fb35173924ad950f5e7fd63b548536e62c71",
                "md5": "cd74a9563f48f406d35efdde7da3c497",
                "sha256": "4301691b32cdbe8571ffa63a907332385f671c0507e30c3c267e85cd28f404b6"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cd74a9563f48f406d35efdde7da3c497",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2647140,
            "upload_time": "2024-06-27T17:43:31",
            "upload_time_iso_8601": "2024-06-27T17:43:31.395253Z",
            "url": "https://files.pythonhosted.org/packages/2d/69/2ddc53ef5414fdab1def3c46fb35173924ad950f5e7fd63b548536e62c71/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "430e6045a637712ae2a0609d82ad14b95de481f7411c6f268efe1fa17ded177f",
                "md5": "bf184ba3ce3c519494c63de98e336200",
                "sha256": "73ef957c9447b96c30b775a202b5b4386ad73d74e2d357761648e40617bb7718"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "bf184ba3ce3c519494c63de98e336200",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2214924,
            "upload_time": "2024-06-27T17:43:33",
            "upload_time_iso_8601": "2024-06-27T17:43:33.871897Z",
            "url": "https://files.pythonhosted.org/packages/43/0e/6045a637712ae2a0609d82ad14b95de481f7411c6f268efe1fa17ded177f/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "740d6c0b04d4013bc96bba38dc8d12c8f9345606942122a25f8f7cfeefc04d56",
                "md5": "4ae423bd0a9982e46b2f47a9fbf7352b",
                "sha256": "e2fc05d3bc71ccc617bdc80c995573a774edcd515ee5598088d1130170ef75f3"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "4ae423bd0a9982e46b2f47a9fbf7352b",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2387679,
            "upload_time": "2024-06-27T17:43:36",
            "upload_time_iso_8601": "2024-06-27T17:43:36.039521Z",
            "url": "https://files.pythonhosted.org/packages/74/0d/6c0b04d4013bc96bba38dc8d12c8f9345606942122a25f8f7cfeefc04d56/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d008266996dca3cf4388ae77cfd97e076999cf500d8759260242f23fd1521157",
                "md5": "bae7e948e1c11f1a2b34ff5f9eef013f",
                "sha256": "bb2c112ce8e118209858da59dc6fa36c9bca797dbae9d77f317e618c8ffb562f"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_s390x.whl",
            "has_sig": false,
            "md5_digest": "bae7e948e1c11f1a2b34ff5f9eef013f",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2301465,
            "upload_time": "2024-06-27T17:43:38",
            "upload_time_iso_8601": "2024-06-27T17:43:38.877227Z",
            "url": "https://files.pythonhosted.org/packages/d0/08/266996dca3cf4388ae77cfd97e076999cf500d8759260242f23fd1521157/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "42ac768ba010c0934d790b2a7a2d481a8b4c2d865c49257869d76e40819c9337",
                "md5": "18c95ea2476b1024221d22d2e42f5741",
                "sha256": "9c4a07f5a671f12985c67b79a12f5da83be198b260e6c702e966f83953f1e5e2"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "18c95ea2476b1024221d22d2e42f5741",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2454599,
            "upload_time": "2024-06-27T17:43:40",
            "upload_time_iso_8601": "2024-06-27T17:43:40.872796Z",
            "url": "https://files.pythonhosted.org/packages/42/ac/768ba010c0934d790b2a7a2d481a8b4c2d865c49257869d76e40819c9337/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5195bd06c2eccd0fa21c2b9ee491951b90563ca146b8ae8da2ed6b9f18992f74",
                "md5": "b352b4873c31a9e656a4ff15209be0d0",
                "sha256": "0ef12e44768b40794c489d74ff2d820989fc41e8da6496c7814e15049cef04e4"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b352b4873c31a9e656a4ff15209be0d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2541785,
            "upload_time": "2024-06-27T17:43:42",
            "upload_time_iso_8601": "2024-06-27T17:43:42.995671Z",
            "url": "https://files.pythonhosted.org/packages/51/95/bd06c2eccd0fa21c2b9ee491951b90563ca146b8ae8da2ed6b9f18992f74/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c11712c1dca686a526dbeec51359da55f6c8da2cf1dd9059368aa854e0a5c6bb",
                "md5": "1767d86aeaef427f5470ae97395d179e",
                "sha256": "6fd60d6cdbc28cc4cf8ffb0fb2356d2cf18d1ad4d3480bfbb648ddb866005ff4"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "1767d86aeaef427f5470ae97395d179e",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2819428,
            "upload_time": "2024-06-27T17:43:45",
            "upload_time_iso_8601": "2024-06-27T17:43:45.225178Z",
            "url": "https://files.pythonhosted.org/packages/c1/17/12c1dca686a526dbeec51359da55f6c8da2cf1dd9059368aa854e0a5c6bb/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b93df6c3b9e50cd775c290b3a8d371f4f67627d4b810ebf0cd41582533ed528e",
                "md5": "a0d7d15e191fe0b9045fdb47921f6840",
                "sha256": "364c3a6941a0febba311796c4259f8c227c25341cdc5adc3d27ee0e019d22ea8"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_s390x.whl",
            "has_sig": false,
            "md5_digest": "a0d7d15e191fe0b9045fdb47921f6840",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2504699,
            "upload_time": "2024-06-27T17:43:47",
            "upload_time_iso_8601": "2024-06-27T17:43:47.827473Z",
            "url": "https://files.pythonhosted.org/packages/b9/3d/f6c3b9e50cd775c290b3a8d371f4f67627d4b810ebf0cd41582533ed528e/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a9ea9ff03b0b7dd3ca2e1de5dc7fe5de445061c46ef0b45fdd2574e64f640bf1",
                "md5": "818b4512c15d0e55affdd1bf8afff87a",
                "sha256": "b5132e438058c0f216396ed4ddf455101b25a66648f04ce1efec4d978b243712"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "818b4512c15d0e55affdd1bf8afff87a",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2664617,
            "upload_time": "2024-06-27T17:43:50",
            "upload_time_iso_8601": "2024-06-27T17:43:50.646386Z",
            "url": "https://files.pythonhosted.org/packages/a9/ea/9ff03b0b7dd3ca2e1de5dc7fe5de445061c46ef0b45fdd2574e64f640bf1/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "613f115281ebc410ff3e0de4b6a1b07c60659508d3b73568703568c08c7132fb",
                "md5": "f8f419f4b29019f67d6f69346e16eef0",
                "sha256": "6649d34e45b9af395a65a9f419e8ef85be1abc4c08960d91320dc86b5b4c6528"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f8f419f4b29019f67d6f69346e16eef0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 2501703,
            "upload_time": "2024-06-27T17:43:53",
            "upload_time_iso_8601": "2024-06-27T17:43:53.898265Z",
            "url": "https://files.pythonhosted.org/packages/61/3f/115281ebc410ff3e0de4b6a1b07c60659508d3b73568703568c08c7132fb/ansible_pylibssh-1.2.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3866e16d0c4fc15e6baf2e506a961748e831f6d7f45fab39917a7fd93fb1a8bd",
                "md5": "d833e2bbe668d02038faba905aedada1",
                "sha256": "62a1cf2341f2fcbe3dba6c67e16a2ca11afe7e02a325f474b67d637b1fe5257e"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d833e2bbe668d02038faba905aedada1",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2294692,
            "upload_time": "2024-06-27T17:43:57",
            "upload_time_iso_8601": "2024-06-27T17:43:57.112690Z",
            "url": "https://files.pythonhosted.org/packages/38/66/e16d0c4fc15e6baf2e506a961748e831f6d7f45fab39917a7fd93fb1a8bd/ansible_pylibssh-1.2.2-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8813c7af02fd96c56fc8aa8f294d4bd64b05281c3049581f67364df37d84de05",
                "md5": "d6c9dc45e7995459d3a02c38ba18c2fc",
                "sha256": "bbc3bc2ba8238274234b921d2ff2e219d163d1e8b7446e4a246f9e9b57c2d32f"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d6c9dc45e7995459d3a02c38ba18c2fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2792078,
            "upload_time": "2024-06-27T17:43:59",
            "upload_time_iso_8601": "2024-06-27T17:43:59.419431Z",
            "url": "https://files.pythonhosted.org/packages/88/13/c7af02fd96c56fc8aa8f294d4bd64b05281c3049581f67364df37d84de05/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c4f3c4e5dc683937805aa07704e400aa0b7ec0e9b49c3cdb0dc3548c49b570b1",
                "md5": "57e0938eff60b051d706f45b9ae32399",
                "sha256": "418fcec1c0cb3416729f44ba8b32bb75ded2b0cb5b1b042b9ec64ac579472c6d"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "57e0938eff60b051d706f45b9ae32399",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2683401,
            "upload_time": "2024-06-27T17:44:01",
            "upload_time_iso_8601": "2024-06-27T17:44:01.771817Z",
            "url": "https://files.pythonhosted.org/packages/c4/f3/c4e5dc683937805aa07704e400aa0b7ec0e9b49c3cdb0dc3548c49b570b1/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "065ad0b3b8a77268df623d9752d6dada8b998dacfc7ad4439192ace860602adf",
                "md5": "3ed819dc09e1b3c9d3a17e0ef4ee33b2",
                "sha256": "34c2919ccf5c87d7e5dc0c448e545198540846e6da21b37c5a7486d13d5aad83"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "3ed819dc09e1b3c9d3a17e0ef4ee33b2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2980909,
            "upload_time": "2024-06-27T17:44:04",
            "upload_time_iso_8601": "2024-06-27T17:44:04.313736Z",
            "url": "https://files.pythonhosted.org/packages/06/5a/d0b3b8a77268df623d9752d6dada8b998dacfc7ad4439192ace860602adf/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8821c6f81b85c5735c61a189f13460a60d642fee4bd5e2cf3a2930fa871a5dfe",
                "md5": "fd9598cdb43ded68ad0cbd1b75789f9a",
                "sha256": "87f3525793559192520890186e6545bf6b1f2152cf92d17168e4c47c79861421"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "fd9598cdb43ded68ad0cbd1b75789f9a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2652812,
            "upload_time": "2024-06-27T17:44:06",
            "upload_time_iso_8601": "2024-06-27T17:44:06.781468Z",
            "url": "https://files.pythonhosted.org/packages/88/21/c6f81b85c5735c61a189f13460a60d642fee4bd5e2cf3a2930fa871a5dfe/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a786be2d3377a88a494fb322b962abed97df97a087983efe214dfb3fdcd6352",
                "md5": "1fa522404995d502c431cb4744a7303b",
                "sha256": "1965fa205ecd291a397c4833f37428d03cc4902976570bc77d61a3a4a90d9c70"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1fa522404995d502c431cb4744a7303b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2786510,
            "upload_time": "2024-06-27T17:44:09",
            "upload_time_iso_8601": "2024-06-27T17:44:09.029505Z",
            "url": "https://files.pythonhosted.org/packages/6a/78/6be2d3377a88a494fb322b962abed97df97a087983efe214dfb3fdcd6352/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e41133a1e143cddb32162cb2aa14619eec5fd65575007d0cddb1f6fc9a05ca38",
                "md5": "f6933709c9c851fd0c714915886a6c33",
                "sha256": "5a4b11e561b6748fa44c0885c5d994672fbf014db7b08654d929e2981f188687"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f6933709c9c851fd0c714915886a6c33",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2347459,
            "upload_time": "2024-06-27T17:44:13",
            "upload_time_iso_8601": "2024-06-27T17:44:13.886748Z",
            "url": "https://files.pythonhosted.org/packages/e4/11/33a1e143cddb32162cb2aa14619eec5fd65575007d0cddb1f6fc9a05ca38/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41e9276916843da70c2fbbd9619634b94f0662edfb47ad1f87263e6837a0dfb7",
                "md5": "2e6169943793659ea379798bb32f35cd",
                "sha256": "d4a3e75a5db1361d44461c46d28c31a750716bf5cad2617a324f6415d4e5e43e"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "2e6169943793659ea379798bb32f35cd",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2517714,
            "upload_time": "2024-06-27T17:44:16",
            "upload_time_iso_8601": "2024-06-27T17:44:16.169557Z",
            "url": "https://files.pythonhosted.org/packages/41/e9/276916843da70c2fbbd9619634b94f0662edfb47ad1f87263e6837a0dfb7/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2baa370191f885bd2d4c13bc7a47246f9080ccbdc39b8a4b584dbd4ad870505e",
                "md5": "3b4e4cf4022e5b0fb8c65bd2386361c3",
                "sha256": "d546900bf64470a1818e23d38a182177e496f455f5552b8862deb683328e21c4"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_s390x.whl",
            "has_sig": false,
            "md5_digest": "3b4e4cf4022e5b0fb8c65bd2386361c3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2441614,
            "upload_time": "2024-06-27T17:44:18",
            "upload_time_iso_8601": "2024-06-27T17:44:18.495735Z",
            "url": "https://files.pythonhosted.org/packages/2b/aa/370191f885bd2d4c13bc7a47246f9080ccbdc39b8a4b584dbd4ad870505e/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9619e9003e12d0f8332054f052c6f77bdc18f10cd3ffc1788352db0a0aa73987",
                "md5": "849ba6436e972b718792b937cb02ecd3",
                "sha256": "dba4a5c1fb0a3c42081ec8324f59e3be96edc217faa9d5ede05c4b4fa663bfd1"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "849ba6436e972b718792b937cb02ecd3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2584357,
            "upload_time": "2024-06-27T17:44:20",
            "upload_time_iso_8601": "2024-06-27T17:44:20.788927Z",
            "url": "https://files.pythonhosted.org/packages/96/19/e9003e12d0f8332054f052c6f77bdc18f10cd3ffc1788352db0a0aa73987/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "43ec437635b8619062ac9d3fe40281137e09085a717593fe39988c37d654820d",
                "md5": "904cb54eb70b14f807807efa08c7d603",
                "sha256": "6f0ea3d4c0b7c3fc0a15933589351f50900cd862e153fd0ce7230309cc674bfe"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "904cb54eb70b14f807807efa08c7d603",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2687412,
            "upload_time": "2024-06-27T17:44:23",
            "upload_time_iso_8601": "2024-06-27T17:44:23.021884Z",
            "url": "https://files.pythonhosted.org/packages/43/ec/437635b8619062ac9d3fe40281137e09085a717593fe39988c37d654820d/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c73e79030a947bbff8d87512014a511e1825bcd2a33aefae0fa6da7d16f06261",
                "md5": "c234242ad2f085e18b80f4cdff03c116",
                "sha256": "ac54d54a9d9e6fd2394974669aa6432a161e723caece4e6228ab7795ce5a1c4e"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "c234242ad2f085e18b80f4cdff03c116",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 3001540,
            "upload_time": "2024-06-27T17:44:25",
            "upload_time_iso_8601": "2024-06-27T17:44:25.493964Z",
            "url": "https://files.pythonhosted.org/packages/c7/3e/79030a947bbff8d87512014a511e1825bcd2a33aefae0fa6da7d16f06261/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99bd88c6f1749b87bc39359931a92b7586909303c65eb1c85a428f01325acc59",
                "md5": "edf8a0b7652de4e7177ced4a22ac2f7f",
                "sha256": "3d3eed41ee77f55faf21af14204514bcf8a6aec4322272b6d3f2c377373a6493"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_s390x.whl",
            "has_sig": false,
            "md5_digest": "edf8a0b7652de4e7177ced4a22ac2f7f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2685451,
            "upload_time": "2024-06-27T17:44:28",
            "upload_time_iso_8601": "2024-06-27T17:44:28.054746Z",
            "url": "https://files.pythonhosted.org/packages/99/bd/88c6f1749b87bc39359931a92b7586909303c65eb1c85a428f01325acc59/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "78613201822f6bb77cca3763b7fae1ef27690dc36f883bb48476319ab14a956a",
                "md5": "2d1cca8ca0bfa40d30af53abd0049c37",
                "sha256": "21a621dbe2f6d6f25630ac0711ab8c2eabac316dbe5f9dd46ab6064df4ae1f69"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2d1cca8ca0bfa40d30af53abd0049c37",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2807039,
            "upload_time": "2024-06-27T17:44:30",
            "upload_time_iso_8601": "2024-06-27T17:44:30.317153Z",
            "url": "https://files.pythonhosted.org/packages/78/61/3201822f6bb77cca3763b7fae1ef27690dc36f883bb48476319ab14a956a/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec49d4d32f088f0e3d8d4d51826a588bbdf9856426f9f2905890ca67be8950f9",
                "md5": "39fa741a4ca2d439e3ddddebba7894e4",
                "sha256": "72309aabead335913575b2ab248ada7d0d42fca42583010d84c556eef08c01d3"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "39fa741a4ca2d439e3ddddebba7894e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 2522937,
            "upload_time": "2024-06-27T17:44:33",
            "upload_time_iso_8601": "2024-06-27T17:44:33.317083Z",
            "url": "https://files.pythonhosted.org/packages/ec/49/d4d32f088f0e3d8d4d51826a588bbdf9856426f9f2905890ca67be8950f9/ansible_pylibssh-1.2.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ddd031698cefdd6e4622a579bfde124d19bb6c43e911ff9993ec456e18a6107",
                "md5": "571a8b1685279d8d74c8b5884155d753",
                "sha256": "5104ea7fe83113de3b24198af46253fe1f558578666d5b34d4d4d72ec1ef4fce"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "571a8b1685279d8d74c8b5884155d753",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2294731,
            "upload_time": "2024-06-27T17:44:35",
            "upload_time_iso_8601": "2024-06-27T17:44:35.669081Z",
            "url": "https://files.pythonhosted.org/packages/0d/dd/031698cefdd6e4622a579bfde124d19bb6c43e911ff9993ec456e18a6107/ansible_pylibssh-1.2.2-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bceab59dd1d58e77bfd074735943161150936f1fd385ac6ad41feb8f1c47a610",
                "md5": "6ce0091545f397d921a746c8706829e1",
                "sha256": "eae405c45044d047db51854afb3d2bc4f4450aa20d664be30dbca86c2793cea1"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6ce0091545f397d921a746c8706829e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2703450,
            "upload_time": "2024-06-27T17:44:38",
            "upload_time_iso_8601": "2024-06-27T17:44:38.145036Z",
            "url": "https://files.pythonhosted.org/packages/bc/ea/b59dd1d58e77bfd074735943161150936f1fd385ac6ad41feb8f1c47a610/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "188ed023ad23a7326b765abd0101583573539775d47816de9ffef9408d01399e",
                "md5": "4faf1092d722512b84ced7541fa4ebb4",
                "sha256": "5a0677a563ca9ccb6a533a43806289e77ec5a6a2d2704b4814bc7100273fd809"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4faf1092d722512b84ced7541fa4ebb4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2673349,
            "upload_time": "2024-06-27T17:44:40",
            "upload_time_iso_8601": "2024-06-27T17:44:40.676848Z",
            "url": "https://files.pythonhosted.org/packages/18/8e/d023ad23a7326b765abd0101583573539775d47816de9ffef9408d01399e/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e6171e849ad67c6969d22650d03111edca3606392405e7531dd274f4898fb43",
                "md5": "0b84d90cca09ba883e5441e3ca1e0729",
                "sha256": "89545ef0970d8289188c2b45ea10d8f02457b7a002f1697fb5ea985bdaf2d4d6"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "0b84d90cca09ba883e5441e3ca1e0729",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2955204,
            "upload_time": "2024-06-27T17:44:43",
            "upload_time_iso_8601": "2024-06-27T17:44:43.644162Z",
            "url": "https://files.pythonhosted.org/packages/6e/61/71e849ad67c6969d22650d03111edca3606392405e7531dd274f4898fb43/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "517c29bfa36023d1610f3dbc51684248affcc00abf3364c58e100a8ef4b50107",
                "md5": "5e32cc2e96392ad0d7409b6ed3a1fd2c",
                "sha256": "eff01bce69c28e9e792bda933cb8735e77c3c86e4724a4d62b4f1f4d229c7316"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "5e32cc2e96392ad0d7409b6ed3a1fd2c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2629551,
            "upload_time": "2024-06-27T17:44:46",
            "upload_time_iso_8601": "2024-06-27T17:44:46.440787Z",
            "url": "https://files.pythonhosted.org/packages/51/7c/29bfa36023d1610f3dbc51684248affcc00abf3364c58e100a8ef4b50107/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76070eb4c7cf3d787180ab31881e065be3cc75fdd4e1e744e5c3ef1e6da7f809",
                "md5": "9ee041a357984ac0c6b447d6e0562d1b",
                "sha256": "c7cbeddc30b17482ee4cfe47aa86ef544d310e67bf2030df8c2ca39043164a39"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9ee041a357984ac0c6b447d6e0562d1b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2771142,
            "upload_time": "2024-06-27T17:44:48",
            "upload_time_iso_8601": "2024-06-27T17:44:48.766608Z",
            "url": "https://files.pythonhosted.org/packages/76/07/0eb4c7cf3d787180ab31881e065be3cc75fdd4e1e744e5c3ef1e6da7f809/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "319b355bdca8579f343b210cca24bf043ee0cb3fd2a793375eac96f3c2c64f0a",
                "md5": "2208664761d38d2a80cc90ca729f490d",
                "sha256": "7d5efa1faf3245350cf0ec6bcd888878d8fa99f586223c7c1f7fb70231509bc4"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2208664761d38d2a80cc90ca729f490d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2269584,
            "upload_time": "2024-06-27T17:44:51",
            "upload_time_iso_8601": "2024-06-27T17:44:51.288380Z",
            "url": "https://files.pythonhosted.org/packages/31/9b/355bdca8579f343b210cca24bf043ee0cb3fd2a793375eac96f3c2c64f0a/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6fd4e03b96b3d7caf39aa2ae766812173f87772d324df1ffdd389de51de75b0c",
                "md5": "8b57268762a62231d2ee593bf0b67e39",
                "sha256": "55c1eb278b82e25ddab4d1b0e25131c645862d1fa219fd0c9c89a854279ccd03"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "8b57268762a62231d2ee593bf0b67e39",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2436960,
            "upload_time": "2024-06-27T17:44:53",
            "upload_time_iso_8601": "2024-06-27T17:44:53.259588Z",
            "url": "https://files.pythonhosted.org/packages/6f/d4/e03b96b3d7caf39aa2ae766812173f87772d324df1ffdd389de51de75b0c/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f40b598a03755a83036bf011dae5fdee0365f79eef58bac920bdae079c3c94d9",
                "md5": "76563e5af25e61356cbc507e50fd5632",
                "sha256": "d7e483b2ae3ccb065674a6d4455ab71752728da20adcecb7022e9a7674c38da2"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_s390x.whl",
            "has_sig": false,
            "md5_digest": "76563e5af25e61356cbc507e50fd5632",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2347472,
            "upload_time": "2024-06-27T17:44:55",
            "upload_time_iso_8601": "2024-06-27T17:44:55.618027Z",
            "url": "https://files.pythonhosted.org/packages/f4/0b/598a03755a83036bf011dae5fdee0365f79eef58bac920bdae079c3c94d9/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49c8920173882e4788d9ef4448a1f2103375538a3806e329e9043854756a1226",
                "md5": "4f6fbbb9e3812058afb81e13d7ef7878",
                "sha256": "69e313c5b8d210e5259c8e8133cf15e16641ec58e1f2877a4cef80020caa4449"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4f6fbbb9e3812058afb81e13d7ef7878",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2495161,
            "upload_time": "2024-06-27T17:44:58",
            "upload_time_iso_8601": "2024-06-27T17:44:58.081777Z",
            "url": "https://files.pythonhosted.org/packages/49/c8/920173882e4788d9ef4448a1f2103375538a3806e329e9043854756a1226/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_24_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4fa4c91a08d63e6576910efe1257dd7d6f5697e2d2bb393a98a32a880a05fd7a",
                "md5": "3966ed19ba64db8e71ade382bf0a6933",
                "sha256": "d09a31a121d66bde33133c22e98550434619082c5f5828f0aa1a088bc96bcbc9"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "3966ed19ba64db8e71ade382bf0a6933",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2668871,
            "upload_time": "2024-06-27T17:45:00",
            "upload_time_iso_8601": "2024-06-27T17:45:00.656240Z",
            "url": "https://files.pythonhosted.org/packages/4f/a4/c91a08d63e6576910efe1257dd7d6f5697e2d2bb393a98a32a880a05fd7a/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6b1fd7326be003a11cc4940464c4ef82e35b6cbbcacdf509658309913c89147",
                "md5": "9409ee6c12b7f13d0b736ee1750be5c2",
                "sha256": "6e748a0b441b92c8889bebe7af66df951c0fb3def4aaa28b8cd2182ed83d90fb"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "9409ee6c12b7f13d0b736ee1750be5c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2979443,
            "upload_time": "2024-06-27T17:45:04",
            "upload_time_iso_8601": "2024-06-27T17:45:04.116195Z",
            "url": "https://files.pythonhosted.org/packages/b6/b1/fd7326be003a11cc4940464c4ef82e35b6cbbcacdf509658309913c89147/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66de72fad27dc71a691bef14dc7d6512fc2b07246109eb217c7d3931a74dc3ac",
                "md5": "ef05884c3cb47e537d802f26dcbdfc8d",
                "sha256": "2d7ec63b6e4d345ec4f95da0b1e03c6a76d0db4a557701d16a91c9c196c74be1"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_s390x.whl",
            "has_sig": false,
            "md5_digest": "ef05884c3cb47e537d802f26dcbdfc8d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2672846,
            "upload_time": "2024-06-27T17:45:06",
            "upload_time_iso_8601": "2024-06-27T17:45:06.750369Z",
            "url": "https://files.pythonhosted.org/packages/66/de/72fad27dc71a691bef14dc7d6512fc2b07246109eb217c7d3931a74dc3ac/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9a0cc7f94c5eb11bc4c6009fd75fce46f9d5af1d2f4a7b2892d932fa82e83fa",
                "md5": "790788817af0cd57b953827e16abbda8",
                "sha256": "a473827254685cdb92b16223ed56214657aacb52ab52d498962d41138b65dd9d"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "790788817af0cd57b953827e16abbda8",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2782673,
            "upload_time": "2024-06-27T17:45:09",
            "upload_time_iso_8601": "2024-06-27T17:45:09.551492Z",
            "url": "https://files.pythonhosted.org/packages/b9/a0/cc7f94c5eb11bc4c6009fd75fce46f9d5af1d2f4a7b2892d932fa82e83fa/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6b714b97ef5d2b39fd94f2e8129cf54f593e564247a3837a6dbd649cedecf00c",
                "md5": "824798c12ae8644812497ab9a73b6776",
                "sha256": "b77840d999032d30e0d4f7e12f5d83d55e912a4de289792c6ebd47612668a62d"
            },
            "downloads": -1,
            "filename": "ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "824798c12ae8644812497ab9a73b6776",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 2453344,
            "upload_time": "2024-06-27T17:45:12",
            "upload_time_iso_8601": "2024-06-27T17:45:12.965400Z",
            "url": "https://files.pythonhosted.org/packages/6b/71/4b97ef5d2b39fd94f2e8129cf54f593e564247a3837a6dbd649cedecf00c/ansible_pylibssh-1.2.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "935038298568fbd517dcb7b08c06f4fbfc0481ab9eae1e4b01920495dacf672a",
                "md5": "929618dc8c646499875a6d91285abff8",
                "sha256": "753e570dcdceb6ab8e362e91cc0d5993beebc93d287b88178db55509f6423ab5"
            },
            "downloads": -1,
            "filename": "ansible-pylibssh-1.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "929618dc8c646499875a6d91285abff8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 135490,
            "upload_time": "2024-06-27T17:45:14",
            "upload_time_iso_8601": "2024-06-27T17:45:14.926008Z",
            "url": "https://files.pythonhosted.org/packages/93/50/38298568fbd517dcb7b08c06f4fbfc0481ab9eae1e4b01920495dacf672a/ansible-pylibssh-1.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-27 17:45:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ansible",
    "github_project": "pylibssh",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "ansible-pylibssh"
}
        
Elapsed time: 3.44785s