.. 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"
}