Repolode
pdm-project

pdm-project/pdm

Современный менеджер пакетов и зависимостей Python для управления venv, lockfile и сборками на основе метаданных PEP 621 и PEP 517.

Open source альтернатива:PoetryPipenv

Звёзды
8,662
Форки
501
Открытые issues
48
Последний коммит
вчера

Что это?

PDM — менеджер пакетов и зависимостей Python. Он читает метаданные проекта из стандартного файла pyproject.toml и записывает lockfile, фиксирующий точные версии зависимостей. PDM умеет создавать виртуальные окружения и управлять ими как в каталоге проекта, так и в централизованном расположении — подобно Pipenv. Также он собирает wheels и дистрибутивы с исходным кодом и загружает их в PyPI — подобно Poetry.

В PDM есть backend сборки PEP 517, но проект не привязан к одному backend — можно выбрать любой подходящий. Функциональность расширяется с помощью системы плагинов; также поддерживаются пользовательские скрипты. Кроме того, PDM может устанавливать интерпретаторы Python с помощью python-build-standalone и предлагает централизованный кэш установки, использование которого нужно включить отдельно.

В PDM есть экспериментальная поддержка PEP 582 (установка пакетов в локальную папку __pypackages__ вместо venv), а также возможность использовать uv в качестве установщика.

Ключевые возможности

  • 01Разрешение зависимостей с поддержкой lockfile pdm.lock
  • 02Управление виртуальными окружениями в каталоге проекта или централизованном расположении
  • 03Поддержка backend сборки PEP 517 и метаданных проекта PEP 621
  • 04Система плагинов и пользовательские скрипты
  • 05Установка интерпретаторов Python с помощью python-build-standalone
  • 06Централизованный кэш установки, который можно включить отдельно

Сценарии использования

  • Управление зависимостями и виртуальными окружениями Python-приложения
  • Сборка и публикация библиотеки Python в PyPI с использованием стандартных метаданных pyproject.toml
  • Переход с Pipenv или Poetry на рабочий процесс на основе PEP 621

Быстрый старт

  1. 1

    Установить PDM с помощью скрипта установки (Linux/Mac)

    curl -sSL https://pdm-project.org/install.sh | bash
  2. 2

    Создать новый проект PDM

    pdm new my-project
  3. 3

    Добавить зависимости в проект

    pdm add requests flask

Что важно знать

  • Требуется Python 3.10 или выше.
  • Интеграции с PEP 582 и uv отмечены как экспериментальные.
  • uv не работает с PEP 582.

Темы

Частые вопросы

Что такое pdm?
Современный менеджер пакетов и зависимостей Python для управления venv, lockfile и сборками на основе метаданных PEP 621 и PEP 517. PDM — менеджер пакетов и зависимостей Python. Он читает метаданные проекта из стандартного файла pyproject.toml и записывает lockfile, фиксирующий точные версии зависимостей. PDM умеет создавать виртуальные окружения и управлять ими как в каталоге проекта, так и в централизованном расположении — подобно Pipenv. Также он собирает wheels и дистрибутивы с исходным кодом и загружает их в PyPI — подобно Poetry.
pdm можно использовать бесплатно? Какая у него лицензия?
pdm распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pdm всё ещё поддерживается?
Активно поддерживается. Последний коммит в pdm — 19 окт. 2026 г..
Для чего можно использовать pdm?
Управление зависимостями и виртуальными окружениями Python-приложения Сборка и публикация библиотеки Python в PyPI с использованием стандартных метаданных pyproject.toml Переход с Pipenv или Poetry на рабочий процесс на основе PEP 621
Как установить pdm?
Установить PDM с помощью скрипта установки (Linux/Mac): curl -sSL https://pdm-project.org/install.sh | bash Создать новый проект PDM: pdm new my-project Добавить зависимости в проект: pdm add requests flask
Где скачать pdm?
Исходный код и инструкции по установке — на GitHub: https://github.com/pdm-project/pdm

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Платформа с открытым исходным кодом для разработки приложений на базе LLM: визуальные агентные сценарии, RAG-пайплайны, управление моделями и мониторинг в одном рабочем пространстве.

158,9 тыс.25,1 тыс.PythonOtherОбновлён 3 часа назад