You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched the issue tracker and believe that this is not a duplicate.
Steps to reproduce
Add some TOML comment in the dependencies array section.
dependencies = [
"logzero>=1.7.0",
# some random comment
]
Run pdm remove logzero command, and observe that it fails with following error.
❯ pdm remove logzero -v
Traceback (most recent call last):
File "/Users/michaeljaison/.local/bin/pdm", line 10, in<module>sys.exit(main())
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/core.py", line 256, in main
returnCore().main(args)
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/core.py", line 189, in main
raise cast(Exception, err).with_traceback(traceback)
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/core.py", line 184, in main
f(options.project, options)
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/cli/commands/remove.py", line 40, in handle
actions.do_remove(
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/cli/actions.py", line 413, in do_remove
check_project_file(project)
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/cli/utils.py", line 513, in check_project_file
if not project.meta:
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/project/core.py", line 624, in meta
if not self.pyproject:
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/pdm/project/core.py", line 129, in pyproject
data = tomlkit.parse(self.pyproject_file.read_text("utf-8"))
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/tomlkit/api.py", line 82, in parse
returnParser(string).parse()
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/tomlkit/parser.py", line 154, in parse
key, value = self._parse_table()
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/tomlkit/parser.py", line 989, in _parse_table
item = self._parse_item()
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/tomlkit/parser.py", line 235, in _parse_item
return self._parse_key_value(True)
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/tomlkit/parser.py", line 328, in _parse_key_value
val = self._parse_value()
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/tomlkit/parser.py", line 432, in _parse_value
returnself._parse_array()
File "/Users/michaeljaison/Library/Application Support/pdm/venv/lib/python3.10/site-packages/tomlkit/parser.py", line 600, in _parse_array
raise self.parse_error(UnexpectedCharError, self._current)
tomlkit.exceptions.UnexpectedCharError: Unexpected character: 'p' at line 14 col 1
You can also observe that the pyproject.toml file has become invalid after the failure.
dependencies = [
# some random comment]
Actual behavior
Failure to handle comments in TOML file, and PDM creates invalid TOML file.
Expected behavior
Handle comments in TOML file, and PDM commands should not create invalid TOML file
Environment Information
# Paste the output of `pdm info && pdm info --env` below:
❯ pdm info -p packages/greet
PDM version:
2.0.0b2
Python Interpreter:
/Users/michaeljaison/.pyenv/versions/py-skeleton-pdm/bin/python3 (3.10)
Project Root:
/Users/michaeljaison/Sync/python-repo-skeleton/packages/greet
Project Packages:
None
❯ pdm info --env -p packages/greet
{
"implementation_name": "cpython",
"implementation_version": "3.10.2",
"os_name": "posix",
"platform_machine": "arm64",
"platform_release": "21.5.0",
"platform_system": "Darwin",
"platform_version": "Darwin Kernel Version 21.5.0: Tue Mar 15 01:02:30 PDT 2022; root:xnu-8020.120.35.0.1~8/DEVELOPMENT_ARM64_T6000",
"python_full_version": "3.10.2",
"platform_python_implementation": "CPython",
"python_version": "3.10",
"sys_platform": "darwin"
}
The text was updated successfully, but these errors were encountered:
Steps to reproduce
Add some TOML comment in the dependencies array section.
Run
pdm remove logzero
command, and observe that it fails with following error.You can also observe that the
pyproject.toml
file has become invalid after the failure.Actual behavior
Failure to handle comments in TOML file, and PDM creates invalid TOML file.
Expected behavior
Handle comments in TOML file, and PDM commands should not create invalid TOML file
Environment Information
The text was updated successfully, but these errors were encountered: