https://git.schokokeks.org/derivepassphrase.git/tree/0dcc1a8c0b8b2ae2574d9d94ddba81fb203fe888Recent commits to derivepassphrase.git (0dcc1a8c0b8b2ae2574d9d94ddba81fb203fe888)2024-09-30T14:35:47+02:00tag:gitlist.org,2012:commit/0dcc1a8c0b8b2ae2574d9d94ddba81fb203fe888Add proper support for Buffer types in the SSH agent client2024-09-30T14:35:47+02:00Marco Riccisoftware@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/9e573fa48b3adf6a3bb23b30bf421e885a27f39bAdd explicit example in hypothesis test, for test coverage2024-09-30T10:40:45+02:00Marco Riccisoftware@the13thletter.info
<pre>The test coverage otherwise gets flaky.
</pre>
tag:gitlist.org,2012:commit/2f800b2a75841f37e5ffa2b7f50deaed3137cc10Overhaul the validation function for vault(1) configurations2024-09-30T10:25:58+02:00Marco Riccisoftware@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/f4ad50268204dc42eeb01e287a97eb1e9f8f599cMerge topic branch 'documentation-fixes' into master2024-09-29T23:58:09+02:00Marco Riccisoftware@the13thletter.info
<pre>* 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
</pre>
tag:gitlist.org,2012:commit/08b231a44fef63b84dc65cc6e0f3d7b3a72d4b3dAdd changelog entry for recent documentation fixes2024-09-29T23:57:51+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/3fe3634dc06a5339cfd939ba01062d4778f4f064Generate nicer documentation via `scoped_crossrefs`2024-09-29T23:27:27+02:00Marco Riccisoftware@the13thletter.info
<pre>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
</pre>
tag:gitlist.org,2012:commit/ecb6c996d3247ac8c99b20a24ac1174f8a8ae5aeConvert old syntax for Yields annotations to new syntax2024-09-29T23:21:09+02:00Marco Riccisoftware@the13thletter.info
<pre>[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
</pre>
tag:gitlist.org,2012:commit/7dbdf936ba20627aa4211f99d1d7e06ec9a5fd1cEnable cross-references on function signatures in documentation2024-09-29T23:17:02+02:00Marco Riccisoftware@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/1112627d6dd1f23dc066c1a723f5bfad01b31dabFix bad docstring reference to Python standard library2024-09-28T09:10:01+02:00Marco Riccisoftware@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/26249bcee644fc26eae214f29539cb539f32b879Reintegrate branch 'master' into documentation-fixes2024-09-27T22:33:03+02:00Marco Riccisoftware@the13thletter.info
<pre>* 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
</pre>