PyPI

kind: pypi

source condition target

source

The PyPI "source" retrieves the latest version of a Python package from a PyPI-compatible registry matching a specific version filter. PEP 440 pre-release versions (alpha, beta, rc) are automatically normalized to semver for filtering.

condition

The PyPI "condition" tests that a specific version exists on a PyPI-compatible registry.

target

The PyPI "target" is not supported.

Parameter

Name Type Description Required
name string Name defines the PyPI package name.
token string Token defines the Bearer token for private registries.
url string URL defines the PyPI-compatible registry URL (defaults to https://pypi.org/).
version string Version defines a specific package version for condition checks.
versionfilter object VersionFilter provides parameters to specify version pattern and its type.
    kind string specifies the version kind such as semver, regex, or latest
    pattern string specifies the version pattern according the version kind for semver, it is a semver constraint for regex, it is a regex pattern for time, it is a date format
    regex string specifies the regex pattern, used for regex/semver and regex/time. Output of the first capture group will be used.
    replaceall object replaceAll applies a regex replacement to version strings before filtering. This is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction.
    strict boolean strict enforce strict versioning rule. Only used for semantic versioning at this time

Example

# updatecli.yaml
name: PyPI resource example
sources:
  requests:
    name: Get latest requests version from PyPI
    kind: pypi
    spec:
      name: requests
  flask:
    name: Get latest flask version matching >=3.0
    kind: pypi
    spec:
      name: flask
      versionfilter:
        kind: semver
        pattern: ">=3.0.0"
conditions:
  requests:
    name: Test that requests version 2.31.0 exists on PyPI
    kind: pypi
    disablesourceinput: true
    spec:
      name: requests
      version: 2.31.0
targets:
  # Targets are not supported
Top