{"id":26943555,"url":"https://github.com/MarketSquare/SSHLibrary","last_synced_at":"2025-04-02T17:15:50.070Z","repository":{"id":19693067,"uuid":"22947619","full_name":"MarketSquare/SSHLibrary","owner":"MarketSquare","description":"Robot Framework test library for SSH and SFTP","archived":false,"fork":false,"pushed_at":"2025-03-07T20:54:11.000Z","size":2596,"stargazers_count":163,"open_issues_count":43,"forks_count":141,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-03-29T12:02:34.724Z","etag":null,"topics":["python","robotframework","sftp","ssh"],"latest_commit_sha":null,"homepage":"http://marketsquare.github.io/SSHLibrary/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarketSquare.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-14T08:58:05.000Z","updated_at":"2025-03-07T20:54:15.000Z","dependencies_parsed_at":"2024-06-18T14:05:13.627Z","dependency_job_id":"cced4682-8e08-4523-ba60-5c2002ef0516","html_url":"https://github.com/MarketSquare/SSHLibrary","commit_stats":{"total_commits":859,"total_committers":42,"mean_commits":"20.452380952380953","dds":0.5983701979045402,"last_synced_commit":"cc410304ba0afd69a5ee50f788915c1b7ca46570"},"previous_names":["marketsquare/sshlibrary","robotframework/sshlibrary"],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarketSquare%2FSSHLibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarketSquare%2FSSHLibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarketSquare%2FSSHLibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarketSquare%2FSSHLibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarketSquare","download_url":"https://codeload.github.com/MarketSquare/SSHLibrary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246856687,"owners_count":20844974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","robotframework","sftp","ssh"],"created_at":"2025-04-02T17:15:49.239Z","updated_at":"2025-04-02T17:15:50.064Z","avatar_url":"https://github.com/MarketSquare.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. list-table::\n   :header-rows: 0\n\n   * - Statistic:\n     - |_github_created_at|\n     - |_pypi_python_version|\n     - |_pypi_downloads|\n   * - Quality:\n     - |_github_main_status|\n     - Next Release:\n     - |_github_milestone_4|\n   * - Pulse:\n     - |_github_latest_release|\n     - |_github_commits_since_release|\n     - |_github_last_commit|\n\nSSHLibrary\n===============\n\n.. contents::\n\nIntroduction\n------------\n\nSSHLibrary_ is a `Robot Framework`_ test\nlibrary for SSH and SFTP.  The project is hosted on GitHub_\nand downloads can be found from PyPI_.\n\nSSHLibrary is operating system independent and supports Python 3.6 or newer.\n\nThe library has the following main usages:\n\n- Executing commands on the remote machine, either with blocking or\n  non-blocking behavior.\n- Writing and reading in an interactive shell.\n- Transferring files and directories over SFTP.\n- Ensuring that files and directories exist on the remote machine.\n\n.. image:: https://img.shields.io/pypi/l/robotframework-sshlibrary.svg\n   :target: http://www.apache.org/licenses/LICENSE-2.0\n\nDocumentation\n-------------\n\nSee `keyword documentation`_ for available keywords and more information\nabout the library in general.\n\nFor general information about using test libraries with Robot Framework, see\n`Robot Framework User Guide`_.\n\nInstallation\n------------\n\nThe recommended installation method is using pip_::\n\n    pip install --upgrade robotframework-sshlibrary\n\nRunning this command installs also the latest Robot Framework, paramiko_\nand scp_ versions. The minimum supported paramiko version is ``1.15.3`` and\nminimum supported scp version is ``0.13.0``.\nThe ``--upgrade`` option can be omitted when installing the library for the\nfirst time.\n\nWith recent versions of ``pip`` it is possible to install directly from the\nGitHub_ repository. To install latest source from the master branch, use\nthis command::\n\n    pip install git+https://github.com/MarketSquare/SSHLibrary.git\n\nAlternatively you can download the source distribution from PyPI_, extract\nit, and install it using one the command::\n\n    python setup.py install\n\nA benefit of using pip is that it automatically installs scp, paramiko\nand Cryptography_ modules (or PyCrypto_ if paramiko version \u003c 2.0)\nthat SSHLibrary requires.\n\nFor creating SSH tunnels robotbackgroundlogger_ \u003e 1.2 is also a requirement.\n\nDocker\n~~~~~~\n\nWhen installing SSHLibrary in a container (eg. Alpine Linux) there are more dependencies\nthat must be installed: gcc_, make_, openssl-dev_, musl-dev_ and libffi-dev_. These\npackages can be installed using::\n\n    apk add gcc make openssl-dev musl-dev libffi-dev\n\nUsage\n-----\n\nTo use SSHLibrary in Robot Framework tests, the library needs to first be\nimported using the Library setting as any other library.\n\nWhen using Robot Framework, it is generally recommended to write as\neasy-to-understand tests as possible. The keywords provided by\nSSHLibrary are pretty low level and it is typically a good idea to\nwrite tests using Robot Framework's higher level keywords that utilize\nSSHLibrary keywords internally. This is illustrated by the following example\nwhere SSHLibrary keywords like ``Open Connection`` and ``Login`` are grouped\ntogether in a higher level keyword like ``Open Connection And Log In``.\n\n.. code:: robotframework\n\n    *** Settings ***\n    Documentation          This example demonstrates executing a command on a remote machine\n    ...                    and getting its output.\n    ...\n    ...                    Notice how connections are handled as part of the suite setup and\n    ...                    teardown. This saves some time when executing several test cases.\n\n    Library                SSHLibrary\n    Suite Setup            Open Connection And Log In\n    Suite Teardown         Close All Connections\n\n    *** Variables ***\n    ${HOST}                localhost\n    ${USERNAME}            test\n    ${PASSWORD}            test\n\n    *** Test Cases ***\n    Execute Command And Verify Output\n        [Documentation]    Execute Command can be used to run commands on the remote machine.\n        ...                The keyword returns the standard output by default.\n        ${output}=         Execute Command    echo Hello SSHLibrary!\n        Should Be Equal    ${output}          Hello SSHLibrary!\n\n    *** Keywords ***\n    Open Connection And Log In\n       Open Connection     ${HOST}\n       Login               ${USERNAME}        ${PASSWORD}\n\nSupport\n-------\n\nIf the provided documentation is not enough, there are various support forums\navailable:\n\n- `robotframework-users`_ mailing list\n- ``#sshlibrary`` and ``#sshlibrary-dev`` channels in\n  Robot Framework `Slack community`_\n- SSHLibrary `issue tracker`_ for bug reports and concrete enhancement\n  requests\n- `Other support forums`_ including paid support\n\n.. _Robot Framework: http://robotframework.org\n.. _Robot Framework User Guide: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#using-test-libraries\n.. _SSHLibrary: https://github.com/MarketSquare/SSHLibrary\n.. _GitHub: https://github.com/MarketSquare/SSHLibrary\n.. _Python: http://python.org\n.. _pip: http://pip-installer.org\n.. _PyPI: https://pypi.python.org/pypi/robotframework-sshlibrary\n.. _Keyword Documentation: https://marketsquare.github.io/SSHLibrary/SSHLibrary.html\n.. _Jython 2.7: http://jython.org\n.. _paramiko: http://www.paramiko.org\n.. _scp: https://github.com/jbardin/scp.py\n.. _Cryptography: https://cryptography.io\n.. _PyCrypto: http://www.pycrypto.org\n.. _robotbackgroundlogger: https://github.com/robotframework/robotbackgroundlogger\n.. _gcc: https://pkgs.alpinelinux.org/packages?name=gcc\u0026branch=edge\n.. _make: https://pkgs.alpinelinux.org/packages?name=make\u0026branch=edge\n.. _openssl-dev: https://pkgs.alpinelinux.org/packages?name=openssl-dev\u0026branch=edge\n.. _musl-dev: https://pkgs.alpinelinux.org/packages?name=musl-dev\u0026branch=edge\n.. _libffi-dev: https://pkgs.alpinelinux.org/packages?name=libffi-dev\u0026branch=edge\n.. _robotframework-users: http://groups.google.com/group/robotframework-users\n.. _Slack community: https://robotframework-slack-invite.herokuapp.com\n.. _issue tracker: https://github.com/MarketSquare/SSHLibrary/issues\n.. _Other support forums: http://robotframework.org/#support\n\n.. |_github_created_at| image:: https://img.shields.io/github/created-at/MarketSquare/SSHLibrary?logo=robotframework\n   :alt: GitHub Created At\n\n.. |_pypi_downloads| image:: https://img.shields.io/pypi/dm/robotframework-sshlibrary\n   :alt: PyPI - Downloads\n\n.. |_github_milestone_4| image:: https://img.shields.io/github/milestones/progress-percent/MarketSquare/SSHLibrary/25\n   :alt: GitHub milestone details\n\n.. |_pypi_python_version| image:: https://img.shields.io/pypi/pyversions/robotframework-sshlibrary\n   :alt: PyPI - Python Version\n\n.. |_github_main_status| image:: https://img.shields.io/github/check-runs/MarketSquare/SSHLibrary/master\n   :alt: GitHub branch check runs\n\n.. |_github_commits_since_release| image:: https://img.shields.io/github/commits-since/MarketSquare/SSHLibrary/latest\n   :alt: GitHub commits since latest release\n\n.. |_github_latest_release| image:: https://img.shields.io/github/release-date/MarketSquare/SSHLibrary\n   :alt: GitHub Release Date\n\n.. |_github_last_commit| image:: https://img.shields.io/github/last-commit/MarketSquare/SSHLibrary\n   :alt: GitHub last commit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMarketSquare%2FSSHLibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMarketSquare%2FSSHLibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMarketSquare%2FSSHLibrary/lists"}