derivepassphrase
bug single-toplevel-module¶
Bug details: Move sequin
and ssh_agent_client
modules into derivepassphrase
package
Class | bug | This is clearly an actual problem we want fixed. |
---|---|---|
Present-in | 0.1.0 0.1.1 0.1.2 0.1.3 | |
Fixed-in | c4a57f311710768cb18df717a73fd48a8a3077fe (0.2.0) |
The current layout, using three top-level Python packages derivepassphrase
, sequin
and ssh_agent_client
, is error-prone:
- The
sequin
module and thessh_agent_client
package already are tightly coupled to thederivepassphrase
package, insofar as their scope and functionality is solely dictated by thederivepassphrase
package.sequin
in particular is very special purpose, and unlikely to be useful in contexts other than passphrase generation. - For 0.1.0 and 0.1.1, the Python wheels forgot to include
sequin
andssh_agent_client
, which led to broken installations. - Version info via the
__version__
attribute needs to be replicated across all three top-level packages. - At least
ssh_agent_client
is likely enough a module/package name that we may expect name collisions in the future.
Since the only argument I have for keeping the packages separate is decoupling and independent evolution, which I think is completely mitigated by the de facto coupling to the derivepassphrase
package anyway, I wish to integrate the sequin
module and the ssh_agent_client
package into the derivepassphrase
package in the long run (and perhaps consolidate both types
submodules).