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
sequinmodule and thessh_agent_clientpackage already are tightly coupled to thederivepassphrasepackage, insofar as their scope and functionality is solely dictated by thederivepassphrasepackage.sequinin 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
sequinandssh_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_clientis 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).