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

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

Download URLs

Version SHA256 Size (KB)
2.9.2 bdb8bbc2c89fff222368a593e3779ff5d8cb04be0cef8e86ec000f8abe744680 22193
2.9.1 a30bf83ba6a01f23d63c906f428bf4bd795ec1f9727b4efbd5a3dd2b353803bb 22193
2.9.0 2a6a8b9e9ee87511c3c2b6c10313e0e15d8a53007fb813cd72ba7c8b734ab7cd 22192
2.8.2 c746e5df19b5800b88f7fd2c7dd2fcc30ad49264eb7047d52e7d755971c1257d 22194
2.8.1 776dee0a43db0be8ed830b94bce467ab0bd3ff23643a4536e9f7793c1746dcf2 3900
2.8.0 540b3ec56b54ce41bba5c080f0fde2f92a25275e74e2f954b6f43c8fc92eaebf 22314
2.7.4 4c1ade2ba0bddcd9c030f0185c6c16b0cc3ee1e76a1a803b08012980a4109a98 17278
2.7.2 e42b2fb40ed9613239bd1b059af14f25dc3fe83400853debf541d226e1359a99 17279
2.7.1 e46915c717bf00fd7bc1a6a0e4f8ab93158ba8d95e8887f170afeda855a5bcf1 17383
2.7.0 e421b14a17690c8d6743be70d30728ab312ad53b2b715f84bb9bf5a6a744781e 20776

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.6.1
    - 2.7.0
    - 2.7.1
    - 2.7.2
    - 2.7.4
    - 2.8.0
    - 2.8.1
    - 2.8.2
    - 2.9.0
    - 2.9.1
    - 2.9.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:
  - path: /usr/bin/pdm
    content: |
      #!/usr/lib/pdm/bin/python3
      import os
      import sys
      from pdm.core import main
      if __name__ == '__main__':
          sys.exit(main())
  - 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
    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.6.1.tar.gz
  sha256: 0bde03535e854b24a29fd4b473443a1b322595300d9b5c3ae4bd56ac1afd1cb9
  timestamp: 2023-05-26 12:58:11+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.7.0.tar.gz
  sha256: e8e044d8949b3165d8f78df8782417e8e3c47d3850be8be285008f49a4b4a1f8
  timestamp: 2023-05-29 15:17:24+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.7.1.tar.gz
  sha256: 219182ccb9c8ebafa2c222fae62db8bb0a9373590afdb90a6036ed05536b478c
  timestamp: 2023-06-06 06:21:23+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.7.2.tar.gz
  sha256: 18525b5d319b42f86084e0b85f4cdab2751beb20d9853ef35d4fcfd2a94fa3ee
  timestamp: 2023-06-12 03:22:51+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.7.4.tar.gz
  sha256: ad81cdd5e6d346644736a1c1c9f228eb6b7e5c6ad9a08b0dbc0b922df1adff9f
  timestamp: 2023-06-13 06:21:35+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.8.0.tar.gz
  sha256: 11f1f1aa1ff6b40e11ed332f00cc3e3179b2f4db88c60f3c0f8703783eee9120
  timestamp: 2023-07-15 12:35:19+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.8.1.tar.gz
  sha256: dc5c81ef6c0640996915e56a81b4cc58508302152f69641b5fbbf8836469d0c9
  timestamp: 2023-07-27 09:16:48+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.8.2.tar.gz
  sha256: c10b6d28591fbd060cdb813098739e8272be480710338e980a27ec8827d6af28
  timestamp: 2023-07-31 09:17:29+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.9.0.tar.gz
  sha256: 9fc621e3c5c8e1567d69562bbd256359fc3db5ca7679deeae324f48ab5da11ad
  timestamp: 2023-08-31 12:32:15+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.9.1.tar.gz
  sha256: 29340f1e5c25cfc845f960aafcc992b128364c83a96260ecec37658e42003c6c
  timestamp: 2023-09-03 09:14:30+00:00
- url: https://github.com/pdm-project/pdm/archive/refs/tags/2.9.2.tar.gz
  sha256: 52c752c2d11a386b6da18b2665a98e95f2a3c468df9d046035989465eb4aa45f
  timestamp: 2023-09-12 12:32:07+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