Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ParallelSSH governance and next steps #386

Open
enkore opened this issue Nov 16, 2023 · 20 comments
Open

ParallelSSH governance and next steps #386

enkore opened this issue Nov 16, 2023 · 20 comments
Assignees

Comments

@enkore
Copy link
Member

enkore commented Nov 16, 2023

The current situation

  • It unfortunately looks like @pkittenis is incommunicado since late 2022.
  • I am an GitHub org member, but don't have admin access
    • Therefore nothing can be merged into master (a protected branch)
  • Only Panos has permissions on the PyPI packages
    • No releases can be made to PyPI

What has been done so far

  • I've tried contacting Panos on every email address I could find (seven different ones).
    • Unfortunately no response so far (hope he is alright)
  • I squatted @parallel-ssh on GitHub in case we need to migrate to a new GH org
  • I applied for a parallel-ssh org on PyPI which is pending as of this writing
  • I created next branches in some of the repositories which can be used as a staging branch in the mean time

Next steps

  • GitHub has no process for this if the owners of an org didn't make preparations
  • PyPI has a process (PEP 541), which takes at least a few months. The upside here is that usually it's more or less "random" people trying to do this process, here we might have a bit of a headstart since I'm an org member

The main motivator for getting this unstuck is that the base packages (ssh-python and ssh2-python) need new releases to cope with Python 3.12 breakage.

CC @JacobCallahan @pletnes @pbrezina @McTonderski @ogajduse @Gauravtalreja1 @omkarkhatavkar

@enkore enkore self-assigned this Nov 16, 2023
@enkore enkore changed the title ParallelSSH gGovernance and next steps ParallelSSH governance and next steps Nov 16, 2023
@JacobCallahan
Copy link

@enkore Thanks for leading this effort. It's unfortunate that we're in this position, but it does seem like we have some potential people willing to keep things going.

I think one thing that will definitely help with this in the future is documenting update processes and modernizing the build/release systems.

Luckily, Python's API is typically pretty stable and we're now at a 1 year Y-stream release cadence, so maintaining these packages shouldn't require a lot of time.

@enkore
Copy link
Member Author

enkore commented Nov 16, 2023

Pinging some downstream packages (according to github) to make them aware of this. Please excuse the noise if I included false positives in here.

https://github.com/persimmon-ai-labs/adept-inference @mtensor
https://github.com/marsupialtail/quokka @marsupialtail
https://github.com/BaguaSys/bagua @NOBLES5E
https://github.com/thelastpickle/cassandra-medusa @adejanovski @rzvoncek
https://github.com/scylladb/scylla-cluster-tests @fruch
https://github.com/nocproject/noc @aversant
https://github.com/carlmontanari/scrapli @carlmontanari

@fruch
Copy link

fruch commented Nov 16, 2023

Thanks for the heads up

We are blocked on python 3.12 for our own libraries as well, so it would take a while till we'll be hitting this.

@enkore enkore pinned this issue Nov 16, 2023
@enkore
Copy link
Member Author

enkore commented Nov 17, 2023

PyPI has a process (PEP 541), which takes at least a few months. The upside here is that usually it's more or less "random" people trying to do this process, here we might have a bit of a headstart since I'm an org member

I've prepared an application for this and will submit it once the eligibility date (2023-12-03) passes (unless we hear back from Panos of course).

@rzvoncek
Copy link

Hello and thanks for reaching out! We're not blocked by this right now, but we're very happy you're looking into this nonetheless!

@pletnes
Copy link

pletnes commented Nov 20, 2023

We're running 3.10 instead of 3.11 because of this, but it's not really an issue for us, for now. But python versions EOL much faster these days so it's a good idea to get started.

@JacobCallahan
Copy link

@enkore I took a look through the issues you filed in this project and there are a number of things that need to be done to get this back in shape. I'm more than willing to jump in an take on a good amount of this, but coordination is a bit cumbersome via github alone.

