-
Notifications
You must be signed in to change notification settings - Fork 2
Support Artifactory backend with Python 3.13 #537
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates Python version gating for the Artifactory backend from 3.13 to 3.14 and bumps the audbackend dependency to a version that supports Artifactory on Python 3.13, ensuring tests and repository logic align with the new support window. Sequence diagram for create_backend_interface backend selection with Python 3.13 supportsequenceDiagram
participant Repo as Repository
participant Sys as PythonRuntime
participant Reg as BackendRegistry
participant AudB as AudbackendInterface
Repo->>Sys: get version_info
Sys-->>Repo: (major, minor, micro)
alt Python_version>=3.14 and backend==artifactory
Repo-->>Repo: raise ValueError
else Python_version<3.14 or backend!=artifactory
Repo->>Reg: lookup backend in backend_registry
alt backend not registered
Repo-->>Repo: raise ValueError
else backend registered
Reg-->>Repo: interface type (subclass of Base)
Repo->>AudB: use returned interface type
AudB-->>Repo: backend interface type
end
end
Class diagram for Repository backend interface creation with updated Python gatingclassDiagram
class Repository {
+str backend
+dict backend_registry
+create_backend_interface() type
}
class Base {
}
class ArtifactoryBackendInterface {
}
class BackendRegistry {
+get_interface(backend_name str) type
}
class PythonRuntime {
+version_info tuple
}
Repository --> BackendRegistry : uses
BackendRegistry --> Base : returns_subclass_of
ArtifactoryBackendInterface --|> Base
Repository --> PythonRuntime : reads_version_info
class AudbackendPackage {
+version str >=2.2.3
+provides_artifactory_on_python_3_13 bool
}
AudbackendPackage ..> ArtifactoryBackendInterface : defines
Repository ..> AudbackendPackage : depends_on_version_constraint
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey - I've left some high level feedback:
- The Python version cutoff for Artifactory support (3.14) is hard-coded in multiple places (code and tests); consider centralizing this in a single constant to avoid discrepancies on future version changes.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The Python version cutoff for Artifactory support (3.14) is hard-coded in multiple places (code and tests); consider centralizing this in a single constant to avoid discrepancies on future version changes.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Closes #528
Makes sure we use the new capabilities of
audbackendfor Python 3.13 by depending onaudbackend[all] >=2.2.3and allow creation of Artifactory backend interface with Python 3.13Summary by Sourcery
Update Artifactory backend support and dependency versions to enable usage with Python 3.13 while keeping safeguards for unsupported Python versions.
New Features:
Enhancements:
Build:
Tests: