The link slug is “introducing-pdm”, which I think would be a better title, but the first did work to get people to talk about it. Also, “Try PEP 582 today” may have been appropriate.
Teaching new people is a problem:
Telling them to first type python -m venv venv
Then type source venv/bin/activate or . venv/bin/activate
Unless you’re on windows, then type venv\scripts\activate.bat
Then type pip install -r requirements.txt
Yeah. It’s not pretty, not fun, and good luck not having anyone ask questions about why this is necessary.
Also the Python version is specified in the venv. So if you upgrade Python versions, what happens to existing venvs?
The article also discusses levels of venvs, and global tools that maybe you want not tied to each venv. But we have pipx for that, so I don’t think that’s a real issue.
Instead of a venv directory, your project has a __pypackage__ directory. If you python -m pip install in your project directory, stuff just goes there instead of to the global Python.
So it kinda acts like a venv for local packages, it just doesn’t include local copies of the Python executables, and such.
This is probably a horrible description of 582, but oh well. Something like that.