Merge branch 'extract-fakesshagent-sshagentsocketprovider-subprojects'
Marco Ricci

Marco Ricci commited on 2026-08-30 20:18:27
Zeige 0 geänderte Dateien mit 0 Einfügungen und 0 Löschungen.


This work-in-progress topic branch extracts the stubbed SSH agent from
the test suite into a separate Python package.  While currently specific
to the test suite, packaging it as a separate package will allow it to
evolve into a more featureful SSH agent in its own right, perhaps even
outside of Python-only usage.

At the moment, only the SSH agent socket provider API has been
extracted, which is a necessary first step to eliminate reverse
dependencies of the stubbed SSH agent on `derivepassphrase`.  Both
`derivepassphrase` and the future stubbed SSH agent package can then
depend on the API, instead of depending directly on each other.  The API
package contains three example socket providers, and an integration test
asserting that these three examples actually correctly register.

The `derivepassphrase` test suite currently also attempts to load the
stubbed SSH agent from the `fakesshagent` package (the intended name for
the extracted stubbed SSH agent package), and if successful, then it
deactivates its own versions in the test suite, aliasing the
`fakesshagent` versions for compatibility.

* extract-fakesshagent-sshagentsocketprovider-subprojects:
  Release 1.0 of the SSH agent socket API
  Add the SSH agent socket provider API to the documentation
  Build a full example SSH agent socket provider, and integration test it
  Apply usability fixes to the SSH agent socket provider API
  Adapt `derivepassphrase` to use `derivepassphrase-sshagentsocketprovider`
  Extract the SSH agent socket provider API to a separate PyPI package
  Fix project metadata errors
  Co-exist peacefully with the fakesshagent variant of the stubbed SSH agent
  Restructure testing data and testing machinery tests for better coverage