--- name: Setup PDM description: Set up a specific version of PDM and uses a given Python version to work on author: Frost Ming inputs: python-version: description: 'Version range or exact version of a Python version to use, using SemVer''s version range syntax.' python-version-file: description: 'File containing the Python version to use. Example: .python-version' architecture: description: 'The target architecture (x86, x64, arm64) of the Python interpreter.' required: false allow-python-prereleases: description: Allow prerelease versions of Python to be installed. default: 'false' required: false token: description: Used to pull python distributions from actions/python-versions. Since there's a default, this is typically not supplied by the user. default: ${{ github.token }} required: false version: description: The version of PDM to install, or 'head' to install from the main branch. required: false prerelease: description: Allow prerelease versions to be installed default: 'false' required: false enable-pep582: description: Enable PEP 582 package loading globally. default: 'false' required: false cache: description: Cache PDM installation. default: 'false' required: false cache-dependency-path: description: The dependency file(s) to cache. default: pdm.lock required: false cache-restore-exact-match: description: > Restore cache ONLY on exact match with the primary key. Note: Post-installation cache will still be saved if cache is 'true'. default: 'false' required: false update-python: description: Whether to update the environment with the requested Python default: 'true' outputs: python-version: description: The installed Python or PyPy version. Useful when given a version range as input. python-path: description: The absolute path to the Python or PyPy executable. pdm-version: description: The installed PDM version. pdm-bin: description: The absolute path to the PDM executable. cache-hit: description: Whether or not there was a cache hit. runs: using: node20 main: dist/setup-pdm.js post: dist/cache-save.js post-if: success() branding: icon: code color: green