| It's sad to see so many negative comments here. Quoting the GitHub page[0]: > 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. Having used PDM a bit, its ambition in my opinion may not be to replace existing tools, but rather to experiment and implement the most recent PEPs related to packaging. While you can argue about PEP 582[1] implementation (which is still in draft), PDM doesn't prevent anyone from using virtual environments, and even provides a plugin[2] to support that.
PDM also implements PEP 631[3], which most other package managers have been relunctant to support or slow to adopt. [0]: https://github.com/pdm-project/pdm [1]: https://www.python.org/dev/peps/pep-0582/ [2]: https://github.com/pdm-project/pdm-venv [3]: https://www.python.org/dev/peps/pep-0631/ |
But as PDM becomes mature, it is acknowleged by the Python packaging people, I also work hard to make PDM fit more people's workflow, fortunately, it has a strong plugin system. You can add virtualenv support(pdm-venv), publish command(pdm-publish) and more. In the future, I would like to see it can eventually push the iteration of PEP 582 and make it finalized.