Skip to main content

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. To explore gopy

Code of Conduct

  1. Respect and give kudos to all the work that's come before.
    1. In particular, the Herculean efforts of gopy, paramiko and asyncssh.
    2. Please also be kind to all other open-source software projects you find.

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 offering solutions.

Usage

Install the library:

pip install ohpygossh

Import and use the library to perform SSH operations:

from ohpygossh.gohpygossh import Run, Upload, Download

# SSH connection parameters
#
# The remote hostname or IP address
ssh_server = "example.com"
# Your user account on the remote machine
ssh_user = "ubuntu"
# A PEM encoded private key file (like ~/.ssh/id_ed25519 )
private_key = "/path/to/private/key"

# Execute a command on a remote host
output = Run(ssh_server, ssh_user, private_key, "ls -la")

# Upload a file to the remote host
Upload(ssh_server, ssh_user, private_key, "/local/file.txt", "/remote/file.txt")

# Download a file from the remote host
Download(ssh_server, ssh_user, private_key, "/remote/file.txt", "/local/file.txt")

ssh_server may include a port, e.g. "example.com:2222" or "[2001:db8::1]:2222".

Security: host key verification

Run, Upload and Download verify the server's host key against ~/.ssh/known_hosts and the system-wide /etc/ssh/ssh_known_hosts, the same files OpenSSH uses. If the host is missing, or its key has changed, they raise an error instead of connecting. That error is your protection against man-in-the-middle attacks.

Upgrading from 0.8.x or earlier: older versions accepted any host key. Code that connects to hosts not in ~/.ssh/known_hosts now raises; add the hosts as described below.

To trust a host, add its key to known_hosts after confirming its fingerprint through a channel you already trust. For example, run ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub on the server's console, or check your cloud provider's console output. ssh-keyscan alone only records whatever key answers first (trust on first use), so compare its output with that fingerprint.

For other setups, pass a HostKeyPolicy to the *WithPolicy variants:

from ohpygossh.gohpygossh import (
    DownloadWithPolicy,
    HostKeyPolicy,
    RunWithPolicy,
    UploadWithPolicy,
)

# Use a known_hosts file of your own
policy = HostKeyPolicy(KnownHostsPath="/path/to/known_hosts")

# Or pin the fingerprint of the server's Ed25519 host key, as printed by
# `ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub` on the server
policy = HostKeyPolicy(Fingerprint="SHA256:...")

output = RunWithPolicy(ssh_server, ssh_user, private_key, "ls -la", policy)
UploadWithPolicy(
    ssh_server, ssh_user, private_key, "/local/a.txt", "/remote/a.txt", policy
)
DownloadWithPolicy(
    ssh_server, ssh_user, private_key, "/remote/a.txt", "/local/a.txt", policy
)

Set at most one of KnownHostsPath, Fingerprint and InsecureIgnoreHostKey.

HostKeyPolicy(InsecureIgnoreHostKey=True) turns verification off. Anyone able to intercept the connection can then read and alter everything you send and receive. Use it only for throwaway test machines.

Development

Development tasks are run with just, a cross-platform command runner. All targets work the same way on macOS and Linux; see the Justfile for the full list.

# One-time setup: installs Go, Python, gopy, poetry, pre-commit, etc. (via Homebrew)
just setup

# Run linters (golangci-lint, ruff, codespell, ...)
just lint

# Run the Go test suite
just test

# Build the Python wheel (produces dist/ohpygossh-*.whl)
just build

# Remove build artifacts and the virtual environment
just clean

just setup requires Homebrew to be installed first, since it's the one package manager available on both macOS and Linux.

Naming

This project has to think about naming in two different contexts:

  • The Python library, installed by end-users: ohpygossh.
  • The Golang package, also used in the pyproject.toml: gohpygossh.

Briefly:

# Install the library:
#   pip install ohpygossh

# Import functions and data structures
from ohpygossh.gohpygossh import ...

Reference

Based on:

Metadata

