Skip to content

pdm

Modern Python package and dependency manager supporting the latest PEP standards

PDM is meant to be a next generation Python package management tool. It was originally built for personal use. If you feel you are going well with Pipenv or Poetry and don't want to introduce another package manager, just stick to it. But if you are missing something that is not present in those tools, you can probably find some goodness in pdm.

Highlights of features:

  • Simple and fast dependency resolver, mainly for large binary distributions.
  • A PEP 517 build backend.
  • PEP 621 project metadata.
  • Flexible and powerful plug-in system.
  • Versatile user scripts.
  • Opt-in centralized installation cache like pnpm.

dev

https://pdm.fming.dev/

amd64

Installation

1. Add WakeMeOps repository

curl -sSL https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository | sudo bash

2. Install pdm

sudo apt install pdm

Snippets

FROM wakemeops/minideb:bullseye

RUN install_packages \
    pdm=2.19.2*

USER 1001
- name: Install dependencies
  uses: upciti/wakemeops-action@v1
  with:
    packages: |
      pdm=2.19.2*

Download URLs

Version SHA256 Size (KB)
2.19.2 aa28dff42c2f2c4911e02d982f69ce9a26e5e56fc55b16af022a6e421c978d08 30489
2.19.1 deb5add5fb6f8eec391f986898c64479e4b2cbc75cf4e97342c5b6d9ab69f3a1 30489
2.19.0 bcb6d6a44dae571a994ecb76287c4e819ac57bd6558f7cff78bb75f733100011 30488
2.18.2 5a73390838ae7e11788d6ff8645f9c3dd1d5e90ca7c26e43ab930ff6af81ddec 30475
2.18.1 2e367173dff11df766d86693102b99ebd5524754cbab1deefb76c6274f5ba2d7 30473
2.18.0 43a38481f6ea91fccdf63f744bcea839ed3ce1a016ca34b09bc00f290053ee01 30442
2.17.3 0da8a100600fd8b1563f95a87ee19f5d018ac1a4d9894947a94514ac6aacb9ea 30446
2.17.2 13099d2e77543c78ee26f0451e5c32e8073bbf187673bdced7fbf03120529a4f 30441
2.17.1 ddca2f1f00b0b3d81581b178ae7ab8bfbd310998b7ecabfdeab972f6e0440b7c 30447
2.17.0 fd9022e9aee9a6a8d178cc04b4fbcd1b8c3165e0cc1d72adc456fc25dd22b4d8 30446

Blueprints

Debian packages listed on this page are generated from op2deb YAML blueprints. Blueprints for pdm are versioned here.

Click here to see pdm ops2deb blueprints
https://github.com/upciti/wakemeops/blob/main/blueprints/dev/pdm/ops2deb.yml
name: pdm
matrix:
  versions:
    - 2.8.2
    - 2.9.3
    - 2.10.4
    - 2.11.0
    - 2.11.1
    - 2.11.2
    - 2.12.0
    - 2.12.1
    - 2.12.2
    - 2.12.3
    - 2.12.4
    - 2.13.0
    - 2.13.1
    - 2.13.2
    - 2.13.3
    - 2.14.0
    - 2.15.0
    - 2.15.1
    - 2.15.2
    - 2.15.3
    - 2.15.4
    - 2.16.0
    - 2.16.1
    - 2.17.0
    - 2.17.1
    - 2.17.2
    - 2.17.3
    - 2.18.0
    - 2.18.1
    - 2.18.2
    - 2.19.0
    - 2.19.1
    - 2.19.2
homepage: https://pdm.fming.dev/
summary: modern Python package and dependency manager supporting the latest PEP standards
description: |-
  PDM is meant to be a next generation Python package management tool. It was
  originally built for personal use. If you feel you are going well with Pipenv
  or Poetry and don't want to introduce another package manager, just stick to
  it. But if you are missing something that is not present in those tools, you
  can probably find some goodness in pdm.

  Highlights of features:

  * Simple and fast dependency resolver, mainly for large binary distributions.
  * A PEP 517 build backend.
  * PEP 621 project metadata.
  * Flexible and powerful plug-in system.
  * Versatile user scripts.
  * Opt-in centralized installation cache like pnpm.
depends:
  - python3.11-build-standalone
