Remove remaining legacy Python 2 code#599
Merged
eliben merged 6 commits intoeliben:mainfrom Feb 25, 2025
Merged
Conversation
eliben
reviewed
Feb 24, 2025
Owner
eliben
left a comment
There was a problem hiding this comment.
Thank you, very nice cleanup overall!
<https://docs.python.org/3/library/collections.html#ordereddict-objects>: > Ordered dictionaries are just like regular dictionaries but have some > extra capabilities relating to ordering operations. They have become > less important now that the built-in dict class gained the ability to > remember insertion order (this new behavior became guaranteed in > Python 3.7). Signed-off-by: Philipp Hahn <[email protected]>
`collections.abc.MutableMapping` already implements `keys()`, `update()`, `__eq__()`, `__ne__()` and `__contains__()` – most importantly correctly, e.g. `update()` has many variants which the current implementation does not handle. Signed-off-by: Philipp Hahn <[email protected]>
Remove the compatibility layer `py3compat`. PS: There is eliben#548 to migrate from the interned version of `construct` back to "Construct 2.10+" now that it is maintained again. When that happens, this change will become moot. Until then restore some sanity back into our copy as handling Python type annotations for both Python 2 and 3 is a major pain. Signed-off-by: Philipp Hahn <[email protected]>
Signed-off-by: Philipp Hahn <[email protected]>
The project is Python 3 only, so remove the legacy Python 2 compatibility. Signed-off-by: Philipp Hahn <[email protected]>
The function was used in only one place. Just use the much more efficient `bytes(list[int])` to convert from `list[int]` to `bytes`. Signed-off-by: Philipp Hahn <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pyelftoolsis Python 3 only, but the code still carries some Python 2 legacy code.printis a functionOrderedDictusedictwhich is also ordered since cPython 3.6 – it still has its uses for things like LRU-caching, but that is not the case herecolklections.MutableMappingpy3compatlayer from Construct – simplifies the code and future type hinting Add static typing #514