No description
  • Cython 52.8%
  • Python 38%
  • Shell 8.1%
  • Dockerfile 1.1%
Find a file
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 991e957909
Merge pull request #831 from Jakuje/c9s
Add CentOS 9 Stream to CI too
2026-03-26 11:50:44 +01:00
.github Add CentOS 9 Stream to CI too 2026-03-23 17:58:38 +01:00
build-scripts/manylinux-container-image Update libssh to 0.12.0 2026-02-12 13:12:26 +01:00
contrib 📝 Record the Sphinx API doc generation idea 💡 2020-09-23 15:01:32 +02:00
docs Add CentOS 9 Stream to CI too 2026-03-23 17:58:38 +01:00
packaging 📦 Get project name from setup.cfg in RPM spec 2026-03-12 20:49:46 +01:00
src/pylibsshext session: Add log_verbosity option to kwargs initializer 2026-02-25 19:17:48 +01:00
tests tests: Verify verbosity set on initialization works 2026-02-25 19:17:50 +01:00
.codecov.yml 🧪 Add a Codecov config 2024-11-19 17:27:28 +01:00
.coveragerc 🧪 Consistently use ctrace in coveragepy 2026-03-15 18:31:53 +01:00
.darglint Enable rule DAR104 in darlint 2020-05-18 17:53:28 +02:00
.flake8 🧪 Integrate the flake8-annotations linter 2026-02-19 11:15:31 +01:00
.git-blame-ignore-revs 💅 Hide a63b6028 (ruff format) from Git blame 2025-10-18 17:30:20 +02:00
.git_archival.txt 📦 Make git archives immutable 2024-09-12 13:57:05 +02:00
.gitattributes Implement version sourcing from SCM 2020-05-07 18:10:15 +02:00
.gitignore Implement version sourcing from SCM 2020-05-07 18:10:15 +02:00
.isort.cfg 🧪 Configure pre-commit to format Python w/ Ruff 2025-10-18 17:33:03 +02:00
.packit.yml 🧪 Use an _-normalized project name in Packit 2026-03-10 23:33:37 +01:00
.pip-tools.toml 🧪 Add a pip-tools config 2024-09-12 15:01:45 +02:00
.pre-commit-config.yaml 🧪 Downgrade setuptools under older Pythons too 2026-02-19 15:04:16 +01:00
.readthedocs.yaml 🧪 Bump runtime to Python 3.11 on RTD 2024-09-12 14:53:56 +02:00
.ruff.toml 🧪 Run Ruff checks against Python files 2025-10-18 18:47:33 +02:00
.yamllint Integrate yamllint 2022-09-17 02:54:45 +02:00
AUTHORS.rst Update doc 2020-01-20 13:43:14 +05:30
CHANGELOG.rst Generate a change log entry for v1.4.0 2026-03-16 11:32:18 +00:00
LICENSE.rst Implement code style enforcement (#12) 2020-01-21 10:11:07 +05:30
MANIFEST.in 📦 Fix setuptools-scm warnings on git archival 2026-03-10 22:46:11 +01:00
pyproject.toml 📦 Set MACOSX_DEPLOYMENT_TARGET to 15 for wheels 2026-03-15 16:00:02 +01:00
pytest.ini Get rid of pytest-forked 2025-03-24 19:03:28 +01:00
README.rst 🔥 Drop support for Python 3.8 2025-05-08 03:19:21 +02:00
requirements-build.txt 📦 Set wheel to v0.45.1 @ build env 2026-03-15 00:23:52 +01:00
setup.cfg 📦 Mark Python 3.13 / 3.14 as supported @ meta 2026-03-15 19:10:03 +01:00
tox.ini 🧪 Drop the requires section from tox.ini 2025-09-04 15:23:43 +02:00

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

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

Communication
-------------

Join the Ansible forum:

* `Get Help <https://forum.ansible.com/c/help/6>`_: get help or help others. Please add the appropriate tags if you start new discussions, for example the ``pylibssh`` tag.
* `Posts tagged with 'pylibssh' <https://forum.ansible.com/tag/pylibssh>`_: subscribe to participate in project-related conversations.
* `News & Announcements <https://forum.ansible.com/c/news/5>`_: track project-wide announcements including social events and the `Bullhorn newsletter <https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn>`_.
* `Social Spaces <https://forum.ansible.com/c/chat/4>`_: gather and interact with fellow enthusiasts.

For more information about getting in touch with us, see the `Ansible communication guide <https://docs.ansible.com/ansible/devel/community/communication.html>`_.

License
-------

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