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

Metadata

Release files for ps5-updates 0.9.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ps5-updates 0.9.4
File Size Uploaded Provenance Actions
ps5_updates-0.9.4.tar.gz 17.8 kB With provenance Details for ps5_updates-0.9.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ps5-updates 0.9.4
File Interpreter ABI Platform Actions
ps5_updates-0.9.4-py3-none-any.whl Python 3 none any Details for ps5_updates-0.9.4-py3-none-any.whl

Total release size: 40.2 kB

Release files / ps5_updates-0.9.4.tar.gz

Download URL ps5_updates-0.9.4.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a18cc0ac76d5aa4ff2221e0580d352b7e6c43c4d2fdef7a2ca9af4cc5c3f0b36
BLAKE2b-256 checksum
How to use checksums
963430e846bc6aaa913818bd82f9ed917b72d454b44cd010a34503376d92fb27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / ps5_updates-0.9.4-py3-none-any.whl

Download URL ps5_updates-0.9.4-py3-none-any.whl
Size 22.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37e969a8962ac148a96a1fe54d8317ae0de3b6ea3b53134648c6dbed5f36ab53
BLAKE2b-256 checksum
How to use checksums
f7b31fea9b7b86e3421dafbd2d213fc4ac060f6727e0162de19febd8ef6568cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Security for ps5-updates 0.9.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ps5_updates-0.9.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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