Class PythonVersionCatalog

java.lang.Object
io.jenkins.plugins.python.PythonVersionCatalog
All Implemented Interfaces:
Serializable

public final class PythonVersionCatalog extends Object implements Serializable
Loads, dynamically fetches, and caches the standalone Python version catalog. Supports air-gapped instances via local filesystem override and fallback to bundled catalog.
See Also:
  • Field Details

    • DEFAULT_REMOTE_URL

      public static final String DEFAULT_REMOTE_URL
      Self-updating catalog published by the scheduled "Update Version Catalog" workflow to the catalog branch, so new Python/uv versions appear without a plugin release.
      See Also:
  • Method Details

    • getInstance

      public static PythonVersionCatalog getInstance()
    • reload

      public void reload()
      Reloads the version catalog from local override, dynamic cache, or bundled resources.
    • getUvVersions

      public List<String> getUvVersions()
      Known Astral uv releases, newest first. May be empty for catalogs that predate uv version listing, in which case callers should only offer "latest".
    • getAvailableVersions

      public List<String> getAvailableVersions()
    • getRelease

      public PythonVersionCatalog.PythonRelease getRelease(String version)
    • getLatestVersion

      public String getLatestVersion()
    • resolveVersion

      public String resolveVersion(String versionSpec)
      Resolves exact version or prefix (e.g. "3.12" -> "3.12.15", "latest" -> latest stable).
    • getDownload

      public PythonVersionCatalog.PlatformDownload getDownload(String version, String platformKey)