Skip to main content

PS5 Title Update Information

This Python package retrieves information about updates available for a PS5 title. The information is stored in a Ps5TitleUpdate object which you can integrate into your application.

A similar package for PS4 title updates is available here: https://pypi.org/project/ps4-updates/

Installation

pip install ps5-updates

Typical Usage

An example implementation is included in src/demo.py.

Create a Ps5TitleUpdate object using the titles update XML URL or a the URL to a specific updates _sc.pkg file.

Invoke get_update() on the object to download information about all currently available update packages. This will partially download the update .pkg file to extract the param.json where metadata about the update is stored.

The latest update is available as a ContentPackage object in the latest attribute. If the title has multiple updates currently available (ie. there is a pre-download for an upcoming update, or a pre-release update) then each individual update is available as a ContentPackage object in the packages attribute.

Within the ContentPackage object, information about the update .pkg file is available as a PKG object on the pkg attribute.

Within the PKG object the param.json data is available as a PKG_Param object. Any information from this file which is not specifically mapped to attributes on the object can be accessed by invoking get_property('name').

Titles can also include Additional Content (ie. DLC). If any Additional Content is available then it is available as an AdditionalContent object in the additional_content attribute of the Ps5TitleUpdate object. Accessing the update information then mirrors the above except it is accessed via the AdditionalContent objects latest or packages attributes.

Limitations

This package is not intended for downloading entire PS5 title update files, although it can be used to download and save files from within an updates _sc.pkg file.

Only information about the currently available update version can be retrieved. However if you have the URL for an specific updates _sc.pkg file then you can create a PKG object directly from that and parse some information about the update.

Keep in mind when considering the attributes of a PKG (the features that it is flagged as supporting) that it does not necessarily mean that the game has a mode available which actually implements the feature. This is true at least for features like 120hz and PSSR; whereas other features like VRR, HDR, and Power Saver do always seem to be available whenever the PKG is flagged as supporting them.

Unlike PS4 and earlier titles the update XML URLs are not predetermined. They can only be obtained from the app_sc.pkg file on a PS5 game disc, from the entitlement.db file on an exploitable console, or from the _sc.pkg of an already known update.

Usage Examples

An example implementation is included in src/demo.py.

Create Ps5TitleUpdate object and retrieve latest update information

from ps5_updates import title as ps5up

url = 'https://sgst.prod.dl.playstation.net/sgst/prod/00/np/PPSA07632_00/53d40bc7-7b1a-403c-8260-4b293b1711fd-version.xml'
title = ps5up.Ps5TitleUpdate.from_url(url)
title.get_update()
print(f'Title Id:       {title.title_id}')
print(f'Content Id:     {title.content_id}')
print(f'Name:           {title.latest.pkg.param.name}')
print(f'Version:        {title.latest.version}')
print(f'Creation Date:  {title.latest.pkg.param.creation_date}')
print(f'System Version: {title.latest.system_version}')
print(f'Size:           {title.latest.update_size}')

Console Output

Title Id:       PPSA07632_00
Content Id:     UP9000-PPSA07632_00-SAROS00000000000
Name:           SAROS
Version:        01.004.003
Creation Date:  2026-05-14 00:37:26
System Version: 13.20.00.06
Size:           78.27 GiB

Create a PKG object and retrieve information about a specific update

from ps5_updates import pkg as ps5pkg

url = 'https://sgst.prod.dl.playstation.net/sgst/prod/00/PPSA18654_00/app/info/95/f_23e129465f761a049d5477f4f4ec67db738a31927e981faa7ffb5b7eec9cb4c5/UP6312-PPSA18654_00-0220083948426038_sc.pkg'
pkg = ps5pkg.PKG.from_url(url)
print(f'Title Id:       {pkg.param.title_id}')
print(f'Content Id:     {pkg.param.content_id}')
print(f'Name:           {pkg.param.name}')
print(f'Version:        {pkg.param.content_version}')
print(f'Creation Date:  {pkg.param.creation_date}')
print(f'System Version: {pkg.param.required_system_version}')
print(f'Update URL:     {pkg.param.version_url}')

Console Output

Title Id:       PPSA18654
Content Id:     UP6312-PPSA18654_00-0220083948426038
Name:           Age of Empires II: Definitive Edition
Version:        01.029.000
Creation Date:  2026-04-24 19:24:29
System Version: 13.00.00.00
Update URL:     https://sgst.prod.dl.playstation.net/sgst/prod/00/np/PPSA18654_00/935e23b3-169e-439b-99d8-ae2b8b534b37-version.xml

Development

All commands after step 1 should be run from the root of the git repo

1. Clone the repo

git clone git@github.com:andshrew/PS5-Updates-Python.git

2. Create and load a virtual python environment

python -m venv .venv
source .venv/bin/activate

3. Install the package in editable mode

pip install -e ".[test]"

4. Build the package

pip install build
python -m build

Additional Thanks

psdevwiki - documentation on PKG file format and param.json files

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ps5_updates-0.9.4.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ps5_updates-0.9.4-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file ps5_updates-0.9.4.tar.gz.

File metadata

  • Download URL: ps5_updates-0.9.4.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ps5_updates-0.9.4.tar.gz
Algorithm Hash digest
SHA256 a18cc0ac76d5aa4ff2221e0580d352b7e6c43c4d2fdef7a2ca9af4cc5c3f0b36
MD5 e730da90c56a244032c2a7a0f95ce3f2
BLAKE2b-256 963430e846bc6aaa913818bd82f9ed917b72d454b44cd010a34503376d92fb27

See more details on using hashes here.

Provenance

The following attestation bundles were made for ps5_updates-0.9.4.tar.gz:

Publisher: publish-to-pypi.yml on andshrew/PS5-Updates-Python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ps5_updates-0.9.4-py3-none-any.whl.

File metadata

  • Download URL: ps5_updates-0.9.4-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ps5_updates-0.9.4-py3-none-any.whl
Algorithm Hash digest
SHA256 37e969a8962ac148a96a1fe54d8317ae0de3b6ea3b53134648c6dbed5f36ab53
MD5 b4cbc2d8d145d2daea97cab67f4d9834
BLAKE2b-256 f7b31fea9b7b86e3421dafbd2d213fc4ac060f6727e0162de19febd8ef6568cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ps5_updates-0.9.4-py3-none-any.whl:

Publisher: publish-to-pypi.yml on andshrew/PS5-Updates-Python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.9.4 This release

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page