Conversation
Tests for py 3.14 failed 🤔 |
Between Python 3.13 and Python 3.14: - glob._Globber was renamed to glob._GlobberBase - Support for passing keyword arguments to pathlib.Path has been removed Guard changes with Python 3.14 version check.
2cea534 to
ec64a43
Compare
|
It seems that many changes have been made to pathlib between Python 3.13 and 3.14 (python/cpython@f5ba74b), which seems to make the changes done in 32cdad0 irrelevant with Python 3.14, especially these lines: Lines 1898 to 1905 in 32cdad0 pathlib._abc.PathBase has been removed and kind of replaced by pathlib.types._ReadablePath, but I don't think _ReadablePath.glob() is a good replacement because it uses a hardcoded globber class _PathGlobber: https://github.com/python/cpython/blob/7cafd76a7fc6e52d93dd11e454a49c4dbebdf080/Lib/pathlib/types.py#L300-L314 The _globber attribute has been removed anyway in python/cpython@f5ba74b, which makes the following lines also irrelevant with Python 3.14: Lines 1599 to 1603 in 32cdad0 @allburov I'm not sure what's the best approach here, so maybe I'll leave this to you. |
|
Would love to see this fix reach artifactory-cleanup. :-) |
|
Related issue #492 |
|
Hello, We are also using this package for our artifactory tasks and currently affected. Can you please update when this will be merged and release? |
|
@Mrizwanshaik have you tested the PR for you case, does it work?
It is a problem 😆 I'm happy to review and merge PR but don't have much time to investigate the issue 😢 |
Issue: Our bot is trying to bump python container to 3.14 in github workflow and we use the
Yes I have tested the PR and it does work. |
|
@allburov any update on this PR to merge? |
|
As @Valentin-Sarthou mentioned, this PR needs more work. Tried it with the latest commit (Valentin-Sarthou@ec64a43) and failed when using Boiled it down to this repro: # /// script
# requires-python = "==3.14.*"
# dependencies = [
# "dohq-artifactory @ git+https://github.com/Valentin-Sarthou/artifactory.git@ec64a43",
# ]
# ///
import os
import sys
from artifactory import ArtifactoryPath
print(f"Python version: {sys.version}")
token = os.environ["ARTIFACTORY_TOKEN"]
arti_baseurl = "https://acme.com/artifactory/"
repo_name = "some-local-repo"
deployment_url = f"{arti_baseurl}/{repo_name}"
artifact_repo = ArtifactoryPath(deployment_url, apikey=token)
already_deployed = artifact_repo.glob("*")
print(f"Artifacts in repo {repo_name}:")
for idx, artifact in enumerate(already_deployed):
print(f"- {artifact.name}")Triggering the issue: ❯ uv run --script dohq-artifactory-3-14-issue.py --no-cache
Installed 9 packages in 92ms
Python version: 3.14.2 (main, Jan 14 2026, 19:31:25) [MSC v.1944 64 bit (AMD64)]
Traceback (most recent call last):
File "C:\dev\dohq-artifactory-3-14-issue.py", line 21, in <module>
already_deployed = artifact_repo.glob("*")
File "C:\Users\john\AppData\Local\uv\cache\environments-v2\dohq-artifactory-3-14-issue-e172a37c5810a5df\Lib\site-packages\artifactory.py", line 1910, in glob
return pathlib._abc.PathBase.glob(self, *args, **kwargs)
^^^^^^^^^^^^
AttributeError: module 'pathlib' has no attribute '_abc' |
|
|
Hello,
I encountered an error when trying to use this module with Python 3.14, and I tried to suggest the appropriate changes in this PR.