admin管理员组

文章数量:1289845

My distribution project is managed with git, The last tag is 0.1.2.dev1. I use PDM (). The relevant snipped in pyproject.toml is:

[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"

[tool.pdm]
distribution = true
version = {source = "scm", write_to = "ff_testpkg/version.py", write_template = "__version__ = '{}'" }

On pdm build:

pdm build
Building sdist...
Built sdist at C:/dev/pylib/ff-testpkg/dist\ff-testpkg-0.1.2.dev1+d20250221.tar.gz
Building wheel from sdist...
Built wheel at C:/dev/pylib/ff-testpkg/dist\ff-testpkg-0.1.2.dev1+d20250221-py3-none-any.whl

I see the same auto-generated version number in version.py:

__version__ = '0.1.2.dev1+d20250221'

On pdm publish, I get this error:

400 The use of local versions in <Version('0.1.2.dev1+d20250221')> is not allowed. See  for more information.

How do I make pdm not inject the +d=date= local versioning?

Edit: I read , it says local versions must comply with <public version identifier>[+<local version label>], but after a paragraph it says: "local version labels MUST be limited to the following set of permitted characters: ASCII letters ([a-zA-Z]), ASCII digits ([0-9]), periods (.)". This means 0.1.2.dev1+d20250221 should be allowed, right?

本文标签: python39pdm build39 adds date to scm version numberTestPyPI rejects itStack Overflow