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.17.1*

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

Download URLs

Version SHA256 Size (KB)
2.17.1 ddca2f1f00b0b3d81581b178ae7ab8bfbd310998b7ecabfdeab972f6e0440b7c 30447
2.17.0 fd9022e9aee9a6a8d178cc04b4fbcd1b8c3165e0cc1d72adc456fc25dd22b4d8 30446
2.16.1 6f813326173bb91c990e109ca97cc9c6b6f0c6e5d9a4fe2e26b298ea8eb76424 30566
2.16.0 017820c6df4f3b71ad5eee10dc1cf652b1d1668e124aed5b7d41bd2295c05f4a 30566
2.15.4 01bc8383d2ee835d0a33833326a175afe1acbdaf276480a3121de1049ab4e7a0 30553
2.15.3 4b2d6b7825fcd679bfad6b2d34b0ea271bcff5adc147f077a16a0d5ac4303eb6 30553
2.15.2 3d74bb1f1ffc583d97df48e790501999bab3c8140f0292e83b2eb2718f1751bf 31055
2.15.1 fb4969b2dc10da5611b6b0dfac3b33fb7d9c0537d3c5b7d447b673e1661106e7 31061
2.15.0 ba5f460941c6be1c8180514c6ee25b3168d302a9bfec8d67454bd6e7b2524ad9 31056
2.14.0 0a9cc2ef232354a23b6ce705937fbb934444cb02a3542b5480ea8e2b16088a23 31054

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
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

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