freshcrate

pdm

A modern Python package and dependency manager supporting the latest PEP standards

Description

<div align="center"> # PDM A modern Python package and dependency manager supporting the latest PEP standards. [δΈ­ζ–‡η‰ˆζœ¬θ―΄ζ˜Ž](README_zh.md) ![PDM logo](https://raw.githubusercontent.com/pdm-project/pdm/main/docs/assets/logo_big.png) [![Docs](https://img.shields.io/badge/Docs-zensical-blue?style=for-the-badge)](https://pdm-project.org) [![Twitter Follow](https://img.shields.io/twitter/follow/pdm_project?label=get%20updates&logo=twitter&style=for-the-badge)](https://twitter.com/pdm_project) [![Discord](https://img.shields.io/discord/824472774965329931?label=discord&logo=discord&style=for-the-badge)](https://discord.gg/Phn8smztpv) ![Github Actions](https://github.com/pdm-project/pdm/workflows/Tests/badge.svg) [![PyPI](https://img.shields.io/pypi/v/pdm?logo=python&logoColor=%23cccccc)](https://pypi.org/project/pdm) [![codecov](https://codecov.io/gh/pdm-project/pdm/branch/main/graph/badge.svg?token=erZTquL5n0)](https://codecov.io/gh/pdm-project/pdm) [![Packaging status](https://repology.org/badge/tiny-repos/pdm.svg)](https://repology.org/project/pdm/versions) [![Downloads](https://pepy.tech/badge/pdm/week)](https://pepy.tech/project/pdm) [![pdm-managed](https://img.shields.io/endpoint?url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fpdm-project%2F.github%2Fbadge.json)](https://pdm-project.org) <a href="https://trackgit.com"> <img src="https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/l4eztudjnh9bfay668fl" alt="trackgit-views" /> </a> [![asciicast](https://asciinema.org/a/jnifN30pjfXbO9We2KqOdXEhB.svg)](https://asciinema.org/a/jnifN30pjfXbO9We2KqOdXEhB) </div> ## What is PDM? 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. - Install Pythons using [astral-sh's python-build-standalone](https://github.com/astral-sh/python-build-standalone). - Opt-in centralized installation cache like [pnpm](https://pnpm.io/motivation#saving-disk-space-and-boosting-installation-speed). [pep 517]: https://www.python.org/dev/peps/pep-0517 [pep 621]: https://www.python.org/dev/peps/pep-0621 [pnpm]: https://pnpm.io/motivation#saving-disk-space-and-boosting-installation-speed ## Comparisons to other alternatives ### [Pipenv](https://pipenv.pypa.io) Pipenv is a dependency manager that combines `pip` and `venv`, as the name implies. It can install packages from a non-standard `Pipfile.lock` or `Pipfile`. However, Pipenv does not handle any packages related to packaging your code, so it’s useful only for developing non-installable applications (Django sites, for example). If you’re a library developer, you need `setuptools` anyway. ### [Poetry](https://python-poetry.org) Poetry manages environments and dependencies in a similar way to Pipenv, but it can also build .whl files with your code, and it can upload wheels and source distributions to PyPI. It has a pretty user interface and users can customize it via a plugin. Poetry uses the `pyproject.toml` standard. ### [Hatch](https://hatch.pypa.io) Hatch can also manage environments, allowing multiple environments per project. By default it has a central location for all environments but it can be configured to put a project's environment(s) in the project root directory. It can manage packages but without lockfile support. It can also be used to package a project (with PEP 621 compliant pyproject.toml files) and upload it to PyPI. ### This project PDM can manage virtual environments (venvs) in both project and centralized locations, similar to Pipenv. It reads project metadata from a standardized `pyproject.toml` file and supports lockfiles. Users can add additional functionality through plugins, which can be shared by uploading them as distributions. Unlike Poetry and Hatch, PDM is not limited to a specific build backend; users have the freedom to choose any build backend they prefer. ## Installation <a href="https://repology.org/project/pdm/versions"> <img src="https://repology.org/badge/vertical-allrepos/pdm.svg" alt="Packaging status" align="right"> </a> PDM requires python version 3.9 or higher. Alternatively, you can download the standalone binary file from the [release assets](https://github.com/pdm-project/pdm/releases). ### Install Binary via Script (recommended) Install the standalone binary directly with the installer scripts: **For Linux/Mac** ```bash curl -sSL https://pdm-project.org/install.sh | bash ``` **For Windows** ```powershell powershell -ExecutionPolicy ByPass -c "irm https://pdm-project.org/install.ps1 |

