Flatterer is associated with the [[Data Package (standard)]]. It's an "opinionated [[JSON]] to [[CSV]]/[[Excel]]/[[SQLite]]/[[Postgres]]/[[Parquet]] translator". It's written is [[Rust]][^1], but with [[Python]] bindings.
## Example
### Input
```json
`games.json`:
[
{
"id": 1,
"title": "A Game",
"releaseDate": "2015-01-01",
"platforms": [
{"name":"Xbox"},
{"name":"Playstation"}
],
"rating": {
"code": "E",
"name": "Everyone"
}
},
{
"id": 2,
"title": "B Game",
"releaseDate": "2016-01-01",
"platforms": [
{"name":"PC"}
],
"rating": {
"code": "E",
"name": "Everyone"
}
}
]
```
### Output
You get a new directory with the following structure.
```plaintext
games_dir/
├── csv
│ ├── games.csv
│ └── platforms.csv
├── datapackage.json
├── fields.csv
└── ...
```
Where the [[Data Package (standard)]] is used, and the contents are turned into tables (in this case represented as [[CSV]] files). The `fields.csv` is a metadata table describing the contents of the other tables. (feels duplicative of the data package, but I've never actually used it).
****
# More
## Source
- [https://docs.flatterer.dev](https://docs.flatterer.dev/)
[^1]: Yet another example of a tool written in Rust for the benefit of another language.