| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A GitHub Action that installs pdm properly for all Python versions
Nowadays the main reason to use this action is that actions/setup-python doesn't support caching for PDM out of the box while setup-pdm does.
Historically, this action made it easier to use PDM in repos where the Python version in use was older than the Python version required by PDM. PDM requires >=3.8 but works for projects using older versions.
Include the action in your workflow yaml:
steps:
- uses: actions/checkout@v4
- name: Setup PDM
uses: pdm-project/setup-pdm@v4
# You are now able to use PDM in your workflow
- name: Install dependencies
run: pdm installYou don't need actions/setup-python actually.
This action supports the following inputs:
| Input | Default | Description |
|---|---|---|
| python-version | Not specified | Version range or exact version of a Python version to use, using SemVer's version range syntax. |
| python-version-file | pyproject.toml | File containing the Python version to use. Example: .python-version |
| architecture | x64 | The target architecture (x86, x64) of the Python interpreter. |
| allow-python-prereleases | false | Allow prerelease versions of Python to be installed. |
| token | ${{ github.token }} | Used to pull python distributions from actions/python-versions. Since there's a default, this is typically not supplied by the user. |
| version | Not specified | The version of PDM to install, or 'head' to install from the main branch. |
| prerelease | false | Allow prerelease versions of PDM to be installed |
| enable-pep582 | false | Enable PEP 582 package loading globally. |
| cache | false | Cache PDM installation. |
| cache-dependency-path | pdm.lock | The dependency file(s) to cache. |
| update-python | true | Whether to update the environment with the requested Python |
This action also exposes the following outputs:
| Output | Description |
|---|---|
| python-version | The installed Python or PyPy version. Useful when given a version range as input. |
| python-path | The absolute path to the Python or PyPy executable. |
| pdm-version | The installed PDM version. |
| pdm-bin | The absolute path to the PDM executable. |
This action has a built-in cache support. You can use it like this:
- uses: pdm-project/setup-pdm@v3
with:
python-version: 3.9
cache: trueThe default path to calculate the cache key is ./pdm.lock, you can change it by setting the cache-dependency-path input.
Using a list of file paths to cache dependencies
- uses: pdm-project/setup-pdm@v3
with:
python-version: 3.9
cache: true
cache-dependency-path: |
./pdm.lock
./pdm.new.lockUsing a glob pattern to cache dependencies
- uses: pdm-project/setup-pdm@v3
with:
python-version: 3.9
cache: true
cache-dependency-path: '**/pdm.lock'| Back | FazBrowse Home | New Git URL |