Release files for ohpygossh 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for ohpygossh 0.9.1
File Actions
ohpygossh-0.9.1-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details for ohpygossh-0.9.1-cp315-cp315-musllinux_1_2_aarch64.whl
ohpygossh-0.9.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for ohpygossh-0.9.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
ohpygossh-0.9.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for ohpygossh-0.9.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
ohpygossh-0.9.1-cp315-cp315-macosx_26_0_x86_64.whl CPython 3.15 CPython 3.15 macOS 26.0+ x86-64 Details for ohpygossh-0.9.1-cp315-cp315-macosx_26_0_x86_64.whl
ohpygossh-0.9.1-cp315-cp315-macosx_26_0_arm64.whl CPython 3.15 CPython 3.15 macOS 26.0+ ARM64 Details for ohpygossh-0.9.1-cp315-cp315-macosx_26_0_arm64.whl
ohpygossh-0.9.1-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details for ohpygossh-0.9.1-cp314-cp314-musllinux_1_2_aarch64.whl
ohpygossh-0.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for ohpygossh-0.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
ohpygossh-0.9.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for ohpygossh-0.9.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
ohpygossh-0.9.1-cp314-cp314-macosx_26_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 26.0+ x86-64 Details for ohpygossh-0.9.1-cp314-cp314-macosx_26_0_x86_64.whl
ohpygossh-0.9.1-cp314-cp314-macosx_26_0_arm64.whl CPython 3.14 CPython 3.14 macOS 26.0+ ARM64 Details for ohpygossh-0.9.1-cp314-cp314-macosx_26_0_arm64.whl
ohpygossh-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details for ohpygossh-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl
ohpygossh-0.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for ohpygossh-0.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
ohpygossh-0.9.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for ohpygossh-0.9.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
ohpygossh-0.9.1-cp313-cp313-macosx_26_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 26.0+ x86-64 Details for ohpygossh-0.9.1-cp313-cp313-macosx_26_0_x86_64.whl
ohpygossh-0.9.1-cp313-cp313-macosx_26_0_arm64.whl CPython 3.13 CPython 3.13 macOS 26.0+ ARM64 Details for ohpygossh-0.9.1-cp313-cp313-macosx_26_0_arm64.whl
ohpygossh-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details for ohpygossh-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl
ohpygossh-0.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for ohpygossh-0.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
ohpygossh-0.9.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for ohpygossh-0.9.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
ohpygossh-0.9.1-cp312-cp312-macosx_26_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 26.0+ x86-64 Details for ohpygossh-0.9.1-cp312-cp312-macosx_26_0_x86_64.whl
ohpygossh-0.9.1-cp312-cp312-macosx_26_0_arm64.whl CPython 3.12 CPython 3.12 macOS 26.0+ ARM64 Details for ohpygossh-0.9.1-cp312-cp312-macosx_26_0_arm64.whl
ohpygossh-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for ohpygossh-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl
ohpygossh-0.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for ohpygossh-0.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
ohpygossh-0.9.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for ohpygossh-0.9.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
ohpygossh-0.9.1-cp311-cp311-macosx_26_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 26.0+ x86-64 Details for ohpygossh-0.9.1-cp311-cp311-macosx_26_0_x86_64.whl
ohpygossh-0.9.1-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details for ohpygossh-0.9.1-cp311-cp311-macosx_26_0_arm64.whl

Total release size: 77.6 MB

Release files / ohpygossh-0.9.1-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL ohpygossh-0.9.1-cp315-cp315-musllinux_1_2_aarch64.whl
Size 3.7 MB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
0b0fa53bbc6e702434aefca572ee7eb0726f69839499327df4aa7daf94111363
BLAKE2b-256 checksum
How to use checksums
4bd683647b99d87283eab5d6cd247301993a25d1362fdf933a6388db2ec873d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ohpygossh-0.9.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.7 MB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a10f287a485b95addb12fa580e402bba82bc0f83ccae6aea359a622c736993cf
BLAKE2b-256 checksum
How to use checksums
9e25028574d7b88cf0e9fa4c41bdb7c6bdfd5e45f9abe5424bffd8c223b60613
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ohpygossh-0.9.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 4.0 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
dde07d085f150fbc7f291f7df56a115615a8432b48f30c33fad79b60c229f1db
BLAKE2b-256 checksum
How to use checksums
8c1cbea4e4eb384540a26c3aea645af942ff3a8284221d40fdf3e1fe35bc7f29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp315-cp315-macosx_26_0_x86_64.whl

Download URL ohpygossh-0.9.1-cp315-cp315-macosx_26_0_x86_64.whl
Size 2.1 MB
Tags CPython 3.15 macOS 26.0+ x86-64
SHA-256 checksum
How to use checksums
9e25a4df8f0a9ae1a16956652d304d8464b8bb79ae54958684969dbfa719e3b7
BLAKE2b-256 checksum
How to use checksums
cbc44f0898443d4609be64cc7db5c62eca0623ccf3a61efaa237178a551fc458
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp315-cp315-macosx_26_0_arm64.whl

