diff --git a/reports/with_python3.11.md b/reports/with_python3.11.md index 14a32b6..473c8fe 100644 --- a/reports/with_python3.11.md +++ b/reports/with_python3.11.md @@ -8,10 +8,10 @@ The verions of the packages tested in this report. |-|-----------------------| |toml|0.10.2| |tomli/tomli_w|2.0.1; **tomli_w**: 1.0.0| -|tomlkit|0.11.6| +|tomlkit|0.11.8| |rtoml|0.9.0| |qtoml|0.3.1| -|tomllib|(Python 3.11.0)| +|tomllib|(Python 3.11.2)| ## Dumping `None` value @@ -77,6 +77,70 @@ Literally `.loads('v1 = "null" v2 = "None"')` |qtoml|{'v1': 'null', 'v2': 'None'}| |tomllib|{'v1': 'null', 'v2': 'None'}| +## Dumping a heterogenous array + +How the package dumps a python dictionary with a heterogenous array. + +Literally `.dumps({"v": [1, 1.2, True, "string"]})` + + +| |Dumped value or error| +|-|-----------------------| +|toml|v = \[ 1, 1.2, true, "string",\]
| +|tomli/tomli_w|v = \[
    1,
    1.2,
    true,
    "string",
\]
| +|tomlkit|v = \[1, 1.2, true, "string"\]
| +|rtoml|v = \[1, 1.2, true, "string"\]
| +|qtoml|v = \[1, 1.2, true, 'string'\]
| +|tomllib|Dumping not supported| + +## Loading a heterogenous array + +How the package loads a toml string with a heterogenous array. + +Literally `.loads('v = [1, 1.2, True, "string"]')` + + +| |Loaded as| +|-|-----------------------| +|toml|Not a homogeneous array (line 2 column 1 char 1)| +|tomli/tomli_w|`{'v': [1, 1.2, True, 'string']}`| +|tomlkit|`{'v': [1, 1.2, True, 'string']}`| +|rtoml|`{'v': [1, 1.2, True, 'string']}`| +|qtoml|`{'v': [1, 1.2, True, 'string']}`| +|tomllib|`{'v': [1, 1.2, True, 'string']}`| + +## Dumping a nested array + +How the package dumps a python dictionary with a nested array. + +Literally `.dumps({"v": [[1], [1, 2]]})` + + +| |Dumped value or error| +|-|-----------------------| +|toml|v = \[ \[ 1,\], \[ 1, 2,\],\]
| +|tomli/tomli_w|v = \[
    \[
        1,
    \],
    \[
        1,
        2,
    \],
\]
| +|tomlkit|v = \[\[1\], \[1, 2\]\]
| +|rtoml|v = \[\[1\], \[1, 2\]\]
| +|qtoml|v = \[\[1\], \[1, 2\]\]
| +|tomllib|Dumping not supported| + +## Loading a nested array + +How the package loads a toml string with a nested array. + +Literally `.loads('v = [[1], [1, 2]]')` + + +| |Loaded as| +|-|-----------------------| +|toml|`{'v': [[1], [1, 2]]}`| +|tomli/tomli_w|`{'v': [[1], [1, 2]]}`| +|tomlkit|`{'v': [[1], [1, 2]]}`| +|rtoml|`{'v': [[1], [1, 2]]}`| +|qtoml|`{'v': [[1], [1, 2]]}`| +|tomllib|`{'v': [[1], [1, 2]]}`| + ## Dumping keeps order of keys? Whether the package preserves the order of the keys while dumps @@ -166,14 +230,14 @@ The tests come up with a JSON counterpart that can be used to valid whether loading the toml file yields the same result as the JSON counterpart. -| |Result (toml-test v1.2.0)| +| |Result (toml-test v1.3.0)| |-|-----------------------| -|toml|[comment/tricky.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/comment/tricky.toml) Parsed as unexpected data.
[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/string/escape-esc.toml) Reserved escape sequence used (line 1 column 1 char 0)
[array/mixed-int-array.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/array/mixed-int-array.toml) Not a homogeneous array (line 1 column 1 char 0)
[array/mixed-int-float.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/array/mixed-int-float.toml) Not a homogeneous array (line 1 column 1 char 0)
[array/mixed-string-table.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/array/mixed-string-table.toml) list index out of range
[array/mixed-int-string.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/array/mixed-int-string.toml) Not a homogeneous array (line 1 column 1 char 0)
[array/nested-double.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/array/nested-double.toml) Not a homogeneous array (line 1 column 1 char 0)
[float/zero.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/float/zero.toml) Weirdness with leading zeroes or underscores in your number. (line 4 column 1 char 47)
[key/escapes.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/key/escapes.toml) Parsed as unexpected data.
[key/dotted.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/key/dotted.toml) Found invalid character in key name: '"'. Try quoting the key name. (line 12 column 11 char 245)
[inline-table/key-dotted.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/inline-table/key-dotted.toml) Parsed as unexpected data.
[inline-table/multiline.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/inline-table/multiline.toml) Invalid inline table value encountered (line 1 column 1 char 0)
[datetime/local-time.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/datetime/local-time.toml) Parsed as unexpected data.
[datetime/datetime.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/datetime/datetime.toml) Parsed as unexpected data.
*86/100 (86.00%) passed*| -|tomli/tomli_w|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/string/escape-esc.toml) Unescaped '\' in a string (at line 1, column 10)
*99/100 (99.00%) passed*| -|tomlkit|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/string/escape-esc.toml) Invalid character 'e' in string at line 1 col 8
*99/100 (99.00%) passed*| -|rtoml|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/string/escape-esc.toml) invalid escape character in string: `e` at line 1 column 9
*99/100 (99.00%) passed*| -|qtoml|[comment/tricky.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/comment/tricky.toml) can't parse type (line 11, column 7)
[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/string/escape-esc.toml) \e not a valid escape (line 1, column 33)
[string/multiline-quotes.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/string/multiline-quotes.toml) Didn't find expected newline (line 4, column 26)
[datetime/milliseconds.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/datetime/milliseconds.toml) Didn't find expected newline (line 2, column 27)
[datetime/datetime.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/datetime/datetime.toml) Didn't find expected newline (line 2, column 18)
*95/100 (95.00%) passed*| -|tomllib|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//valid/string/escape-esc.toml) Unescaped '\' in a string (at line 1, column 10)
*99/100 (99.00%) passed*| +|toml|[key/escapes.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/key/escapes.toml) Parsed as unexpected data.
[key/dotted.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/key/dotted.toml) Found invalid character in key name: '"'. Try quoting the key name. (line 12 column 11 char 245)
[comment/tricky.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/comment/tricky.toml) Parsed as unexpected data.
[inline-table/key-dotted.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/inline-table/key-dotted.toml) Parsed as unexpected data.
[inline-table/multiline.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/inline-table/multiline.toml) Invalid inline table value encountered (line 1 column 1 char 0)
[array/nested-double.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/array/nested-double.toml) Not a homogeneous array (line 1 column 1 char 0)
[array/mixed-int-string.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/array/mixed-int-string.toml) Not a homogeneous array (line 1 column 1 char 0)
[array/mixed-string-table.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/array/mixed-string-table.toml) list index out of range
[array/mixed-int-array.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/array/mixed-int-array.toml) Not a homogeneous array (line 1 column 1 char 0)
[array/mixed-int-float.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/array/mixed-int-float.toml) Not a homogeneous array (line 1 column 1 char 0)
[float/zero.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/float/zero.toml) Weirdness with leading zeroes or underscores in your number. (line 4 column 1 char 47)
[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/string/escape-esc.toml) Reserved escape sequence used (line 1 column 1 char 0)
[datetime/datetime.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/datetime/datetime.toml) Parsed as unexpected data.
[datetime/local-time.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/datetime/local-time.toml) Parsed as unexpected data.
*86/100 (86.00%) passed*| +|tomli/tomli_w|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/string/escape-esc.toml) Unescaped '\' in a string (at line 1, column 10)
*99/100 (99.00%) passed*| +|tomlkit|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/string/escape-esc.toml) Invalid character 'e' in string at line 1 col 8
*99/100 (99.00%) passed*| +|rtoml|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/string/escape-esc.toml) invalid escape character in string: `e` at line 1 column 9
*99/100 (99.00%) passed*| +|qtoml|[comment/tricky.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/comment/tricky.toml) can't parse type (line 11, column 7)
[string/multiline-quotes.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/string/multiline-quotes.toml) Didn't find expected newline (line 4, column 26)
[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/string/escape-esc.toml) \e not a valid escape (line 1, column 33)
[datetime/milliseconds.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/datetime/milliseconds.toml) Didn't find expected newline (line 2, column 27)
[datetime/datetime.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/datetime/datetime.toml) Didn't find expected newline (line 2, column 18)
*95/100 (95.00%) passed*| +|tomllib|[string/escape-esc.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//valid/string/escape-esc.toml) Unescaped '\' in a string (at line 1, column 10)
*99/100 (99.00%) passed*| ## Compliance with invalid tests in toml-test @@ -187,14 +251,14 @@ here: parsing error. -| |Result (toml-test v1.2.0)| +| |Result (toml-test v1.3.0)| |-|-----------------------| -|toml|Not OK: [integer/us-after-hex.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/integer/us-after-hex.toml) incorrectly parsed.
Not OK: [integer/us-after-oct.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/integer/us-after-oct.toml) incorrectly parsed.
Not OK: [integer/double-sign-plus.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/integer/double-sign-plus.toml) incorrectly parsed.
Not OK: [integer/double-sign-nex.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/integer/double-sign-nex.toml) incorrectly parsed.
Not OK: [integer/us-after-bin.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/integer/us-after-bin.toml) incorrectly parsed.
Not OK: [array/no-close.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/array/no-close.toml) incorrectly parsed.
Not OK: [array/tables-1.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/array/tables-1.toml) incorrectly parsed.
Not OK: [array/no-close-2.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/array/no-close-2.toml) incorrectly parsed.
Not OK: [array/no-close-table.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/array/no-close-table.toml) incorrectly parsed.
Not OK: [array/no-close-table-2.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/array/no-close-table-2.toml) incorrectly parsed.
Not OK: *36 more items incorrectly parsed.*
*177/223 (79.37%) passed*| -|tomli/tomli_w|OK: [table/duplicate-key-dotted-table2.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/table/duplicate-key-dotted-table2.toml) Cannot declare ('fruit', 'apple', 'taste') twice (at line 4, column 19)
*223/223 (100%) passed*| -|tomlkit|Not OK: [control/comment-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-cr.toml) incorrectly parsed.
Not OK: [control/bare-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/bare-cr.toml) incorrectly parsed.
Not OK: [table/append-with-dotted-keys-1.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/table/append-with-dotted-keys-1.toml) incorrectly parsed.
Not OK: [table/append-with-dotted-keys-2.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/table/append-with-dotted-keys-2.toml) incorrectly parsed.
*219/223 (98.21%) passed*| -|rtoml|Not OK: [integer/positive-hex.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/integer/positive-hex.toml) incorrectly parsed.
Not OK: [integer/positive-bin.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/integer/positive-bin.toml) incorrectly parsed.
Not OK: [control/comment-del.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-del.toml) incorrectly parsed.
Not OK: [control/comment-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-cr.toml) incorrectly parsed.
Not OK: [control/bare-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/bare-cr.toml) incorrectly parsed.
*218/223 (97.76%) passed*| -|qtoml|Not OK: [inline-table/add.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/inline-table/add.toml) incorrectly parsed.
Not OK: [inline-table/trailing-comma.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/inline-table/trailing-comma.toml) incorrectly parsed.
Not OK: [control/comment-del.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-del.toml) incorrectly parsed.
Not OK: [control/comment-null.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-null.toml) incorrectly parsed.
Not OK: [control/comment-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-cr.toml) incorrectly parsed.
Not OK: [control/comment-us.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-us.toml) incorrectly parsed.
Not OK: [control/bare-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/bare-cr.toml) incorrectly parsed.
Not OK: [control/comment-lf.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/control/comment-lf.toml) incorrectly parsed.
Not OK: [table/append-with-dotted-keys-1.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/table/append-with-dotted-keys-1.toml) incorrectly parsed.
Not OK: [table/append-with-dotted-keys-2.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/table/append-with-dotted-keys-2.toml) incorrectly parsed.
Not OK: *2 more items incorrectly parsed.*
*211/223 (94.62%) passed*| -|tomllib|OK: [table/duplicate-key-dotted-table2.toml](https://github.com/BurntSushi/toml-test/blob/v1.2.0/tests//invalid/table/duplicate-key-dotted-table2.toml) Cannot declare ('fruit', 'apple', 'taste') twice (at line 4, column 19)
*223/223 (100%) passed*| +|toml|Not OK: [key/start-dot.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/key/start-dot.toml) incorrectly parsed.
Not OK: [key/escape.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/key/escape.toml) incorrectly parsed.
Not OK: [key/special-character.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/key/special-character.toml) incorrectly parsed.
Not OK: [key/two-equals3.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/key/two-equals3.toml) incorrectly parsed.
Not OK: [key/two-equals2.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/key/two-equals2.toml) incorrectly parsed.
Not OK: [inline-table/add.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/inline-table/add.toml) incorrectly parsed.
Not OK: [array/no-close-2.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/array/no-close-2.toml) incorrectly parsed.
Not OK: [array/tables-1.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/array/tables-1.toml) incorrectly parsed.
Not OK: [array/no-close.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/array/no-close.toml) incorrectly parsed.
Not OK: [array/extending-table.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/array/extending-table.toml) incorrectly parsed.
Not OK: *39 more items incorrectly parsed.*
*188/237 (79.32%) passed*| +|tomli/tomli_w|OK: [datetime/mday-under.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/datetime/mday-under.toml) Expected newline or end of document after a statement (at line 3, column 9)
*237/237 (100%) passed*| +|tomlkit|Not OK: [control/bare-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/bare-cr.toml) incorrectly parsed.
Not OK: [control/comment-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-cr.toml) incorrectly parsed.
Not OK: [table/append-with-dotted-keys-2.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/table/append-with-dotted-keys-2.toml) incorrectly parsed.
Not OK: [table/append-with-dotted-keys-1.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/table/append-with-dotted-keys-1.toml) incorrectly parsed.
*233/237 (98.31%) passed*| +|rtoml|Not OK: [control/bare-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/bare-cr.toml) incorrectly parsed.
Not OK: [control/comment-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-cr.toml) incorrectly parsed.
Not OK: [control/comment-del.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-del.toml) incorrectly parsed.
Not OK: [integer/positive-hex.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/integer/positive-hex.toml) incorrectly parsed.
Not OK: [integer/positive-bin.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/integer/positive-bin.toml) incorrectly parsed.
*232/237 (97.89%) passed*| +|qtoml|Not OK: [inline-table/trailing-comma.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/inline-table/trailing-comma.toml) incorrectly parsed.
Not OK: [inline-table/add.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/inline-table/add.toml) incorrectly parsed.
Not OK: [control/bare-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/bare-cr.toml) incorrectly parsed.
Not OK: [control/comment-us.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-us.toml) incorrectly parsed.
Not OK: [control/comment-cr.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-cr.toml) incorrectly parsed.
Not OK: [control/comment-lf.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-lf.toml) incorrectly parsed.
Not OK: [control/comment-del.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-del.toml) incorrectly parsed.
Not OK: [control/comment-null.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/control/comment-null.toml) incorrectly parsed.
Not OK: [table/duplicate-key-dotted-table.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/table/duplicate-key-dotted-table.toml) incorrectly parsed.
Not OK: [table/duplicate-key-dotted-table2.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/table/duplicate-key-dotted-table2.toml) incorrectly parsed.
Not OK: *2 more items incorrectly parsed.*
*225/237 (94.94%) passed*| +|tomllib|OK: [datetime/mday-under.toml](https://github.com/BurntSushi/toml-test/blob/v1.3.0/tests//invalid/datetime/mday-under.toml) Expected newline or end of document after a statement (at line 3, column 9)
*237/237 (100%) passed*| ## Compliance with valid tests in python tomllib test data @@ -209,11 +273,11 @@ loading the toml file yields the same result as the JSON counterpart. | |Result (cpython tag 3.11.0)| |-|-----------------------| -|toml|[five-quotes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/five-quotes.toml) Unterminated string found. Reached end of file. (line 7 column 1 char 97)
[apostrophes-in-literal-string.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/apostrophes-in-literal-string.toml) Unbalanced quotes (line 1 column 50 char 49)
[multiline-basic-str/ends-in-whitespace-escape.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/multiline-basic-str/ends-in-whitespace-escape.toml) Reserved escape sequence used (line 6 column 1 char 28)
[dates-and-times/datetimes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/dates-and-times/datetimes.toml) Parsed as unexpected data.
*8/12 (66.67%) passed*| +|toml|[apostrophes-in-literal-string.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/apostrophes-in-literal-string.toml) Unbalanced quotes (line 1 column 50 char 49)
[five-quotes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/five-quotes.toml) Unterminated string found. Reached end of file. (line 7 column 1 char 97)
[dates-and-times/datetimes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/dates-and-times/datetimes.toml) Parsed as unexpected data.
[multiline-basic-str/ends-in-whitespace-escape.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/multiline-basic-str/ends-in-whitespace-escape.toml) Reserved escape sequence used (line 6 column 1 char 28)
*8/12 (66.67%) passed*| |tomli/tomli_w|OK, *12/12 (100%) passed*| |tomlkit|OK, *12/12 (100%) passed*| |rtoml|OK, *12/12 (100%) passed*| -|qtoml|[five-quotes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/five-quotes.toml) Didn't find expected newline (line 3, column 3)
[apostrophes-in-literal-string.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/apostrophes-in-literal-string.toml) Didn't find expected newline (line 3, column 3)
[dates-and-times/datetimes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/dates-and-times/datetimes.toml) Didn't find expected newline (line 1, column 19)
*9/12 (75.00%) passed*| +|qtoml|[apostrophes-in-literal-string.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/apostrophes-in-literal-string.toml) Didn't find expected newline (line 3, column 3)
[five-quotes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/five-quotes.toml) Didn't find expected newline (line 3, column 3)
[dates-and-times/datetimes.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//valid/dates-and-times/datetimes.toml) Didn't find expected newline (line 1, column 19)
*9/12 (75.00%) passed*| |tomllib|OK, *12/12 (100%) passed*| ## Compliance with invalid tests in python tomllib test data @@ -230,12 +294,12 @@ parsing error. | |Result (cpython tag 3.11.0)| |-|-----------------------| -|toml|Not OK: [invalid-comment-char.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/invalid-comment-char.toml) incorrectly parsed.
Not OK: [array/file-end-after-val.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array/file-end-after-val.toml) incorrectly parsed.
Not OK: [array/unclosed-empty.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array/unclosed-empty.toml) incorrectly parsed.
Not OK: [array/unclosed-after-item.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array/unclosed-after-item.toml) incorrectly parsed.
Not OK: [multiline-basic-str/carriage-return.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/carriage-return.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table-with-subtable.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table-with-subtable.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table.toml) incorrectly parsed.
Not OK: [inline-table/overwrite-value-in-inner-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/overwrite-value-in-inner-table.toml) incorrectly parsed.
Not OK: [inline-table/unclosed-empty.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/unclosed-empty.toml) incorrectly parsed.
*41/50 (82.00%) passed*| -|tomli/tomli_w|OK: [dates-and-times/invalid-day.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dates-and-times/invalid-day.toml) Invalid date or datetime (at line 1, column 36)
*50/50 (100%) passed*| -|tomlkit|Not OK: [multiline-basic-str/carriage-return.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/carriage-return.toml) incorrectly parsed.
Not OK: [array-of-tables/overwrite-array-in-parent.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array-of-tables/overwrite-array-in-parent.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-aot.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-aot.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table-with-subtable.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table-with-subtable.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table.toml) incorrectly parsed.
Not OK: [inline-table/override-val-in-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/override-val-in-table.toml) incorrectly parsed.
*44/50 (88.00%) passed*| +|toml|Not OK: [invalid-comment-char.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/invalid-comment-char.toml) incorrectly parsed.
Not OK: [inline-table/unclosed-empty.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/unclosed-empty.toml) incorrectly parsed.
Not OK: [inline-table/overwrite-value-in-inner-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/overwrite-value-in-inner-table.toml) incorrectly parsed.
Not OK: [array/unclosed-empty.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array/unclosed-empty.toml) incorrectly parsed.
Not OK: [array/unclosed-after-item.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array/unclosed-after-item.toml) incorrectly parsed.
Not OK: [array/file-end-after-val.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array/file-end-after-val.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table-with-subtable.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table-with-subtable.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table.toml) incorrectly parsed.
Not OK: [multiline-basic-str/carriage-return.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/carriage-return.toml) incorrectly parsed.
*41/50 (82.00%) passed*| +|tomli/tomli_w|OK: [multiline-basic-str/escape-only.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/escape-only.toml) Unterminated string (at end of document)
*50/50 (100%) passed*| +|tomlkit|Not OK: [inline-table/override-val-in-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/override-val-in-table.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table-with-subtable.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table-with-subtable.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-aot.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-aot.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table.toml) incorrectly parsed.
Not OK: [array-of-tables/overwrite-array-in-parent.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/array-of-tables/overwrite-array-in-parent.toml) incorrectly parsed.
Not OK: [multiline-basic-str/carriage-return.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/carriage-return.toml) incorrectly parsed.
*44/50 (88.00%) passed*| |rtoml|Not OK: [multiline-basic-str/carriage-return.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/carriage-return.toml) incorrectly parsed.
*49/50 (98.00%) passed*| -|qtoml|Not OK: [invalid-comment-char.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/invalid-comment-char.toml) incorrectly parsed.
Not OK: [non-scalar-escaped.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/non-scalar-escaped.toml) incorrectly parsed.
Not OK: [multiline-basic-str/carriage-return.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/carriage-return.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table-with-subtable.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table-with-subtable.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table.toml) incorrectly parsed.
Not OK: [inline-table/override-val-with-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/override-val-with-table.toml) incorrectly parsed.
Not OK: [inline-table/overwrite-value-in-inner-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/overwrite-value-in-inner-table.toml) incorrectly parsed.
Not OK: [table/redefine-2.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/table/redefine-2.toml) incorrectly parsed.
Not OK: [table/redefine-1.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/table/redefine-1.toml) incorrectly parsed.
*41/50 (82.00%) passed*| -|tomllib|OK: [dates-and-times/invalid-day.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dates-and-times/invalid-day.toml) Invalid date or datetime (at line 1, column 36)
*50/50 (100%) passed*| +|qtoml|Not OK: [non-scalar-escaped.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/non-scalar-escaped.toml) incorrectly parsed.
Not OK: [invalid-comment-char.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/invalid-comment-char.toml) incorrectly parsed.
Not OK: [inline-table/override-val-with-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/override-val-with-table.toml) incorrectly parsed.
Not OK: [inline-table/overwrite-value-in-inner-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/inline-table/overwrite-value-in-inner-table.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table-with-subtable.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table-with-subtable.toml) incorrectly parsed.
Not OK: [dotted-keys/extend-defined-table.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/dotted-keys/extend-defined-table.toml) incorrectly parsed.
Not OK: [table/redefine-2.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/table/redefine-2.toml) incorrectly parsed.
Not OK: [table/redefine-1.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/table/redefine-1.toml) incorrectly parsed.
Not OK: [multiline-basic-str/carriage-return.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/carriage-return.toml) incorrectly parsed.
*41/50 (82.00%) passed*| +|tomllib|OK: [multiline-basic-str/escape-only.toml](https://github.com/python/cpython/tree/v3.11.0/Lib/test/test_tomllib/data//invalid/multiline-basic-str/escape-only.toml) Unterminated string (at end of document)
*50/50 (100%) passed*| ## Running speed with data provided by `pytomlpp` @@ -247,12 +311,12 @@ using data provided by `pytomlpp` | |Loading speed|Dumping speed| |-|-|-| -|toml|7.10s (5000 iterations)|1.36s (5000 iterations)| -|tomli/tomli_w|3.58s (5000 iterations)|1.00s (5000 iterations)| -|tomlkit|55.32s (5000 iterations)|0.97s (5000 iterations)| -|rtoml|0.64s (5000 iterations)|0.36s (5000 iterations)| -|qtoml|7.93s (5000 iterations)|2.12s (5000 iterations)| -|tomllib|2.90s (5000 iterations)|Dumping not supported| +|toml|Excluded (heterogeneous arrays not supported)|Excluded (heterogeneous arrays not supported)| +|tomli/tomli_w|2.75s (500 iterations)|1.07s (500 iterations)| +|tomlkit|50.32s (500 iterations)|0.76s (500 iterations)| +|rtoml|0.47s (500 iterations)|values must be emitted before tables| +|qtoml|5.56s (500 iterations)|1.75s (500 iterations)| +|tomllib|2.80s (500 iterations)|Dumping not supported| ## Running speed with data provided by `rtoml` @@ -264,12 +328,12 @@ provided by `rtoml` | |Loading speed|Dumping speed| |-|-|-| -|toml|19.56s (5000 iterations)|2.83s (5000 iterations)| -|tomli/tomli_w|7.09s (5000 iterations)|2.32s (5000 iterations)| -|tomlkit|128.25s (5000 iterations)|3.22s (5000 iterations)| -|rtoml|0.90s (5000 iterations)|0.24s (5000 iterations)| -|qtoml|13.20s (5000 iterations)|4.96s (5000 iterations)| -|tomllib|5.63s (5000 iterations)|Dumping not supported| +|toml|Excluded (heterogeneous arrays not supported)|Excluded (heterogeneous arrays not supported)| +|tomli/tomli_w|0.63s (500 iterations)|0.20s (500 iterations)| +|tomlkit|10.92s (500 iterations)|0.26s (500 iterations)| +|rtoml|0.09s (500 iterations)|0.03s (500 iterations)| +|qtoml|1.38s (500 iterations)|0.46s (500 iterations)| +|tomllib|0.61s (500 iterations)|Dumping not supported| ## Running speed with data provided by `tomli` @@ -281,10 +345,10 @@ provided by `tomli` | |Loading speed|Dumping speed| |-|-|-| -|toml|10.93s (5000 iterations)|1.82s (5000 iterations)| -|tomli/tomli_w|4.24s (5000 iterations)|1.50s (5000 iterations)| -|tomlkit|76.78s (5000 iterations)|1.16s (5000 iterations)| -|rtoml|0.71s (5000 iterations)|0.41s (5000 iterations)| -|qtoml|9.42s (5000 iterations)|3.80s (5000 iterations)| -|tomllib|3.99s (5000 iterations)|Dumping not supported| +|toml|Excluded (heterogeneous arrays not supported)|Excluded (heterogeneous arrays not supported)| +|tomli/tomli_w|0.42s (500 iterations)|0.12s (500 iterations)| +|tomlkit|6.64s (500 iterations)|0.13s (500 iterations)| +|rtoml|0.08s (500 iterations)|0.05s (500 iterations)| +|qtoml|1.00s (500 iterations)|0.31s (500 iterations)| +|tomllib|0.41s (500 iterations)|Dumping not supported|