Generates a single manifest.json at data/ containing all cars across supported sim game folders. This makes it easy for consuming applications to discover available cars globally and filter by game.
python3 scripts/generate_manifest.pyThe script will:
- Scan all subdirectories in
data/ - Read each car JSON file (ignoring any existing per-sim
manifest.jsonfiles) - Extract
carName,carId, and filename - Generate a single
data/manifest.jsonwith entries including the game name - Report any errors or invalid files per game folder
The root data/manifest.json contains:
{
"cars": {
"AssettoCorsa": [
{
"carName": "Ferrari 488 GT3",
"carId": "ferrari_488_gt3",
"path": "AssettoCorsa/ferrari_488_gt3.json"
}
],
"AssettoCorsaCompetizione": [
{ "carName": "BMW M4 GT3", "carId": "bmw_m4_gt3", "path": "AssettoCorsaCompetizione/bmw_m4_gt3.json" }
]
}
}Notes:
- Top-level
carsis an object keyed by game folder name. - Each game contains an array of car entries.
pathis relative todata/and includes the game folder.
Run the test suite:
python3 scripts/test_generate_manifests.pyFor verbose output:
python3 scripts/test_generate_manifests.py -v- Python 3.6+
- No external dependencies
The script will:
- Skip files with invalid JSON
- Skip files missing required
carIdfield - Report all errors but continue processing, grouped per game folder
- Only create the root manifest if at least one valid car exists