Release History

VersionChangesUrgencyDate
2.26.8Imported from PyPI (2.26.8)Low4/21/2026
2.26.7 ### Features & Improvements - Speed up dependency resolution when there are complex conflicts. ([#3751](https://github.com/pdm-project/pdm/issues/3751)) ### Documentation - Switch to Zensical as docs generator. ([#3752](https://github.com/pdm-project/pdm/issues/3752)) ### Miscellany - Add comprehensive tests for completion, show, search, and info commands to improve test coverage ([#3541](https://github.com/pdm-project/pdm/issues/3541)) Medium3/24/2026
2.26.6 ### Bug Fixes - Support `packaging==26.0` changes for version comparison ([#3729](https://github.com/pdm-project/pdm/issues/3729)) Low1/22/2026
2.26.5 ### Bug Fixes - Respect the project path when using cookiecutter template in `pdm init` command. ([#3721](https://github.com/pdm-project/pdm/issues/3721)) - Fix a bug that `resolution.excludes` is not applied when evaluating candidates from the lock file. ([#3726](https://github.com/pdm-project/pdm/issues/3726)) ### Documentation - Remove chatbot from the docs page footer. ([#3722](https://github.com/pdm-project/pdm/issues/3722)) - Generate llms.txt for docs powered by `mkdocs-llmstxt`. ([#3Low1/21/2026
2.26.4 ### Bug Fixes - Make sure cursor closing for fixing PyPy different gc mode also add PyPy in CI. ([#3708](https://github.com/pdm-project/pdm/issues/3708)) - Fix a bug that old HTTP cache directories cause PDM to crash when trying to clear them. ([#3715](https://github.com/pdm-project/pdm/issues/3715)) Low1/9/2026
2.26.3 ### Features & Improvements - Port to `hishel` 1.0.0. ([#3700](https://github.com/pdm-project/pdm/issues/3700)) ### Bug Fixes - Update `.gitignore` file in the default template. ([#3686](https://github.com/pdm-project/pdm/issues/3686)) - Correct the sysconfig variables for Python standalone build installations. ([#3693](https://github.com/pdm-project/pdm/issues/3693)) - Ignore `packages.vcs.requested-revision` if it's None when formatting pylock.toml. ([#3694](https://github.com/pdm-project/Low12/24/2025
2.26.2 ### Features & Improvements - Only parse TOML document with `tomlkit` when writing is required. ([#3672](https://github.com/pdm-project/pdm/issues/3672)) - Add SHA256 checksums for binary releases during the release workflow and create an installer script that downloads binaries from GitHub releases with automatic platform detection and checksum verification. ([#3679](https://github.com/pdm-project/pdm/issues/3679)) ### Bug Fixes - Fix test_use_python_write_file_multiple_versions to match PDLow11/24/2025
2.26.1 ### Bug Fixes - Substitute missing env vars with empty string in `expand_env_vars`. ([#3653](https://github.com/pdm-project/pdm/issues/3653)) - Constrained hishel to be less than 1.0.0 due to its refactor ([#3657](https://github.com/pdm-project/pdm/issues/3657)) Low10/29/2025
2.26.0 ### Features & Improvements - Limit the log file size to 100MB and truncate the log output if exceeded. ([#3633](https://github.com/pdm-project/pdm/issues/3633)) - Speed up dependency resolution in the bad path by skipping candidates of the same version when resolving. ([#3647](https://github.com/pdm-project/pdm/issues/3647)) ### Bug Fixes - Reload project files after running hook scripts. ([#3615](https://github.com/pdm-project/pdm/issues/3615)) - Fix a bug when using UV as the resolver doeLow10/11/2025
2.25.9 No significant changes. Low8/22/2025
2.25.8 ### Bug Fixes - Fix a careless error by fast apply in AI coding. ([#3612](https://github.com/pdm-project/pdm/issues/3612)) Low8/22/2025
2.25.7 ### Features & Improvements - Show the path to site-packages in the output of `pdm info`. ([#3600](https://github.com/pdm-project/pdm/issues/3600)) ### Bug Fixes - Fix `uv python dir` path resolution on Windows ([#3603](https://github.com/pdm-project/pdm/issues/3603)) - Strip local version in version specifiers when writing package locks. ([#3605](https://github.com/pdm-project/pdm/issues/3605)) - Show an error message when 'default' is used in optional dependencies or dependency groups. ([#Low8/22/2025
2.25.6 ### Features & Improvements - The `pdm python install -v` command now shows the download URL for the Python interpreter. ([#3552](https://github.com/pdm-project/pdm/issues/3552)) ### Bug Fixes - Ensure `make_array` always returns a tomlkit array type. ([#3586](https://github.com/pdm-project/pdm/issues/3586)) - Preserve multi-line help text in the CLI help output. ([#3587](https://github.com/pdm-project/pdm/issues/3587)) - Re-caculate artifact files and hashes when the lock target changes. ([Low8/14/2025
2.25.5 ### Features & Improvements - Tell the difference between free-threaded Python and normal ones. Users need to request for free-threaded versions explicitly by adding `t` to the version string, otherwise the normal build will be preferred. ([#3562](https://github.com/pdm-project/pdm/issues/3562)) ### Bug Fixes - Fix a bug that editable local package URLs are empty when using `pylock.toml`. ([#3565](https://github.com/pdm-project/pdm/issues/3565)) - Fix a bug where `pdm export` with `--lockfilLow7/30/2025
2.25.4 ### Bug Fixes - Add credentials when passing source urls to uv resolver. ([#3553](https://github.com/pdm-project/pdm/issues/3553)) - Redact credentials in source urls in the log output, and inject credentials into the source url for uv sync command as well. ([#3555](https://github.com/pdm-project/pdm/issues/3555)) - Fix a bug that extra dependencies of transitive dependencies are not properly installed when USE_UV=true ([#3558](https://github.com/pdm-project/pdm/issues/3558)) - Improve the terLow6/30/2025
2.25.3 ### Bug Fixes - Fix a bug that local file package metadata was missing when reading the lockfile. ([#3545](https://github.com/pdm-project/pdm/issues/3545)) - Extract `dependency-groups` and `extras` markers from `marker` value when parsing pylock.toml. ([#3550](https://github.com/pdm-project/pdm/issues/3550)) Low6/22/2025
2.25.2## Bug fixes - Fix a bug that local file package metadata was missing when reading the lockfile. Low6/16/2025
2.25.1 ### Bug Fixes - Fix duplicated dependencies added to the lock file when the same dependency with extras is requested. ([#3542](https://github.com/pdm-project/pdm/issues/3542)) - Stabilize order of the `extras` and `dependency-groups` fields in pylock output. ([#3543](https://github.com/pdm-project/pdm/issues/3543)) Low6/14/2025
2.25.0 ### Features & Improvements - Support pylock as alternative lock format and make it opt-in by config. ([#3481](https://github.com/pdm-project/pdm/issues/3481)) - Search for package metadata in lock file first when reuse strategy is used. ([#3522](https://github.com/pdm-project/pdm/issues/3522)) ### Bug Fixes - Fix Windows 11 install pdm error, which is because of msgpack install failure. ([#3485](https://github.com/pdm-project/pdm/issues/3485)) - Change the return type of `array_of_inline_taLow6/13/2025
2.24.2 ### Bug Fixes - Reinstalling local wheel if its checksum changes. ([#3503](https://github.com/pdm-project/pdm/issues/3503)) - Ignore HTTP cache entries if deserialization fails. ([#3515](https://github.com/pdm-project/pdm/issues/3515)) - Fetch missing URLs when `static_urls` is not enabled when running `pdm export -f pylock`. ([#3517](https://github.com/pdm-project/pdm/issues/3517)) - Missing self package when `--self` or `--editable-self` is passed to `pdm export -f pylock`. ([#3518](https://Low5/23/2025
2.24.1 ### Bug Fixes - Install the project when using the `BaseSynchronizer` with `install_self` set to `True`. This fixes the bug that when calling `pdm sync --quiet`, it skips installing the project itself. ([#3484](https://github.com/pdm-project/pdm/issues/3484)) - Mark one additional test as requiring network, and fix another one not to require it anymore. ([#3487](https://github.com/pdm-project/pdm/issues/3487)) Low4/23/2025
2.24.0 ### Features & Improvements - New command `pdm new` that behaves like `pdm init` but creates a new project. ([#3462](https://github.com/pdm-project/pdm/issues/3462)) - Support use `--name` as project name for command `pdm new` e.g. `pdm new hello --name world` ([#3476](https://github.com/pdm-project/pdm/issues/3476)) - Support exporting to pylock.toml format as described by PEP 751. ([#3480](https://github.com/pdm-project/pdm/issues/3480)) ### Bug Fixes - Pass the `--quiet` option to `pdm syLow4/18/2025
2.23.1 ### Features & Improvements - Use `pyapp` to wrap `pdm` as a Python application that bootstrap itself at runtime. ([#3429](https://github.com/pdm-project/pdm/issues/3429)) - Support all providers `id` is supporting currently for OIDC trusted publishing ([#3441](https://github.com/pdm-project/pdm/issues/3441)) ### Bug Fixes - Installation error for local plugins specified with file URL without a name. ([#3407](https://github.com/pdm-project/pdm/issues/3407)) - Eliminate the warning about inheLow4/9/2025
2.23.0 ### Features & Improvements - Add `pdm python find` command to search for a python interpreter. ([#3389](https://github.com/pdm-project/pdm/issues/3389)) - `pdm import` now converts `package-mode` from Poetry's settings table to `distribution`. ([#3427](https://github.com/pdm-project/pdm/issues/3427)) ### Bug Fixes - Excluding non-existing groups for `pdm remove`. ([#3404](https://github.com/pdm-project/pdm/issues/3404)) - Fix a bug that `pdm add` and `pdm update` remove dependency groups inLow4/1/2025
2.22.4 ### Bug Fixes - Ensure dev-dependencies are added to the correct group when the `tool.pdm.dev-dependencies` table has groups. ([#3392](https://github.com/pdm-project/pdm/issues/3392)) Low3/7/2025
2.22.3 ### Bug Fixes - Don't validate local file requirements that are not used. ([#3376](https://github.com/pdm-project/pdm/issues/3376)) - Don't set "dependencies" as empty list for uv toml if there is no dependencies in the raw toml file. ([#3378](https://github.com/pdm-project/pdm/issues/3378)) - Add a dummy project name to the script environment pyproject.toml. ([#3382](https://github.com/pdm-project/pdm/issues/3382)) Low1/27/2025
2.22.2 ### Features & Improvements - Write installer metadata like `INSTALLER` and `REQUESTED` to dist-info directory when installing packages. ([#3359](https://github.com/pdm-project/pdm/issues/3359)) - Respect `.python-version` file in the project root directory when selecting the Python interpreter. By default, it will be written when running `pdm use` command. ([#3367](https://github.com/pdm-project/pdm/issues/3367)) ### Bug Fixes - Fix a problem of missing dependencies when adding to dev depeLow1/11/2025
2.22.1 ### Bug Fixes - Fix zsh hanging issue by removing PyPI package completion. ([#3329](https://github.com/pdm-project/pdm/issues/3329)) - Write dev dependencies to `dependency-groups` section when importing project from other package managers. ([#3354](https://github.com/pdm-project/pdm/issues/3354)) ### Miscellany - Show a warning when resolving against cross-platform targets under uv mode. ([#3341](https://github.com/pdm-project/pdm/issues/3341)) Low12/19/2024
2.22.0 ### Features & Improvements - Use minimal template if the project is an application. ([#3295](https://github.com/pdm-project/pdm/issues/3295)) - Add one `safe_compatible` version specifiers saving strategy. ([#3301](https://github.com/pdm-project/pdm/issues/3301)) - Allow customizing scripts display with `scripts.show_header` settings. ([#3313](https://github.com/pdm-project/pdm/issues/3313)) - Speed up the resolution by only resolving wheel candidates if possible. ([#3319](https://github.com/Low12/9/2024
2.21.0 ### Features & Improvements - Pass original working directory as env variable to pdm scripts ([#3179](https://github.com/pdm-project/pdm/issues/3179)) - Output similar commands or script command when the input command is not correct ([#3270](https://github.com/pdm-project/pdm/issues/3270)) - improve readability of Python interpreter validation message ([#3276](https://github.com/pdm-project/pdm/issues/3276)) - Print task name by default when using `pdm run` ([#3277](https://github.com/pdm-projLow11/25/2024
2.20.1 ### Features & Improvements - Add a fixer to remove the deprecated `cross_platform` strategy from lock file. ([#3259](https://github.com/pdm-project/pdm/issues/3259)) ### Bug Fixes - Fix the bug that `pdm build` would fail when `use_uv` is true. ([#3231](https://github.com/pdm-project/pdm/issues/3231)) - Fix group name normalization when comparing groups. ([#3247](https://github.com/pdm-project/pdm/issues/3247)) - Inherit file descriptors instead of closing when running child processes in `pLow11/9/2024
2.20.0.post1### Features & Improvements - Support dependency groups as standardized by [PEP 735](https://peps.python.org/pep-0735/). By default, dev dependencies will be written to `[dependency-groups]` table. ([#3230](https://github.com/pdm-project/pdm/issues/3230)) ### Bug Fixes - Fix a bug that `strategy.inherit_metadata` config is not honored when using `--lockfile` option. ([#3232](https://github.com/pdm-project/pdm/issues/3232)) - Always perform install-time resolution when `use_uv` is on. (Low11/1/2024
2.20.0 ### Features & Improvements - Support dependency groups as standardized by [PEP 735](https://peps.python.org/pep-0735/). By default, dev dependencies will be written to `[dependency-groups]` table. ([#3230](https://github.com/pdm-project/pdm/issues/3230)) ### Bug Fixes - Fix a bug that `strategy.inherit_metadata` config is not honored when using `--lockfile` option. ([#3232](https://github.com/pdm-project/pdm/issues/3232)) - Always perform install-time resolution when `use_uv` is on. ([#3233Low10/31/2024
2.19.3 ### Features & Improvements - Allow linking existing Python interpreters to PDM's managed location. ([#3215](https://github.com/pdm-project/pdm/issues/3215)) ### Bug Fixes - Fix a bug that overrides provided by environment variables do not work. ([#3182](https://github.com/pdm-project/pdm/issues/3182)) - Allow prereleases when the requirement is pinned even if disabled by project ([#3202](https://github.com/pdm-project/pdm/issues/3202)) - Pass the python path to the uv venv command. ([#3204]Low10/19/2024
2.19.2 ### Features & Improvements - Support installing free-threaded Python interpreters with the `t` suffix. ([#3201](https://github.com/pdm-project/pdm/issues/3201)) ### Bug Fixes - `use_uv` fails to lock when there are non-ascii characters in pyproject.toml on Windows. ([#3181](https://github.com/pdm-project/pdm/issues/3181)) - Fix the `pre_install` and `post_install` signals receiving an exhausted generator, instead of a list of packages. ([#3190](https://github.com/pdm-project/pdm/issues/319Low10/11/2024
2.19.1 ### Bug Fixes - PDM libraries are not loaded correctly for in-process scripts when installed in the user site. ([#3178](https://github.com/pdm-project/pdm/issues/3178)) Low9/23/2024
2.19.0 ### Bug Fixes - Fallback version to 0.0.0 when the version is not specified or empty. This can avoid crash when building such project. ([#3163](https://github.com/pdm-project/pdm/issues/3163)) - Ensures that `/` is URL encoded in sources URL environment variables. ([#3169](https://github.com/pdm-project/pdm/issues/3169)) - Call functions from shared library in the in-process `env_spec.py` script. ([#3176](https://github.com/pdm-project/pdm/issues/3176)) ### Removals and Deprecations - PDM Low9/23/2024
2.18.2 ### Bug Fixes - Respect the `excludes` and `overrides` settings when installing packages. ([#3113](https://github.com/pdm-project/pdm/issues/3113)) - Fix a bug of export command that packages with extras are included twice. ([#3123](https://github.com/pdm-project/pdm/issues/3123)) - Remove empty groups when removing packages with `pdm remove`. ([#3133](https://github.com/pdm-project/pdm/issues/3133)) - When running `pdm venv purge`, if the current project's python version had been referencingLow9/10/2024
2.19.0a0 ### Breaking Changes - `pre_install` and `post_install` signals now receive the list of packages to be installed, instead of a candidate mapping. ([#3144](https://github.com/pdm-project/pdm/issues/3144)) ### Features & Improvements - Deprecate `Core.synchronizer_class` attribute. To get the synchronizer class, use `Project.get_synchronizer` method instead. Deprecate `Core.resolver_class` attribute. To get the resolver class, use `Project.get_resolver` method instead. ([#3144](https://githLow9/5/2024
2.18.1 ### Bug Fixes - Skip checking `project.name` if it is absent when running `pdm outdated`. ([#3095](https://github.com/pdm-project/pdm/issues/3095)) - Don't remove the `cross_platform` strategy from old lock files. ([#3105](https://github.com/pdm-project/pdm/issues/3105)) - Fix a bug that the VCS revision is lost if the candidate metadata is cached during resolution. ([#3107](https://github.com/pdm-project/pdm/issues/3107)) - Fix a bug that PDM can't delete source password when saved in keyrinLow8/16/2024
2.18.0 ### Features & Improvements - Respect certificates in env vars `REQUESTS_CA_BUNDLE` and `CURL_CA_BUNDLE` when verifying SSL certificates. ([#3076](https://github.com/pdm-project/pdm/issues/3076)) - Allow pypi.verify_ssl to be configured via PDM_PYPI_VERIFY_SSL environmental variable. ([#3081](https://github.com/pdm-project/pdm/issues/3081)) - Clean logs older than 7 days. ([#3091](https://github.com/pdm-project/pdm/issues/3091)) - Polish the UI looking of locking packages to display the progrLow8/14/2024
2.17.3 ### Bug Fixes - Fix a crash issue when `requires-python` is absent in the project metadata. ([#3062](https://github.com/pdm-project/pdm/issues/3062)) - Now correctly sets related config for PDM_IGNORE_SAVED_PYTHON when it is set to "false", "no", "0". ([#3064](https://github.com/pdm-project/pdm/issues/3064)) - Fix a bug that PDM plugins installed from project-root cannot be loaded, if they have dependencies. ([#3067](https://github.com/pdm-project/pdm/issues/3067)) Low8/1/2024
2.17.2### Features & Improvements - Improve the installation progress output to show the time elapsed. ([#3051](https://github.com/pdm-project/pdm/issues/3051)) - The effect of `pypi.ignore_stored_index` changes a bit. Now even if it is true, index configurations in the config will still be loaded if the index is listed in the `pyproject.toml`. ([#3052](https://github.com/pdm-project/pdm/issues/3052)) ### Bug Fixes - Ignore invalid requires-python values from index. ([#3038](https://github.cLow7/31/2024
2.17.1 ### Bug Fixes - Raise dep-logic lower bound to 0.4.2 to fix issues with pdm lock after upgrading from older pdm versions ([#3033](https://github.com/pdm-project/pdm/issues/3033)) - Correct the current platform and architecture for win32 and macos systems. ([#3035](https://github.com/pdm-project/pdm/issues/3035)) ### Miscellany - Fix zsh completions ([#3031](https://github.com/pdm-project/pdm/issues/3031)) Low7/19/2024
2.17.0 ### Breaking Changes - `LockedRepository.all_candidates` now returns a `dict[str, list[Candidate]]` instead of `dict[str, Candidate]`. ([#2995](https://github.com/pdm-project/pdm/issues/2995)) - `post_lock` hook now receives a resolution result of type `dict[str, list[Candidate]]`, instead of `dict[str, Candidate]`. ([#2995](https://github.com/pdm-project/pdm/issues/2995)) ### Features & Improvements - Support reading requirement constraints from pip-style requirement files for "overriding"Low7/18/2024
2.16.1 ### Bug Fixes - Fix new interface from pbs_installer regarding `build_dir` and best match auto-install strategy for `pdm use` (same as for `pdm python install --list`) ([#2943](https://github.com/pdm-project/pdm/issues/2943)) - Fix crash when pdm is used with `importlib-metadata` version 8.0. ([#2974](https://github.com/pdm-project/pdm/issues/2974)) Low6/26/2024
2.16.0 ### Features & Improvements - Add `--no-extras` to `pdm export` to strip extras from the requirements. Now the default behavior is to keep extras. ([#2519](https://github.com/pdm-project/pdm/issues/2519)) - Support PEP 723: running scripts with inline metadata in standalone environment with dependencies. ([#2924](https://github.com/pdm-project/pdm/issues/2924)) - `pdm use` and `pdm python install` now take `requires-python` into account (incl. from pyproject.toml) if python version not specLow6/25/2024
2.15.4 ### Bug Fixes - Build wheel from sdist if available, to make sure sdist is built properly. This behavior is consistent with [pypa/build](https://pypi.org/project/build). ([#2843](https://github.com/pdm-project/pdm/issues/2843)) - Fix the issue of self-referencing extra dependencies failing to be resolved for local packages. ([#2898](https://github.com/pdm-project/pdm/issues/2898)) - Fix an issue of max recursion depth error when parsing a poetry project with circular dependencies on local pacLow5/30/2024
2.15.3 ### Bug Fixes - Fixed pdm venv activate, to also work for windows. And added documentation on how to authenticate to Azure Artifacts ([#2851](https://github.com/pdm-project/pdm/issues/2851)) - Don't show unsupported formats in `pdm export`. ([#2877](https://github.com/pdm-project/pdm/issues/2877)) - Proxy (`HTTP_PROXY` env vars) settings are ignored for custom indexes. ([#2880](https://github.com/pdm-project/pdm/issues/2880)) - Fix the quoting of venv activate command for powershell. ([#2881]Low5/20/2024
2.15.2 ### Features & Improvements - Use `get_runner()` method to build the task runner in `run` command. `runner_cls` attribute is deprecated. ([#2872](https://github.com/pdm-project/pdm/issues/2872)) ### Bug Fixes - Expand `${PROJECT_ROOT}` in source URLs. ([#2846](https://github.com/pdm-project/pdm/issues/2846)) - Fix env and other options being inherited in nested composite scripts. ([#2849](https://github.com/pdm-project/pdm/issues/2849)) - Keep the `${PROJECT_ROOT}` variable in dependencies Low5/8/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

dependency-injectorDependency injection framework for Python4.49.0
pdm-backendThe build backend used by PDM that supports latest packaging standards2.4.8
temporalioTemporal.io Python SDK1.26.0
poetryPython dependency management and packaging made easy.2.3.4
poetry-corePoetry PEP 517 Build Backend2.3.2