Skip to content

Python Version Datasource

Table of values

Name Vaue Notes
Identifier python-version
Default versioning python
Custom registry support No
Release timestamp support No
Source URL support No

Description

This datasource returns Python releases from the python.org API.

It also fetches deprecated versions from the Endoflife Date datasource.

Because Renovate depends on containerbase/python-prebuild it will also fetch releases from the GitHub API.

Example custom manager

Below is a custom regex manager to update the Python versions in a Dockerfile. Python versions sometimes drop the dot that separate the major and minor number: so 3.11 becomes 311. The example below handles this case.

ARG PYTHON_VERSION=311
FROM image-python${PYTHON_VERSION}-builder:1.0.0
{
  "customManagers": [
    {
      "customType": "regex",
      "fileMatch": ["^Dockerfile$"],
      "matchStringsStrategy": "any",
      "matchStrings": [
        "ARG PYTHON_VERSION=\"?(?<currentValue>3(?<minor>\\d+))\"?\\s"
      ],
      "autoReplaceStringTemplate": "ARG PYTHON_VERSION={{{replace '\\.' '' newValue}}}\n",
      "currentValueTemplate": "3.{{{minor}}}",
      "datasourceTemplate": "python-version",
      "versioningTemplate": "python",
      "depNameTemplate": "python"
    }
  ]
}