Recent commits to derivepassphrase.git (2f800b2a75841f37e5ffa2b7f50deaed3137cc10) https://git.schokokeks.org/derivepassphrase.git/tree/2f800b2a75841f37e5ffa2b7f50deaed3137cc10 Recent commits feed provided by GitList. 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 Convert old syntax for Yields annotations to new syntax [Griffe now handles non-multiple yields and returns similarly.] [YIELDS] There is thus no need for an empty argument name and type annotation. [YIELDS]: https://github.com/mkdocstrings/griffe/issues/263 https://git.schokokeks.org/derivepassphrase.git/commit/ecb6c996d3247ac8c99b20a24ac1174f8a8ae5ae software@the13thletter.info (Marco Ricci) Sun, 29 Sep 2024 23:21:09 +0200 ecb6c996d3247ac8c99b20a24ac1174f8a8ae5ae Enable cross-references on function signatures in documentation When enabling `signature_crossrefs`, some default values use enumeration values that we'd really like to have anchors for in the documentation. (This also seems sensible for typing-only classes.) We currently use an "attributes" table in the class docstring for this purpose; build on this by forcing MkDocs to render the respective class attribute too, via an empty "docstring" for the attribute. I considered enabling parameter headings, but these cannot be suppressed from the table of contents, and the table of contents then starts looking very cramped. https://git.schokokeks.org/derivepassphrase.git/commit/7dbdf936ba20627aa4211f99d1d7e06ec9a5fd1c software@the13thletter.info (Marco Ricci) Sun, 29 Sep 2024 23:17:02 +0200 7dbdf936ba20627aa4211f99d1d7e06ec9a5fd1c Fix bad docstring reference to Python standard library https://git.schokokeks.org/derivepassphrase.git/commit/1112627d6dd1f23dc066c1a723f5bfad01b31dab software@the13thletter.info (Marco Ricci) Sat, 28 Sep 2024 09:10:01 +0200 1112627d6dd1f23dc066c1a723f5bfad01b31dab Reintegrate branch 'master' into documentation-fixes * master: Fix outstanding formatting and linting issues Switch from towncrier to scriv for changelog management Add changelog entry for hypothesis use Add hypothesis-based tests (and bugfix) for the vault derivation scheme Set up the "hypothesis" testing library https://git.schokokeks.org/derivepassphrase.git/commit/26249bcee644fc26eae214f29539cb539f32b879 software@the13thletter.info (Marco Ricci) Fri, 27 Sep 2024 22:33:03 +0200 26249bcee644fc26eae214f29539cb539f32b879 Fix outstanding formatting and linting issues https://git.schokokeks.org/derivepassphrase.git/commit/e191a498aad1688bb448bc56dfbfcc0263ea9c67 software@the13thletter.info (Marco Ricci) Fri, 27 Sep 2024 22:18:46 +0200 e191a498aad1688bb448bc56dfbfcc0263ea9c67 Merge topic branch 'remove-towncrier' into master * t/remove-towncrier: Switch from towncrier to scriv for changelog management https://git.schokokeks.org/derivepassphrase.git/commit/2f7af29d2ffc775bbfeab54e0d197d972a5ebe1d software@the13thletter.info (Marco Ricci) Fri, 27 Sep 2024 22:15:41 +0200 2f7af29d2ffc775bbfeab54e0d197d972a5ebe1d