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.
There were a lot of fossils in the code from the time we still had to support both py27 and py3x. Those days are long gone, so it's time for a major clean-up. The key points of this PR are:
keywordonly
decorator.sys.version_info >= (3, 0)
checks, since the answer is alwaysTrue
.Up for debate:
cached_property
since python 3.8. However, if I swap our implementation for this, pickling breaks in a way that is not that is not obvious to fix. So not sure yet if this is worth the effort. The problem is that now we simply check if the class dict contains entries starting with_cached
because those are, well, cached. But this no longer works with the built-in, so we would have to get smart, which is difficult.