tomlkit 0.15.1 fails on out-of-order table header
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
- #636 von @0xrutabaga — ohne Merge geschlossen
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Reproduce with the given document: tomlkit.loads fails with Key "b" already exists while tomllib.loads succeeds. Start from tomlkit's table/key parsing path (the loads entry point and how dotted keys and later [a.b.e] headers merge into an existing [a] table). Done when that document and similar out-of-order headers parse without error and round-trip without changing unrelated style.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
tomlkit 0.15.1 and earlier fail to parse out-of-order table header. The following example is valid TOML and loads fine with stdlib tomllib.
import tomllib, tomlkit
doc = """\
[a]
b.c = 1
b.d = 2
[x]
y = 1
[a.b.e]
f = 3
"""
tomllib.loads(doc) # OK
tomlkit.loads(doc) # ParseError: Key "b" already exists. at line 9 col 0
We noticed this problem while parsing the pyproject.toml file of geventhttpclient-2.5.0 https://raw.githubusercontent.com/geventhttpclient/geventhttpclient/refs/tags/2.5.0/pyproject.toml . See https://github.com/python-wheel-build/fromager/issues/1356
- Vorherrschende Sprache
- Python
- Sterne
- 864
- Forks
- 207
- Ø Merge
- 3 T. 23 Std.
- Gemergte PRs (30 T.)
- 25
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python-poetry/tomlkit
-
Emptying a nested array of tables before an out-of-order super-table renders invalid TOML (0.15.2, since #567)Evtl. vergeben @ryanchou1994 hat das heute übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
python-poetry/tomlkit#690 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
`update()` on an out-of-order table raises `IndexError` after a sub-table fragment was poppedEvtl. vergeben @rajmodi8905 hat das vor 11 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
python-poetry/tomlkit#675 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Deleting the last key under a dotted key in an inline table produces invalid TOMLEvtl. vergeben @cig13zs hat das vor 18 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
python-poetry/tomlkit#662 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
AttributeError on an out-of-order table under an indented header (4+ levels)Evtl. vergeben @cig13zs hat das vor 18 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 18/100
python-poetry/tomlkit#661 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
In-place array repetition changes values without updating serialized TOMLEvtl. vergeben @harbinresearcher hat das vor 21 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
python-poetry/tomlkit#646 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in python-poetry/tomlkit
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
elviskahoro/sdk-python-attio#144 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
RenyiELBO raises TypeError when model has no sample sitesEvtl. vergeben @alibb007 hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag