Skip to content

Make SSH packages optional#19

Merged
Maxteabag merged 2 commits intomainfrom
ssh-optional-dependency
Dec 19, 2025
Merged

Make SSH packages optional#19
Maxteabag merged 2 commits intomainfrom
ssh-optional-dependency

Conversation

@Maxteabag
Copy link
Owner

-Move paramiko and sshtunnel from core dependecies to optional [ssh] extra.
-Users who run SSH tunneling can install with pip install sqlit-tui[ssh]
-Guided installation on SSH tab in connection modal.

macOs/windows will save 57% package size
Linux will save 22%

The larger savings on macOS/Windows come from dropping cryptography (4.5 MB), which is only needed by paramiko on those platforms (keyring uses native OS credential stores on macos/windows).

https://github.com/jaraco/keyring/blob/main/pyproject.toml

"SecretStorage>=3.2; sys_platform == 'linux'",
"jeepney>=0.4.2; sys_platform == 'linux'",

Will result in faster installs, especially for pipx installs. Majority of users wont use ssh tunneling

@Maxteabag Maxteabag merged commit d044523 into main Dec 19, 2025
18 checks passed
@Maxteabag Maxteabag deleted the ssh-optional-dependency branch December 19, 2025 20:48
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.

1 participant