RPCS3 Forums

Full Version: Help Understanding RPCS3 Compatibility List Data Mapping
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello everyone,
I’m new to posting here, but I’ve been working on a project and wanted to reach out for some guidance. I’m querying the RPCS3 Compatibility API (https://rpcs3.net/compatibility?api=v1&export) to pull down the compatibility data, processing it in Python, and saving it to a CSV for use in automation and file mapping on my computer.

What I’m Trying to Achieve:
I’m aiming to create a CSV file containing all the entries from the compatibility list, including game_id, title, status, and other fields. This will help me better manage my collection and automate certain tasks.

How I’m Going About It:
I’m using Python to fetch the JSON data from the API.
The data is parsed into a Pandas DataFrame, and I process it to:
Extract relevant fields such as game_id, title, and status.
Save it as both a cleaned JSON file and a CSV for further use.

What I’ve Observed:
While inspecting the JSON data, I noticed that some game_ids lack the patchsets field, which normally contains the title of the game. However, when I check the RPCS3 Compatibility website, those same game_ids are correctly mapped to their titles.

My Question:
Is there an additional source or internal mapping that the RPCS3 Compatibility List uses to connect game_ids to their titles when the patchsets field is missing in the JSON? If so, how can I access or replicate this mapping
I’d appreciate any insights into how this mapping is achieved or advice on how I might fill in the gaps for missing titles in the JSON data.
I’m happy to share my Python code for pulling and processing the data if it would be helpful.

Example:
When parsing through the data from the .json, I came across game_id 'BLUS30279'. This game_id is mapped to Batman: Arkham Asylum on https://rpcs3.net/compatibility?g=asylum#jump but when you examine the .json file, there is no patchsets information, thus there is no title to map to the game_id. 
From .json:
"BLUS30279": {
"status": "Playable",
"date": "2023-03-18",
"update": "",
"patchsets": []
},

Thank you!
The patchsets data comes from the PS3 updates API as-is, we don't modify the data other than importing it as XML and exporting it as JSON. This data is completely optional and it's only used by the emulator to display if an update is available, or to display changelog information when installing a package, if available. This data is not used in any way by the compatibility list other than displaying the list of available updates, when you click a table row in order to expand it to show update information.

Game titles are not exported through that API since it's data meant for emulator usage where the game title is already present. There are several other fields in the database such as wiki page ID, forum thread ID that are not exported since it's data the emulator doesn't use.