Skip to content

bump pdm dev-dependency to 2.25.3#26

Merged
sigma67 merged 3 commits intomainfrom
pdm-2-25
Jun 24, 2025
Merged

bump pdm dev-dependency to 2.25.3#26
sigma67 merged 3 commits intomainfrom
pdm-2-25

Conversation

@sigma67
Copy link
Collaborator

@sigma67 sigma67 commented Jun 17, 2025

No description provided.

@codecov
Copy link

codecov bot commented Jun 17, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.23%. Comparing base (7be81c6) to head (aa1b0e7).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #26   +/-   ##
=======================================
  Coverage   95.23%   95.23%           
=======================================
  Files           3        3           
  Lines         126      126           
  Branches       30       20   -10     
=======================================
  Hits          120      120           
  Misses          4        4           
  Partials        2        2           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sigma67
Copy link
Collaborator Author

sigma67 commented Jun 17, 2025

Without this patch you get the following error with pdm 2.25 and pylock.toml used in project. The issue is that the new pylock.toml markers are part of the str cast of Requirement. This patch overrides the str cast with a custom function, not including the markers.

Command

~ pdm-build-locked/tests/data/simple-optional $ pdm build -v --locked

Output

pdm.termui: configuration error: `project.optional-dependencies.locked[0]` must be pep508
pdm.termui: DESCRIPTION:
pdm.termui:     Project dependency specification according to PEP 508
pdm.termui: 
pdm.termui: GIVEN VALUE:
pdm.termui:     "requests==2.31.0; \"default\" in dependency_groups"
pdm.termui: 
pdm.termui: OFFENDING RULE: 'format'
pdm.termui: 
pdm.termui: DEFINITION:
pdm.termui:     {
pdm.termui:         "$id": "#/definitions/dependency",
pdm.termui:         "title": "Dependency",
pdm.termui:         "type": "string",
pdm.termui:         "format": "pep508"
pdm.termui:     }
pdm.termui: 
pdm.termui: For more details about `format` see
pdm.termui: https://validate-pyproject.readthedocs.io/en/latest/api/validate_pyproject.formats.html
pdm.termui: 
pdm.termui: Traceback (most recent call last):
pdm.termui:   File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>
pdm.termui:     main()
pdm.termui:   File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main
pdm.termui:     json_out["return_val"] = hook(**hook_input["kwargs"])
pdm.termui:   File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 308, in get_requires_for_build_sdist
pdm.termui:     return hook(config_settings)
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_sdist
pdm.termui:     return self._get_build_requires(config_settings, requirements=[])
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
pdm.termui:     self.run_setup()
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/build_meta.py", line 512, in run_setup
pdm.termui:     super().run_setup(setup_script=setup_script)
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/build_meta.py", line 317, in run_setup
pdm.termui:     exec(code, locals())
pdm.termui:   File "<string>", line 1, in <module>
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/__init__.py", line 115, in setup
pdm.termui:     return distutils.core.setup(**attrs)
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 160, in setup
pdm.termui:     dist.parse_config_files()
pdm.termui:   File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/_virtualenv.py", line 22, in parse_config_files
pdm.termui:     result = old_parse_config_files(self, *args, **kwargs)
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/dist.py", line 756, in parse_config_files
pdm.termui:     pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 72, in apply_configuration
pdm.termui:     config = read_configuration(filepath, True, ignore_option_errors, dist)
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 140, in read_configuration
pdm.termui:     validate(subset, filepath)
pdm.termui:   File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 61, in validate
pdm.termui:     raise ValueError(f"{error}\n{summary}") from None
pdm.termui: ValueError: invalid pyproject.toml config: `project.optional-dependencies.locked[0]`.
pdm.termui: configuration error: `project.optional-dependencies.locked[0]` must be pep508
Traceback (most recent call last):
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/bin/pdm", line 8, in <module>
    sys.exit(main())
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/core.py", line 391, in main
    return core.main(args or sys.argv[1:])
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/core.py", line 270, in main
    raise cast(Exception, err).with_traceback(traceback) from None
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/core.py", line 265, in main
    self.handle(project, options)
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/core.py", line 195, in handle
    command.handle(project, options)
  File "/home/benedikt/PycharmProjects/pdm-build-locked/src/pdm_build_locked/command.py", line 101, in handle
    super().handle(project, options)
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/cli/commands/build.py", line 139, in handle
    self.do_build(
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/cli/commands/build.py", line 65, in do_build
    sdist_file = SdistBuilder(project.root, project.environment).build(dest)
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/builders/base.py", line 84, in wrapper
    return func(*args, **kwargs)
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/builders/sdist.py", line 15, in build
    requires = self._hook.get_requires_for_build_sdist(self.config_settings)
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pyproject_hooks/_impl.py", line 356, in get_requires_for_build_sdist
    return self._call_hook(
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pyproject_hooks/_impl.py", line 392, in _call_hook
    self._subprocess_runner(
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/builders/base.py", line 281, in subprocess_runner
    return log_subprocessor(cmd, cwd, extra_environ=env)
  File "/home/benedikt/PycharmProjects/pdm-build-locked/.venv/lib/python3.10/site-packages/pdm/builders/base.py", line 128, in log_subprocessor
    raise build_error(e) from None
pdm.exceptions.BuildError: Build backend raised error: Showing the last 10 lines of the build output:
  File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/dist.py", line 756, in parse_config_files
    pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
  File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 72, in apply_configuration
    config = read_configuration(filepath, True, ignore_option_errors, dist)
  File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 140, in read_configuration
    validate(subset, filepath)
  File "/tmp/pdm-build-env-sovcs1up-shared/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py", line 61, in validate
    raise ValueError(f"{error}\n{summary}") from None
ValueError: invalid pyproject.toml config: `project.optional-dependencies.locked[0]`.
configuration error: `project.optional-dependencies.locked[0]` must be pep508

@sigma67 sigma67 requested a review from frostming June 17, 2025 14:23
@sigma67
Copy link
Collaborator Author

sigma67 commented Jun 17, 2025

@frostming not sure if this intended or a side-effect of some changes done for 2.25?

@sigma67 sigma67 changed the title support pdm 2.25 support pdm 2.25 with pylock.toml Jun 17, 2025
@frostming
Copy link
Contributor

It's not expected, better to wait for a fix on pdm side.

@frostming
Copy link
Contributor

The fix has been released

@sigma67
Copy link
Collaborator Author

sigma67 commented Jun 24, 2025

@frostming thank you for the response and quick fix! glad I was able to help discover this issue

@sigma67 sigma67 changed the title support pdm 2.25 with pylock.toml bump pdm dev-dependency to 2.25.3 Jun 24, 2025
@sigma67 sigma67 merged commit 7b52670 into main Jun 24, 2025
8 checks passed
@frostming frostming deleted the pdm-2-25 branch July 1, 2025 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments