You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.rst
+9-14Lines changed: 9 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,34 +25,29 @@ Super fast SSH2 protocol library. ``ssh2-python`` provides Python bindings for `
25
25
Installation
26
26
______________
27
27
28
-
Binary wheel packages are provided for Linux, OSX and Windows, all Python versions, with ``libssh2`` and its required libraries included.
29
-
30
-
Wheel packages have **no dependencies**.
28
+
Binary wheel packages are provided for Linux, OSX and Windows, all Python versions. Wheel packages have **no dependencies**.
31
29
32
30
``pip`` may need to be updated to be able to install binary wheel packages - ``pip install -U pip``.
33
31
34
32
.. code-block:: shell
35
33
36
34
pip install ssh2-python
37
35
38
-
39
-
System packages are also available on the `latest release page <https://github.com/ParallelSSH/ssh2-python/releases/latest>`_ built on Centos/RedHat 6/7, Ubuntu 14.04/16.04, Debian 7/8 and Fedora 22/23/24.
40
-
41
-
System packages have *no dependencies* other than the ``libssh2`` system library.
42
-
43
36
`Conda <https://conda.io/miniconda.html>`_ is another installation option - see `documentation <http://ssh2-python.readthedocs.org/en/latest/>`_ for more detailed instructions.
44
37
38
+
For creating native system packages for Centos/RedHat, Ubuntu, Debian and Fedora, see `instructions in the documentation <http://ssh2-python.readthedocs.io/en/latest/installation.html#system-binary-packages>`_.
39
+
45
40
46
41
API Feature Set
47
42
________________
48
43
49
-
50
-
At this time all of the `libssh2`_ API has been implemented up to version ``1.8.0``.
44
+
At this time all of the `libssh2`_ API has been implemented up to version ``1.8.2``.
51
45
52
46
Complete example scripts for various operations can be found in the `examples directory`_.
53
47
54
48
In addition, as ``ssh2-python`` is a thin wrapper of ``libssh2`` with Python semantics, its code examples can be ported straight over to Python with only minimal changes.
55
49
50
+
56
51
Library Features
57
52
----------------
58
53
@@ -65,16 +60,16 @@ Extension features:
65
60
* Super fast as a consequence of the excellent C library it uses and prodigious use of native code
66
61
* Object oriented - memory freed automatically and safely as objects are garbage collected by Python
67
62
* Use Python semantics where applicable, such as context manager and iterator support for opening and reading from SFTP file handles
68
-
* Expose errors as Python exceptions where possible
63
+
* Raise errors as Python exceptions
69
64
* Provide access to ``libssh2`` error code definitions
70
65
71
66
72
67
Quick Start
73
68
_____________
74
69
75
-
Both byte and unicode strings are accepted as arguments and encoded appropriately. To change default encoding, ``utf-8``, change the value of ``ssh2.utils.ENCODING``. Channel output is always byte strings.
70
+
Both byte and unicode strings are accepted as arguments and encoded appropriately. To change default encoding, ``utf-8``, change the value of ``ssh2.utils.ENCODING``. Output is always in byte strings.
76
71
77
-
See `Complete Example`_ for a complete example including socket connect.
72
+
See `Complete Example`_ for an example including socket connect.
78
73
79
74
Please use either the issue tracker for reporting issues with code or the `mail group`_ for discussion and questions.
80
75
@@ -196,7 +191,7 @@ A simple usage example looks very similar to ``libssh2`` `usage examples <https:
196
191
197
192
See `examples directory <https://github.com/ParallelSSH/ssh2-python/tree/master/examples>`_ for more complete example scripts.
198
193
199
-
As mentioned, ``ssh2-python`` is intentially a thin wrapper over ``libssh2`` and directly maps most of its API.
194
+
As mentioned, ``ssh2-python`` is intentionally a thin wrapper over ``libssh2`` and directly maps most of its API.
200
195
201
196
Clients using this library can be much simpler to use than interfacing with the ``libssh2`` API directly.
Copy file name to clipboardExpand all lines: doc/installation.rst
+36-4Lines changed: 36 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,9 +35,9 @@ To use the built packages, install via the system's package manager, for example
35
35
36
36
.. note::
37
37
38
-
System packages use the system provided ``libssh2`` which may need to be updated to be compatible with ``ssh2-python``. ``libssh2`` ersions ``>= 1.6.0`` are compatible.
38
+
System packages use the system provided ``libssh2`` which may need to be updated to be compatible with ``ssh2-python``. ``libssh2`` versions ``>= 1.6.0`` are compatible.
39
39
40
-
To built an ``ssh2-python`` that is compatible with versions lower than ``1.6.0``, run the build with the ``EMBEDDED_LIB=0`` environment variable set. This will disable features that require ``libssh2`` >= ``1.6.0``.
40
+
To build an ``ssh2-python`` that is compatible with versions lower than ``1.6.0``, run the build with the ``EMBEDDED_LIB=0`` environment variable set. This will disable features that require ``libssh2`` >= ``1.6.0``.
41
41
42
42
Conda package
43
43
===============
@@ -55,10 +55,42 @@ Installation from Source
55
55
56
56
To install from source, ``libssh2`` and Python development headers are required.
57
57
58
+
Custom build
59
+
-------------
60
+
61
+
For best compatibility, it is recommended to use the ``libssh2`` submodule included in ``ssh2-python`` repository to build with.
The ``sudo ./ci/install-ssh2.sh`` line will install a version of ``libssh2`` under ``/usr/local`` that is the same version used to build binary wheels with and is ensured to be compatible.
72
+
73
+
If there are multiple development headers and/or libraries for ``libssh2`` on the system, the following can be used to set the include path, runtime and build library directories:
Building against system provided ``libssh2`` is another option which may be preferred.
87
+
88
+
If the ``libssh2`` version provided by the system is not compatible, run the build with the ``EMBEDDED_LIB=0`` environment variable set. This will disable features that require ``libssh2`` >= ``1.6.0``.
89
+
58
90
Clone the repository, install dependencies and run install in a new virtualenv from the repository's root directory.
0 commit comments