Recent commits to derivepassphrase.git (d85d25eaa422dbbd6b4c5798c6fcec0aac5413e6) https://git.schokokeks.org/derivepassphrase.git/tree/d85d25eaa422dbbd6b4c5798c6fcec0aac5413e6 Recent commits feed provided by GitList. Add hypothesis-based tests for SSH wire format serialization https://git.schokokeks.org/derivepassphrase.git/commit/d85d25eaa422dbbd6b4c5798c6fcec0aac5413e6 software@the13thletter.info (Marco Ricci) Mon, 30 Sep 2024 15:41:53 +0200 d85d25eaa422dbbd6b4c5798c6fcec0aac5413e6 Merge topic branch 'typing-fixes' into master * t/typing-fixes: Add changelog entries for Buffer support and documentation fix Fix bad documentation for SSHAgentClient.request return value Add proper support for Buffer types in the SSH agent client Add explicit example in hypothesis test, for test coverage Overhaul the validation function for vault(1) configurations https://git.schokokeks.org/derivepassphrase.git/commit/0065c6f5679b86d514a09306b3b76d31a4f39168 software@the13thletter.info (Marco Ricci) Mon, 30 Sep 2024 15:18:53 +0200 0065c6f5679b86d514a09306b3b76d31a4f39168 Add changelog entries for Buffer support and documentation fix https://git.schokokeks.org/derivepassphrase.git/commit/320cc9a7f1ff7097b812adcf9c76d6a0ebb48dfe software@the13thletter.info (Marco Ricci) Mon, 30 Sep 2024 15:18:00 +0200 320cc9a7f1ff7097b812adcf9c76d6a0ebb48dfe Fix bad documentation for SSHAgentClient.request return value https://git.schokokeks.org/derivepassphrase.git/commit/005bd61e75457254319a3136ccc5365100258258 software@the13thletter.info (Marco Ricci) Mon, 30 Sep 2024 15:03:05 +0200 005bd61e75457254319a3136ccc5365100258258 Add proper support for Buffer types in the SSH agent client As of Python 3.12, any custom Python class can declare support for the buffer protocol. So instead of special-casing `bytes` and `bytearray`, and ignoring all other types, support arbitrary classes with buffer protocol support. Furthermore, explicitly return bytes objects (i.e., read-only copies) of all involved byte strings, because the buffer protocol ensures that copies are relatively cheap. https://git.schokokeks.org/derivepassphrase.git/commit/0dcc1a8c0b8b2ae2574d9d94ddba81fb203fe888 software@the13thletter.info (Marco Ricci) Mon, 30 Sep 2024 14:35:47 +0200 0dcc1a8c0b8b2ae2574d9d94ddba81fb203fe888 Add explicit example in hypothesis test, for test coverage The test coverage otherwise gets flaky. https://git.schokokeks.org/derivepassphrase.git/commit/9e573fa48b3adf6a3bb23b30bf421e885a27f39b software@the13thletter.info (Marco Ricci) Mon, 30 Sep 2024 10:40:45 +0200 9e573fa48b3adf6a3bb23b30bf421e885a27f39b Overhaul the validation function for vault(1) configurations Rewrite `derivepassphrase._types.is_vault_config` into a proper, validation function `validate_vault_config` that throws errors, and optionally disallows extension or unknown settings. The old `is_vault_config` function is then implemented in terms of the new function. Use this opportunity to change the return annotation to `typing_extensions.TypeIs`, because that is what was semantically intended anyway. Naturally, throwing actual errors instead of returning `False` means that the error handling gets bulkier and more fine-grained. Which in turn means that extra tests are necessary to stay at high test coverage levels. https://git.schokokeks.org/derivepassphrase.git/commit/2f800b2a75841f37e5ffa2b7f50deaed3137cc10 software@the13thletter.info (Marco Ricci) Mon, 30 Sep 2024 10:25:58 +0200 2f800b2a75841f37e5ffa2b7f50deaed3137cc10 Merge topic branch 'documentation-fixes' into master * t/documentation-fixes: Add changelog entry for recent documentation fixes Generate nicer documentation via `scoped_crossrefs` Convert old syntax for Yields annotations to new syntax Enable cross-references on function signatures in documentation Fix bad docstring reference to Python standard library Rename reference documentation pages as per the Python standard library convention Update all URLs to stable and "less legally risky" versions, if possible Demonstrate config storing and SSH agent use in README Include explanation for virtual environments and package extras in README Fix miscellaneous small docstring issues https://git.schokokeks.org/derivepassphrase.git/commit/f4ad50268204dc42eeb01e287a97eb1e9f8f599c software@the13thletter.info (Marco Ricci) Sun, 29 Sep 2024 23:58:09 +0200 f4ad50268204dc42eeb01e287a97eb1e9f8f599c Add changelog entry for recent documentation fixes https://git.schokokeks.org/derivepassphrase.git/commit/08b231a44fef63b84dc65cc6e0f3d7b3a72d4b3d software@the13thletter.info (Marco Ricci) Sun, 29 Sep 2024 23:57:51 +0200 08b231a44fef63b84dc65cc6e0f3d7b3a72d4b3d Generate nicer documentation via `scoped_crossrefs` Now that (some) versions of `mkdocstrings-python` have support for [scoped crossreferences] [SCOPED], references to documented objects can be named like they would be in code. This leads to (Markdown) docstrings that are much more readable in source form than when having to type or re-type the fully qualified identifier name. [SCOPED]: https://github.com/mkdocstrings/python/issues/166 https://git.schokokeks.org/derivepassphrase.git/commit/3fe3634dc06a5339cfd939ba01062d4778f4f064 software@the13thletter.info (Marco Ricci) Sun, 29 Sep 2024 23:27:27 +0200 3fe3634dc06a5339cfd939ba01062d4778f4f064