fetch: https://github.com/pdm-project/pdm/archive/refs/tags/{{version}}.tar.gz
install:
  - content: |-
      #!/usr/lib/pdm/bin/python3
      import os
      import sys
      from pdm.core import main
      if __name__ == '__main__':
          sys.exit(main())
    path: /usr/bin/pdm
  - content: |-
      #!/bin/sh
      set -e
      find /usr/lib/pdm -name '*.py' -exec /usr/lib/pdm/bin/python3 -m py_compile {} +
    path: debian/postinst
  - content: |-
      #!/bin/sh
      set -e
      find /usr/lib/pdm -name '__pycache__' -exec rm -r {} +
    path: debian/prerm
script:
  - install_packages python3.11-build-standalone
  - |-
    # install bootstrap pdm
    /usr/lib/python-build-standalone/3.11/bin/python3 -m venv bootstrap
    . bootstrap/bin/activate
    pip install pdm=={{version}}
  - |-
    # install pdm with pdm own pdm.lock
    /usr/lib/python-build-standalone/3.11/bin/python3 -m venv pdm-{{version}}/.venv
    sed -i 's/dynamic = \["version"\]/version = "{{version}}"/' pdm-{{version}}/pyproject.toml
    bootstrap/bin/pdm install -p pdm-{{version}} --no-editable
    mv pdm-{{version}}/.venv {{src}}/usr/lib/pdm

The blueprint fetch keyword contains a URL template pointing to pdm releases. Downloaded files are locked in a lockfile versioned here.

