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.
Fixes #470.
Between Python 3.12 and Python 3.13, the internal structure of pathlib changed, causing the Artifactory URL parsing to fail.
pathlib.PurePath
previously had a private class attribute,_flavour
, which has now been renamed toparser
and made into a public and documented API.This renames
_flavour
toparser
in the ArtifactoryPath subclasses, but it leaves around a_flavour
class attribute that is aliased toparser
as a compatibility shim for older versions of Python.One other breakage between Python 3.12 and 3.13 is that the artifactory package attempted to import
posixpath
via thepathlib
package.posixpath
was never meant to be a publicly accessible attribute ofpathlib
, asposixpath
is its own top-level package in the standard library. Thepathlib
code was significantly restructured, causing theposixpath
module to no longer be accessible underpathlib
. We fix this in artifactory by directly importing the top-levelposixpath
package.Finally, this adds Python 3.13 to the package metadata in setup.py and the tox and GitHub Actions configuration files so that it is officially declared as a supported Python version and tested in CI.