Download URL ohpygossh-0.9.1-cp315-cp315-macosx_26_0_arm64.whl
Size 2.0 MB
Tags CPython 3.15 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
92eb38d89dd4746e2e5fdb750ef1887cdb47124b3db08adf1fd80dfd40abefd1
BLAKE2b-256 checksum
How to use checksums
8f113c7088644b1746f28899144eb2efb2b3807746fd909b96a2c61498edae28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL ohpygossh-0.9.1-cp314-cp314-musllinux_1_2_aarch64.whl
Size 3.7 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
e87c4f34d06c5c2af7dc1a3245d8edcc382b3acb1f4bdbb3510a67dc3b380938
BLAKE2b-256 checksum
How to use checksums
ca6fdbd6760d36b50c8e6ba8539d90a381b61a6947ab9597d53af6b05abc3203
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ohpygossh-0.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.7 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
eee597b557e6f99b251cf40b26642a81c4b59ce0137a5ec2f81b1a75a6b02540
BLAKE2b-256 checksum
How to use checksums
4d6bc4ff0ac94c2b6ccef6b0d26cc45816ac978af4e4a14c9ecad9d71dde31c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ohpygossh-0.9.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 4.0 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
3cd215d5c946ee2af7d1e65b41377d032a3e3c5f958207baad68b04fcabe2502
BLAKE2b-256 checksum
How to use checksums
f7b5eb639bdaac391da76a471504d4b7a2311b043a460276fa8995e2a3fc89fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp314-cp314-macosx_26_0_x86_64.whl

Download URL ohpygossh-0.9.1-cp314-cp314-macosx_26_0_x86_64.whl
Size 2.1 MB
Tags CPython 3.14 macOS 26.0+ x86-64
SHA-256 checksum
How to use checksums
746a27262f83366db7b95a3bfca032a82da1657aa6bb95adcb93d0f35b1cd03b
BLAKE2b-256 checksum
How to use checksums
fe9984e199e12ff54eea1c9788277762c74b173c28f9ef6fc3f5524e8e622310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp314-cp314-macosx_26_0_arm64.whl

Download URL ohpygossh-0.9.1-cp314-cp314-macosx_26_0_arm64.whl
Size 2.0 MB
Tags CPython 3.14 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
a64276ccde449bcf274dc505cd2c929e290675399b1d2cc1e7044e078a102b2c
BLAKE2b-256 checksum
How to use checksums
6945e5d1d407f3afe43f4880b66a6c0fd3e073ce0d6b0c612bfe0d6f7e7f69f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL ohpygossh-0.9.1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 3.7 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5ebb561797beb6e9cf294bd4e255c0c3a803947bfd282624a37625b809313f18
BLAKE2b-256 checksum
How to use checksums
56217c0f15c39d08667ee2c944e1f4e1fa400d989d3d2fa234a86515c7f90cf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ohpygossh-0.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.7 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c86584249dced5cc5462221f3f529bd217a3104517dc5a71ca47f9b30e326e2d
BLAKE2b-256 checksum
How to use checksums
a50f9e2597400b291bd6cf9221007af4b695fb826a27b4d73abd33cecf4301d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ohpygossh-0.9.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 4.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
68fc99f3eb2067067abdfe03f8d416724d7e97f774db959251bfc20cf166db10
BLAKE2b-256 checksum
How to use checksums
7a8e6ad0220522026770142de9a5f8e387f9efd3f634687fb151487990e11c50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp313-cp313-macosx_26_0_x86_64.whl

Download URL ohpygossh-0.9.1-cp313-cp313-macosx_26_0_x86_64.whl
Size 2.1 MB
Tags CPython 3.13 macOS 26.0+ x86-64
SHA-256 checksum
How to use checksums
36673d81b92a12270880345d0c9864414704691b84e782fe61fc431d3ce4ef89
BLAKE2b-256 checksum
How to use checksums
f501d2a0f0d2517af8af2f1fdab6ebb676d1ba583fc3566d8e63bdf6c5699a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp313-cp313-macosx_26_0_arm64.whl

