awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
pdm-project avatar

pdm-project/pdm

0
View on GitHub↗
8,647 stars·475 forks·Python·MIT·25 viewspdm-project.org↗

Pdm

PDM is a Python package manager, dependency resolver, and build tool designed to create reproducible environments. It functions as a runtime manager that installs and switches between different versions of the Python interpreter using standalone builds, while managing isolated virtual environments to prevent version conflicts between projects.

The tool distinguishes itself through the use of cross-platform lockfiles and a plugin-based extension architecture, allowing users to add new capabilities via external distributions. It provides a centralized package caching system and a parallel installation pipeline to reduce the time required for environment setup and dependency resolution.

Beyond core management, PDM covers project orchestration through custom script definitions and command-line shortcuts. It also handles the full distribution lifecycle, from generating standardized project archives to publishing packages to remote repositories.

The tool ensures interoperability by using standardized metadata formats and provides utilities for importing and converting project configurations from other managers.

Features

  • Python Package Managers - Provides comprehensive management of Python project dependencies, virtual environments, and package installations.
  • Dependency Lockfiles - Generates cross-platform lockfiles with checksums to ensure reproducible dependency environments.
  • Build Reproducibility Lockfiles - Provides cross-platform lockfiles that pin exact dependency versions and checksums for reproducible environments.
  • Runtime Provisioning - Downloads and manages standalone pre-compiled Python interpreter builds to decouple projects from system-wide installations.
  • Dependency Resolution - Resolves complex version constraints and source repositories to find compatible package versions.
  • Python Environment Managers - Creates isolated environments and manages multiple interpreter versions for project-specific dependencies.
  • Virtual Environment Managers - Provides isolated runtime environments to prevent dependency conflicts between different software projects.
  • Dependency Resolvers - Calculates compatible package versions and generates cross-platform lockfiles to ensure reproducible environments.
  • Python Distribution Packaging - Builds and prepares Python projects into standardized distribution archives for publication to registries.
  • Virtual Environment Isolation - Creates isolated execution spaces for Python projects to prevent dependency version conflicts.
  • Multi-Version Installations - Automatically downloads and installs multiple specific versions of the Python runtime using standalone builds.
  • Python Runtime Managers - Installs and manages multiple versions of the Python interpreter using standalone builds.
  • Package Dependency Resolution - Implements a constraint-based solver to determine compatible package versions and generate a deterministic dependency graph.
  • Build Artifact Caching - Stores decompressed build artifacts locally to speed up dependency resolution and installation cycles.
  • Parallel - Employs a parallel installation pipeline to download and install multiple dependencies simultaneously for faster setup.
  • Parallel Installations - Implements a parallel installation pipeline to accelerate the setup of project dependencies.
  • Environment Managers - Manages isolated runtime environments and language versions to separate package installations.
  • Package Caches - Maintains a shared global directory of downloaded distributions to eliminate redundant network requests.
  • Project Orchestration - Coordinates the execution of custom project scripts and automation tasks via centralized configuration.
  • PEP Standards - Ensures interoperability by mapping project specifications to official Python Enhancement Proposal metadata and packaging standards.
  • Remote Repository Publishing - Uploads built distributions to remote repositories using secure authentication and trusted publishing mechanisms.
  • Project Metadata Specifications - Uses standardized project metadata specifications to define build requirements and ensure tool interoperability.
  • Environment Synchronizers - Aligns the currently installed packages in an environment to match the exact versions specified in a lockfile.
  • Distribution Package Generators - Generates standardized distributable archives from source directories to prepare projects for remote publication.
  • Platform Extension Plugins - Provides an extensible plugin system that allows users to share and integrate custom distributions.
  • Interpreter Switching - Allows users to toggle between different active Python interpreter versions.
  • Plugin Installation and Management - Installs and organizes project-specific extensions to add modular capabilities to the environment.
  • Plugin-Based Architectures - Features a modular extension architecture that allows adding new capabilities via external plugin distributions.
  • Developer Tools - Modern package and dependency manager.
  • Package Managers - Modern package manager supporting current packaging standards.

Star history

Star history chart for pdm-project/pdmStar history chart for pdm-project/pdm

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Pdm

Similar open-source projects, ranked by how many features they share with Pdm.
  • pypa/sampleprojectpypa avatar

    pypa/sampleproject

    5,245View on GitHub↗

    This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building, versioning, and uploading Python distributions. It serves as a concrete project template and example for configuring metadata and build artifacts for package indices. The repository illustrates how to package software by defining project metadata and dependencies in static configuration files. It covers the process of transforming source trees into versioned archives and platform-specific binary distributions, specifically showing how to build binary wheels and source distribut

    Python
    View on GitHub↗5,245
  • astral-sh/ryeastral-sh avatar

    astral-sh/rye

    14,209View on GitHub↗

    Rye is a comprehensive Python toolchain manager, package manager, and virtual environment orchestrator. It provides a unified system for installing Python runtimes, resolving dependencies, and coordinating isolated environments across different projects. The project distinguishes itself through workspace management capabilities that coordinate dependencies and builds across multiple libraries within a single multi-package project structure. It further enables the global installation of Python tools into sandboxed environments, making them accessible system-wide without manual environment acti

    Rustpackage-managerpackagingpython
    View on GitHub↗14,209
  • pypa/pipenvpypa avatar

    pypa/pipenv

    25,066View on GitHub↗

    Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across different systems. It functions as a lockfile resolver, generating deterministic lockfiles from high-level dependency constraints to prevent version drift. The tool integrates project workflow automation by loading environment variables and executing custom project scripts. It also includes security auditing capabilities to scan installed packages for known vulnerabilities. The system covers a broad range of capabilities including dependency version locking, package installatio

    Python
    View on GitHub↗25,066
  • homebrew/legacy-homebrewHomebrew avatar

    Homebrew/legacy-homebrew

    26,849View on GitHub↗

    This project is a command line package manager and dependency management engine used for installing, updating, and removing software packages across different operating systems. It functions as a package recipe system and software repository administrator, utilizing declarative scripts to define software sources, build arguments, and installation steps. The system operates as a binary distribution platform that compiles source code into pre-compiled binaries and distributes them through remote repositories. It includes an automated version tracker that monitors upstream software releases and

    View on GitHub↗26,849
See all 30 alternatives to Pdm→

Frequently asked questions

What does pdm-project/pdm do?

PDM is a Python package manager, dependency resolver, and build tool designed to create reproducible environments. It functions as a runtime manager that installs and switches between different versions of the Python interpreter using standalone builds, while managing isolated virtual environments to prevent version conflicts between projects.

What are the main features of pdm-project/pdm?

The main features of pdm-project/pdm are: Python Package Managers, Dependency Lockfiles, Build Reproducibility Lockfiles, Runtime Provisioning, Dependency Resolution, Python Environment Managers, Virtual Environment Managers, Dependency Resolvers.

What are some open-source alternatives to pdm-project/pdm?

Open-source alternatives to pdm-project/pdm include: pypa/sampleproject — This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building,… astral-sh/rye — Rye is a comprehensive Python toolchain manager, package manager, and virtual environment orchestrator. It provides a… pypa/pipenv — Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across… homebrew/legacy-homebrew — This project is a command line package manager and dependency management engine used for installing, updating, and… python-poetry/poetry — Poetry is a comprehensive dependency manager and packaging tool for Python projects. It functions as a configuration… astral-sh/uv — uv is a high-performance Python package manager and project build tool designed to handle dependency resolution,…