I think that
>>> hyperlink.URL(path=['%%%']).normalize()
URL.from_text('%%%')
ought to be giving me %25%25%25 ?
I haven't managed to dredge up a spec reference for this, but a % in the path without 2 hex digits after it seems like it ought to just be quoted.