Click here to see pdm release hashes
https://github.com/upciti/wakemeops/blob/main/blueprints/dev/pdm/ops2deb.lock.yml
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.10.4.tar.gz
  sha256: 47f4b645720331f6ff58782f5ffbfcac0aa4e767dfecb2f13c223a0cf33f4428
  timestamp: 2023-12-20 09:27:43+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.11.0.tar.gz
  sha256: 7e130af250861f6d957c107da8aa71c56b488ef0cbf90193e0607237ca9f2230
  timestamp: 2023-12-20 09:27:43+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.11.1.tar.gz
  sha256: 6ca33033d892cd19ac774c4f4daeeb109da4ecdcd2e0cd98b36a9cd0cfd75fec
  timestamp: 2023-12-20 09:27:43+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.8.2.tar.gz
  sha256: c10b6d28591fbd060cdb813098739e8272be480710338e980a27ec8827d6af28
  timestamp: 2023-12-20 09:27:43+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.9.3.tar.gz
  sha256: 8e19d537f780c067e8291ef563429426b9527212580a7395ed12870b1e1d2fe1
  timestamp: 2023-12-20 09:27:43+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.11.2.tar.gz
  sha256: 08c7a1e8a818da6283a8faa5fe9367e9e5a95affc5d0d894dff6128b8fe7781e
  timestamp: 2024-01-02 09:17:10+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.12.0.tar.gz
  sha256: 74f448ededc0cc71d23088fc476f3d2c5346d13d0bfb73a235b5a6e22711db7a
  timestamp: 2024-01-17 03:19:25+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.12.1.tar.gz
  sha256: 2601f9e35b6e3143dafee767dbf56f00b6d31b2d2368c3d1c17d5de2d7fa7083
  timestamp: 2024-01-17 06:22:52+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.12.2.tar.gz
  sha256: dab466b46d95d2c2a544471dd7feda30c086acd8a43168bc40a1e6a03ec88517
  timestamp: 2024-01-21 01:23:25+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.12.3.tar.gz
  sha256: 95994b39db1666afefe2c95d47ddc264e2abaa57cb32bca90e5455a565c93a59
  timestamp: 2024-02-04 15:05:42+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.12.4.tar.gz
  sha256: 3d1c27fed3bce2dd56c3baabdbe8b7c5e4622cff0a3390af930ad1e1750b46b1
  timestamp: 2024-02-26 03:06:15+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.13.0.tar.gz
  sha256: ebf320d79ab73292924ecdbcf3f153e3b2d755f4134fe641e386e81e1d652583
  timestamp: 2024-03-27 06:06:30+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.13.1.tar.gz
  sha256: 7597e24d7e896f1a92aa479d5b12b333b5a68b492663e42f17adb09f4de50cad
  timestamp: 2024-03-29 12:08:21+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.13.2.tar.gz
  sha256: 2615bc2def05111059af191f9c63d4853addcdebf9e0b44885869cd47b446222
  timestamp: 2024-03-30 12:06:58+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.13.3.tar.gz
  sha256: fef20178ae809c36379464946e97f069b83ce41997bf43edee34141acdf18468
  timestamp: 2024-04-08 12:08:11+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.14.0.tar.gz
  sha256: 7d82b6f3f451362696962851721f47c58074491895fd1a84eda3ff528e159641
  timestamp: 2024-04-12 09:06:06+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.15.0.tar.gz
  sha256: ee4c58980fa0ebf7433201b4248ccaf891aa07ca5b29a1f26a4bd83afb33e6b4
  timestamp: 2024-04-19 12:08:20+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.15.1.tar.gz
  sha256: bdf5a0754bfce5936dc66cb692015d12da03eaecc43bd58818da0ca461892d5b
  timestamp: 2024-04-25 03:06:22+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.15.2.tar.gz
  sha256: 6c2fb315bb7aab18d9f63c428ea7bfef1276b56149d50e488fa729e9cd8a63c8
  timestamp: 2024-05-08 09:06:10+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.15.3.tar.gz
  sha256: 3c333e25cf1d2d4f1302a12fe53d0844053a51f49245b11ed2ae9c2f9e48661e
  timestamp: 2024-05-20 12:10:04+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.15.4.tar.gz
  sha256: 6e2fa5488b8750e5269886c2619ec1f804a522675fabef4b15db703a46c9b065
  timestamp: 2024-06-02 18:07:29+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.16.0.tar.gz
  sha256: 2e845e7281b4d8c49bf6e29ea93cd54b6c72b006ae8cc92f06be12792319d3b6
  timestamp: 2024-06-25 09:05:57+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.16.1.tar.gz
  sha256: 5c0ce0e6da1f7b0d45437022924dd160c01cd5b83fde58878b555ca3ccb62bca
  timestamp: 2024-06-26 06:07:46+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.17.0.tar.gz
  sha256: a5b67cc04e4a97bc3e214645116011cafe076319abb2a48603224af617e36b61
  timestamp: 2024-07-18 12:09:42+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.17.1.tar.gz
  sha256: 37c6c65f551a5e3f888bf9cb64df9846a9940d2a332a558b70791cc913739e5e
  timestamp: 2024-07-19 09:05:50+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.17.2.tar.gz
  sha256: 8be3ea47c263a66983e7f03550a0f5f2af9eaa35826d528a8a743df65cffad9a
  timestamp: 2024-07-31 15:05:45+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.17.3.tar.gz
  sha256: de40bafff5b6035fc9e1668424f6fa4ca0226cfea3e1face4d57410ffc7082fb
  timestamp: 2024-08-01 15:05:57+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.18.0.tar.gz
  sha256: 177155356288572f372d781c41e76136fe35895b6488bd1207ed4e8a69dc17f7
  timestamp: 2024-08-14 03:07:20+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.18.1.tar.gz
  sha256: 0aa1395f499552727627112d5ffb8b8d6352764fdd1d3e9313cd6fcddc77bc13
  timestamp: 2024-08-16 12:10:01+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.18.2.tar.gz
  sha256: 641fce1120378cd00df68c831e4eebffade595675cf30f6c2e85feb1763ed5b9
  timestamp: 2024-09-10 09:07:24+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.19.0.tar.gz
  sha256: 2828998ae485e8001fd2b81936ba0fd93a7780fb18578c5a2f8dcc26e7afdcf5
  timestamp: 2024-09-23 09:07:47+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.19.1.tar.gz
  sha256: ea22a72826c1a5c1e6c9ba4db5ba6e2ff0c4932f1a3dca57091b117ee667f199
  timestamp: 2024-09-23 12:10:45+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.19.2.tar.gz
  sha256: ddf38c9d8dea2ce3bb4264fc6516fdfd7572e2b71705dc91832d1f08328a0cb5
  timestamp: 2024-10-11 03:09:48+00:00

Badge

WakeMeOps

[![WakeMeOps](https://docs.wakemeops.com/badges/pdm.svg)](https://docs.wakemeops.com/packages/pdm)
<a href="https://docs.wakemeops.com/packages/pdm">
  <img src="https://docs.wakemeops.com/badges/pdm.svg"/>
</a>
.. image:: https://docs.wakemeops.com/badges/pdm.svg
:target: https://docs.wakemeops.com/packages/pdm