awesome-python icon indicating copy to clipboard operation
awesome-python copied to clipboard

Add PDM to Package Management

Open pawamoy opened this issue 2 years ago • 5 comments

What is this Python project?

PDM is a modern Python package and dependency manager supporting the latest PEP standards. But it is more than a package manager. It boosts your development workflow in various aspects. The most significant benefit is it installs and manages packages in a similar way to npm that doesn't need to create a virtualenv at all!

Feature highlights:

  • 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.
  • Opt-in centralized installation cache like pnpm.

What's the difference between this Python project and similar ones?

PDM is like Poetry, but more respectful of PEP standards, with more features.

--

Anyone who agrees with this pull request could submit an Approve review to it.

pawamoy avatar Sep 06 '23 08:09 pawamoy

We started using it in my company and it's dope. Poetry is good but PDM is more modern and more respectful of standard. +1 for inclusion.

deronnax avatar Sep 06 '23 14:09 deronnax

its cool

shifenhutu avatar Sep 07 '23 03:09 shifenhutu

it's used by, amongst others, hyperscan and pydantic. It reached 6K stars on Github few days ago. Can we get a merge, @vinta 🙃 ?

deronnax avatar Jan 23 '24 13:01 deronnax

The PDM docs URL has since changed to https://pdm-project.org/latest/ (though the current link in this PR still redirects to the new one). +1 for merge, I switched from Poetry for PEP 621 compliance and it's awesome.

sventec avatar Mar 28 '24 06:03 sventec

Thanks @sventec, link updated :slightly_smiling_face:

pawamoy avatar Mar 28 '24 12:03 pawamoy

Unfortunately it doesn't look like @vinta has the capacity to groom the backlog of PRs. There are many no-brainers like this PR and the one that adds Ruff that are waiting for a long time, with many upvotes, without being merged. PRs then go stale (yay stale bots), are re-opened, and, strangely, sometimes merged immediately with 0 upvote, while they are a duplicate of an older PR with more upvotes.

I'm not sure what the process is here, or if there's even one. It would be much more engaging if it was documented somewhere :thinking: I'm actually thinking about just closing this one for clean up.

Also, I invite everyone here to have a look at https://github.com/ml-tooling/best-of-python. Best-of lists are much more detailed than Awesome ones, and rank projects with a scoring algorithm. It could be nice to add PDM there too :man_shrugging:

pawamoy avatar May 23 '24 09:05 pawamoy

If @vinta ever adds a collaborator on the repository to help them with maintenance, someone please let me know, and I'll reopen (if needed).

(By the way I'm willing to help with maintenance. Not for eternity, but I can seriously groom the backlog in a short period. I'm well versed in the Python ecosystem. I'd merge the no-brainers, and close duplicate quickly. I won't blindly merge something I don't know just because of upvotes, which in some cases seem fake)

pawamoy avatar May 23 '24 09:05 pawamoy