Skip to content

A project to create a new cross-platform SSH wheel for Python.

Notifications You must be signed in to change notification settings

b-long/ohpygossh

Repository files navigation

ohpygossh

A project to create a new cross-platform SSH wheel for Python.

image

Goals

  1. An easy to install, multi-platform SSH wheel
  2. Personal learning about Go
  3. To explore gopy
  4. To explore Python packaging & compiling. What can we do with available open source tooling?
  5. To explore performance characteristics

Code of Conduct

  1. Respect and give kudos to all the work that's come before.
    1. In particular, the Herculian efforts of paramiko and asyncssh.
    2. Please also be very knid to all project dependencies

Play nicely

It is paramount that we all play nicely. To that end, please do your very best not to create churn or spur conversations that may upset other developers, and/or cause debate without offerinig solutions.

Build wheel

The following steps should produce a wheel, located at dist/ohpygossh-0.0.8-py3-none-any.whl

./make_and_validate_script.sh

Naming

This project has to think about components in two different contexts.

To distinguish the two, use the following names:

  • The Python module is imported as ohpygossh.
  • The Golang package is used as gohpygossh.

NOTE: Currently, the pyproject.toml in this project is named for the Golang package. This may need to change as the project matures.

As a Python user:

  • Install the library, with pip install ohpygossh
  • Import functions and data structures, with from ohpygossh.gohpygossh import ...

Reference

Based on: https://last9.io/blog/using-golang-package-in-python-using-gopy/

Learn Go:

TODO

  • Figure out if generaetd folder (ls -la ohpygossh/) should be kept in git.