Skip to content

fix: correct the pkcs11 extra and drop libnacl - #80

Open
shcheklein wants to merge 1 commit into
mainfrom
fix/asyncssh-extras
Open

shcheklein wants to merge 1 commit into
mainfrom
fix/asyncssh-extras

Conversation

@shcheklein

Copy link
Copy Markdown
Collaborator

Two of the extras that sshfs passes through to asyncssh don't exist in asyncssh:

  • pkcs11 = ["asyncssh[python-pkcs11]"]: asyncssh calls this extra pkcs11, so sshfs[pkcs11] has never installed python-pkcs11. This dates back to setup.cfg.
  • libnacl = ["asyncssh[libnacl]"]: asyncssh 2.23.0 removed libnacl support ("now that these are available in all supported versions of the cryptography package"), and with it the extra. On asyncssh 2.23+ (Python 3.10+), sshfs[libnacl] installs nothing.

This PR renames the first extra and removes the second. With the old extras, uv lock warns:

warning: The package `asyncssh==2.24.1` does not have an extra named `python-pkcs11`
warning: The package `asyncssh==2.24.1` does not have an extra named `libnacl`
warning: The package `asyncssh==2.21.1` does not have an extra named `python-pkcs11`

With this change, it resolves with no warnings and locks python-pkcs11 (0.9.4 on Python 3.9, 0.10.1 on 3.10+). The same warnings show up in every job of #79's uv-based test run.

Removing libnacl means pip install sshfs[libnacl] now prints a pip warning about an unknown extra instead of silently installing nothing. On Python 3.9, which is capped at asyncssh 2.21.1, it no longer installs libnacl. asyncssh 2.21 only used libnacl as a fallback when OpenSSL was too old.

🤖 Generated with Claude Code

asyncssh names its extra `pkcs11`, so `sshfs[pkcs11]` installed nothing.
asyncssh 2.23.0 removed libnacl support and its `libnacl` extra.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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