Add support for Python v3.13 and drop support for v3.9 #43
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 are a few code changes.
I can't find documentation for this, but Pylint says that
collections.abc.Callable
does not exist in Python 3.13. The only place we use this is inutil.getFunctionReference()
. I changed this to just use the Python 3 builtincallable()
instead, which seems to work fine.Python 3.13 now enforces that absolute paths on Windows must start with
\\
, and/
is no longer legal. To preserve the old behavior, I switched from usingos.path.isabs()
to(os.path.isabs() or posixpath.isabs())
, which should give us consistent behavior on all platforms. I can't just useposixpath.isabs()
because it doesn't treat real Windows paths as absolute. This is a fairly annoying change in Python's interface.