Comments (2)
I don't think this one can be put down to toml
's strict TOML 0.5.0 support. The 0.5.0 ABNF toml-0.5.0.zip specially caters for empty inline tables:
inline-table-keyvals = [ inline-table-keyvals-non-empty ]
This isn't the only issue with toml
's code for array tables - it needs work. See #439
In the mean time, other toml writers are available.
Reproduced:
>>> import tomli_w, tomlkit, toml_tools, toml
>>> a1 = {"a": [{"name": "bob", "kwargs": {}}]}
>>> for module in (tomli_w, tomlkit, toml_tools, toml):
... print(module.__name__); print(module.dumps(a1))
...
tomli_w
a = [
{ name = "bob", kwargs = {} },
]
tomlkit
[[a]]
name = "bob"
[a.kwargs]
toml_tools
a = [
{ name = "bob", kwargs = {} },
]
toml
[[a]]
name = "bob"
from toml.
Having said that, toml
will correctly parse a sub-array-table, and give your intended output:
>>> a2 = {"a": [{"name": "bob", "kwargs": [{}]}]}
>>> for module in (tomli_w, tomlkit, toml_tools, toml):
... print(module.__name__); print(module.dumps(a2))
...
tomli_w
[[a]]
name = "bob"
kwargs = [
{},
]
tomlkit
[[a]]
name = "bob"
[[a.kwargs]]
toml_tools
[[a]]
name = "bob"
kwargs = [
{},
]
toml
[[a]]
name = "bob"
[[a.kwargs]]
from toml.
Related Issues (20)
- keygroup with empty name is allowed in particular formatting, but not in what toml.dump creates. HOT 1
- Toml decoder is trying to convert IP address string to float HOT 3
- Default TomlEncoder does not escape backslashes correctly
- list object of compound type could not be parsed HOT 1
- New lines in multi-line strings trimmed incorrectly
- dump breaks numpy.str_ into lists of characters HOT 1
- TomlDecodeError: Loading with multiple dictionaries within a dictionary. HOT 1
- Does `toml` not implemente the `TOML` v1.0.0? HOT 1
- Dump Multiline string to toml file HOT 1
- Mystery solved! A fix for the infamous 5 year old \x bug, that is driving users away. HOT 1
- toml.dump turns my strings into arrays HOT 3
- Hash sign inside string value that includes quotes interpreted as comment
- Sub-key with multiline string value is parsed as key, not subkey
- List index out of range + unparseable UTF8 chars HOT 3
- Strings with apostrophes in within inline tables lead to empty arrays HOT 1
- String with escaping char dump error
- mis-parsing date in inline table with trailing spaces
- [BUG] single quote string parse differently in array of inline table HOT 1
- more and more backslashes when repeatedly dump and load
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from toml.