Skip to content

Fork fab-classic to support packaged saltfab#5

Merged
coleaeason merged 6 commits intomainfrom
cole/paramiko
Jan 22, 2026
Merged

Fork fab-classic to support packaged saltfab#5
coleaeason merged 6 commits intomainfrom
cole/paramiko

Conversation

@coleaeason
Copy link

@coleaeason coleaeason commented Jan 14, 2026

@rafecolton please review. This creates a slight fork from main of fab-classic so that we can publish a package to pyx.dev that has paramiko as the requirement in the wheel file. As discussed in slack, only pip supports the PARAMIKO_REPLACE os env variable available to try to set the metadata at install time. All other third party package managers (uv, pipx, poetry, etc) all pull the wheel's metadata if it's available instead of compiling the source package.

This PR allows us to implement ploxiln#98 for our own usage.

I tried to keep this change as minimal as possible:

  1. Change setup.py, even though I think it is technically not required.
  2. Add a pyproject.yml, with the settings copied from setup.py, and the only diff being the uv publishing settings and the paramiko requirement.
  3. Setup auto tagging and publishing in this repo, so that PRs will release a new version.

For tests, i configured the working branch of saltfab to use the published version in pyx, and it works great.

As explained in the code, we are setting paramiko as the dependency
instead of paramiko-ng with an optional replacement so that we can
build our own version of fab-classic for installation via uv.

uv, and all other third party package managers outside of PIP,
pull the wheel metadata file during installation even with the
--no-binary flag set, this means the REPLACE_PARAMIKO flag is not
respected or used, so we need to build a package that has the static
metadata set to paramiko instead of paramiko-ng.
This adds automated publishing and tagging of our forked version.
@coleaeason coleaeason requested a review from rafecolton January 14, 2026 20:50
@coleaeason coleaeason self-assigned this Jan 14, 2026
@coleaeason
Copy link
Author

@rafecolton please review when you have a moment

Copy link
Member

@rafecolton rafecolton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Please link to upstream issue once created 🙏

@coleaeason coleaeason merged commit ab0bb44 into main Jan 22, 2026
3 checks passed
@coleaeason coleaeason deleted the cole/paramiko branch January 22, 2026 14:37
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

Successfully merging this pull request may close these issues.

2 participants