If you'd like, we may be able to setup some kind of community video call with anyone interested in participating or just observing. If so, I can host a google meet.

@pkittenis
Copy link
Member

I'll take a look at releasing updates packages soon.

@pkittenis pkittenis unpinned this issue Nov 29, 2023
@JacobCallahan
Copy link

@pkittenis Are you able to give us an update on the new releases? If this is something you need help with, we're here!

@McTonderski
Copy link

Hey @pkittenis Do you need any help with new release ? Let us know!

@JacobCallahan
Copy link

@enkore We may be in the same situation since there has been no activity.

@pbrezina
Copy link

@pkittenis @enkore Bump. Is there any progress on the release?

@enkore enkore reopened this Mar 17, 2024
@ulidtko
Copy link

ulidtko commented Apr 11, 2024

@pkittenis ping

@ulidtko
Copy link

ulidtko commented Apr 11, 2024

had better UX with pip install fabric https://docs.fabfile.org — has a CLI, and loads ~/.ssh/config out of the box

@JacobCallahan
Copy link

@ulidtko Since this has largely died in this organization @enkore has created a successor org over at https://github.com/parallel-ssh/ that we hope will keep these projects going in the longer term.
If you just need ssh2-python for python 3.12, then I published my fork to pypi as the ugly-named ssh2-python312.

I've also started a side project (excuse to use Rust) that may do most of what you want (but no built-in ssh config functionality (yet?)): https://github.com/JacobCallahan/Hussh/

@rzvoncek
Copy link

rzvoncek commented Dec 19, 2024 via email

@ulidtko
Copy link

ulidtko commented Dec 20, 2024

Meanwhile, in a similarly large community not so far away... 😁 @JacobCallahan @enkore

screenshot+meme


Is there any advice you could perhaps give me?

@rzvoncek from the PoV of library user like you, there aren't really "dependency management tricks" to work around a dead library. But since you asked for advice...

My personal choice is boycotting Py3.12 (for several reasons, let's not get into that here), simply not updating to it yet — and I can continue doing so until October next year.

If you still want Py3.12, the choices I'd consider are:

  • Migrate off the library. Find a replacement library, or write your own — then rewrite the code on your side that uses parallel-ssh functionality, to use something else. Then drop dependency on parallel-ssh. This thread shows why.
  • Wade through the forks of parallel-ssh trying to find an API-compatible replacement, that is well-maintained. Then tell poetry to use that one instead of parallel-ssh; if such a replacement exists, that'll be the only change you'll need to make.

Another option would be to join @enkore in trying to revive this lib (then once PEP 541 completes, fix it for Py3.12, publish a release, upgrade to it) — but I'm not sure anyone can be helpful with this really, stuff like this is much easier to handle solo.

@JacobCallahan
Copy link

@rzvoncek @ulidtko The current state of my fork is that 3.12 support exists for ssh2-python (currently published to pypi as ssh2-python312). In my little free time, I've been trying to move it to a more easily maintainable state and get it to build for 3.13, but am running into significant issues across all major platforms.

JacobCallahan/ssh2-python#5

I'm hoping that if we can get that PR fully passing, then we can start getting this project back on track. I will get back in contact with @enkore and raise a PR bringing my fork's changes back into the new Parallel-SSH organization. He will hopefully be able to use most of the same logic implemented for the build/release actions as are in mine.


@rzvoncek I'm curious what functionality you used from parallel-ssh. Because of this whole situation, I started a separate project that I can maintain much easier (with much better build tooling).

@pbrezina
Copy link

For the record, I added some patches to pylibssh and switch to it in pytest-mh, see the code: https://github.com/next-actions/pytest-mh/blob/master/pytest_mh/conn/ssh.py

@enkore
Copy link
Member Author

enkore commented Dec 21, 2024

fwiw I've been pulled from the work project that heavily relies on ssh-python and I doubt anyone else there is going to pick this up. I'm of course totally open to add/transfer ownership of that replacement org, if anyone is interested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants