| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
The change mostly LGTM, but there is missing documentation in uuid.rst ("TODO" ;-)).
Sorry, something went wrong.
|
By the way, uuid8(a=None, b=None, c=None): I was surprised by the "generic" argument names (a, b, c), but RFC 9562 uses the same names (custom_a, custom_b, custom_c): https://www.rfc-editor.org/rfc/rfc9562.html#name-uuid-version-8 |
Sorry, something went wrong.
|
I had a little interrogation here. Should we use keyword-only parameters (if so, which names? with/without the custom_ prefix?)? I also wondered whether to keep custom_a or a but if people want to use keywords (without the parameters being keyword-only) the first one does not give more information so the short name is probably preferred to reduce the number of keystrokes... |
Sorry, something went wrong.
|
I'm fine with uuid8(a=None, b=None, c=None) API: short parameter names (not custom_ prefix) and allow passing arguments as positional arguments. |
Sorry, something went wrong.
| b = random.getrandbits(12) | ||
| if c is None: | ||
| import random | ||
| c = random.getrandbits(62) |
There was a problem hiding this comment.
Does it make sense / is it possible to reject values outside the expected value range? For example, reject negative numbers?
Maybe something like:
orig_a = a
a &= 0xffff_ffff_ffff
if a != orig_a: raise ValueError("...")
I don't know. Would it be consistent with other uuid functions?
Sorry, something went wrong.
There was a problem hiding this comment.
UUIDv1 does not reject them so I wouldn't worry too much about it. v3 and v5 are not based on integral inputs.
Sorry, something went wrong.
There was a problem hiding this comment.
I'm fine with having the same behavior than uuid1() in this case, since it's documented.
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM but I would prefer to have a second core dev to review the feature.
Sorry, something went wrong.
|
(What's New conflict resolved) |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks!
Sorry, something went wrong.
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
|
Thanks Hugo for the review! I've changed the docstrings in tests to regular comments to avoid cluttering the output in verbose mode and used .. versionadded:: next. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Simplest implementation of UUIDv8. Extensible implementation where hash functions can be used may be a follow-up PR / feature.
Entropy considerations can be discussed directly on the PR since the issue is becoming larger and larger (but we could also consider opening a separate issue to discuss the implementation more in details).
📚 Documentation preview 📚: https://cpython-previews--123224.org.readthedocs.build/