python-poetry / python-poetry/tomlkit
tomlkit does not serialize some empty arrays and dictionaries
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 850
- Forks
- 162
- Avg merge
- 13m
- Merged PRs (30d)
- 2
Description
#!/usr/bin/env python3
import tomlkit
doc = tomlkit.loads("""
x.y.z = 1
[[a]]
x = 1
""")
doc["a"].pop()
doc["x"]["y"].pop("z")
print(f"{doc=}")
rendered = tomlkit.dumps(doc)
print(f"{rendered=}")
result
doc={'x': {'y': {}}, 'a': []}
rendered='\n\n'
Two newlines is not a good TOML representation of that dictionary
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided Python reproduction through tomlkit.loads and tomlkit.dumps, then trace the serialization path used for empty dictionaries and arrays. Done means the resulting TOML preserves those empty structures rather than producing only two newlines; the issue does not name a file or test to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100