https://github.com/nikhil-prabhu/russh
An SSH library for Python; written in Rust.
https://github.com/nikhil-prabhu/russh
maturin pyo3 pyo3-rust-bindings python python3 russh rust ssh
Last synced: about 1 month ago
JSON representation
An SSH library for Python; written in Rust.
- Host: GitHub
- URL: https://github.com/nikhil-prabhu/russh
- Owner: nikhil-prabhu
- License: mit
- Created: 2023-10-06T19:35:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-12T16:31:57.000Z (over 1 year ago)
- Last Synced: 2024-02-14T20:24:03.718Z (about 1 year ago)
- Topics: maturin, pyo3, pyo3-rust-bindings, python, python3, russh, rust, ssh
- Language: Rust
- Homepage: https://pypi.org/project/russh/
- Size: 91.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# russh

[](https://badge.fury.io/py/russh)
[](https://pypi.python.org/pypi/russh/)
[](https://pypi.python.org/pypi/ansicolortags/)
[](https://pypi.python.org/pypi/ansicolortags/)

An SSH library for Python; written in Rust.
## About
`russh` is an easy-to-use SSH library for Python, written in Rust using [PyO3](https://github.com/PyO3/pyo3).
This library aims to be as similar to [paramiko](https://pypi.org/project/paramiko/) as possible (for ease of use and familiarity), while also adding some opiniated features/improvements.
Currently, this library supports the SSHv2 protocol by leveraging `libssh2` (using the [ssh2](https://crates.io/crates/ssh2) crate).This library does not aim to replace paramiko, or any other Python SSH library. Rather, it's just a proof-of-concept to test the viability of a Python library written in Rust.
**NOTE 1**: This library is currently a work-in-progress, and should not be used in production scenarios.
**NOTE 2**: This library is not related to/affiliated with the [russh](https://crates.io/crates/russh) crate. The similarity in the names of both projects is purely coincidental.
## Features
- Supports the SSHv2 protocol.
- Supports SFTP.
- Supports Python 3.7 and above.
- Cross-platform (Windows, macOS and GNU/Linux).
- Simple and easy to use.
- Fast and memory-safe, thanks to the underlying Rust core.
- Extensible and well-documented.
- Stubs are included with proper type-annotations for all symbols.## Contributing
TODO