Война пакетных менеджеров Python

PDM - простой пакетный менеджер

  • поддерживает PEP 582
  • простой и понятный
  • поддержка групп пакетов

Отключаем uv для pdm (чтобы pdm не использовал под капотом uv для менеджмента версий python):

pdm config use_uv false

Создание проекта:

pdm init

Добавляем зависимость - например FastAPI с тэгом [standard]

pdm add "fastapi[standard]"

Добавление пакетов по группам:

pdm add ruff --group dev
pdm add gunicorn --group prod

Устанавливаем пакеты по группам:

pdm install --group dev