Download URL ohpygossh-0.9.1-cp313-cp313-macosx_26_0_arm64.whl
Size 2.0 MB
Tags CPython 3.13 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
333a9a07375268bec3e26d427240ade5b6aaff5a49252e3968e5e936f770f653
BLAKE2b-256 checksum
How to use checksums
abb2c11b065e5f5ac234ea3879826d1684a35ac76355882d9672f22024f05ff9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL ohpygossh-0.9.1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 3.7 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
1196847b10fc3bf3729b76ead840a7a580fd5573eb421126f9805db6e79c9b88
BLAKE2b-256 checksum
How to use checksums
a02d7778a93680745e5a83fa1b2446c513edc18e66bbced30cf6ba1c708fde92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ohpygossh-0.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.7 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
87f62841cd94368432d9b4b8d4af945377cca168a305591d4f36109ed857bed0
BLAKE2b-256 checksum
How to use checksums
91c629b1aa56f20851d1f1aafd93db6a1b9f70ff0684cfb8a916af166305e5fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ohpygossh-0.9.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 4.0 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
00040e08a04bea5f55912a01362750c307d6fddf76c6261a61c7efaa0384d189
BLAKE2b-256 checksum
How to use checksums
7be94af5a6d0b735392e8d1bb9a7766e1620f24b30b16b37eb740082a16c9ff8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp312-cp312-macosx_26_0_x86_64.whl

Download URL ohpygossh-0.9.1-cp312-cp312-macosx_26_0_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 macOS 26.0+ x86-64
SHA-256 checksum
How to use checksums
0cf153e9088820ffa1f2bee4013cd5955a85d01adc33b2ea0c0632757837b7a3
BLAKE2b-256 checksum
How to use checksums
3cdb65e83d4ce8dcd3e297916fe07b185bd4f43498496ad723360ec159262ea3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp312-cp312-macosx_26_0_arm64.whl

Download URL ohpygossh-0.9.1-cp312-cp312-macosx_26_0_arm64.whl
Size 2.0 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
dc827962935fd2d42ad3157aed8ae40ef3b7955b805d6539ec37cfe14ba5192f
BLAKE2b-256 checksum
How to use checksums
9780ad0801602b11ec58e6053b56deed844ded45111c42610c1f92cb952766c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL ohpygossh-0.9.1-cp311-cp311-musllinux_1_2_aarch64.whl
Size 3.7 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
b4d565908e2134ec46726f3b67cce7a8ff2b3789193251c4212de29f7d1f911d
BLAKE2b-256 checksum
How to use checksums
72bea0c8992c05cd49aa4bcff8080d32cfd9be775276c07308297b57babcf1a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ohpygossh-0.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.7 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1010c393d62673ba0a89ab3337d51cd1870b686a78fc00aafbdd1458e58a05a0
BLAKE2b-256 checksum
How to use checksums
abb746d19534365dac876e2915e50cce5f79ccba2d801d641c3659dafec65a68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ohpygossh-0.9.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 4.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
afac317ebd4fef46ba0fcc13444f17ac12054846f0f902e7d3b534fc9031309d
BLAKE2b-256 checksum
How to use checksums
83223ecb9490c8c54d5dfe8cf206ed0e5031549796fd9246a85e07efff4eb005
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp311-cp311-macosx_26_0_x86_64.whl

Download URL ohpygossh-0.9.1-cp311-cp311-macosx_26_0_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 macOS 26.0+ x86-64
SHA-256 checksum
How to use checksums
6ba0f9a37b110be587f31be06a56e4b5b67ee8f26ba5212d9d85a617c2bc139e
BLAKE2b-256 checksum
How to use checksums
e1a1f1c97732104deceef0e2435c4826dfa4a02a938b8f28d874353f4f56d71e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / ohpygossh-0.9.1-cp311-cp311-macosx_26_0_arm64.whl

Download URL ohpygossh-0.9.1-cp311-cp311-macosx_26_0_arm64.whl
Size 2.0 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
d8692b9cf262da197dca2d9f71835d206109c9eb94185e0693c8946fa66df4ab
BLAKE2b-256 checksum
How to use checksums
e18affa2887fa9f55822a7c48dc13bd7520810d7e74710d5e3afc37b031454d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for ohpygossh 0.9.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 25 files in this release have been uploaded with provenance metadata.

Select from 25 files

Attestation for ohpygossh-0.9.1-cp315-cp315-musllinux_1_2_aarch64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page