Skip to main content
Latest version Travis-CI Coverage
Python library for parsing the most common Steam file formats.
The library has a familiar JSON-like interface: load() / loads() for loading the data,
and dump() / dumps() for saving the data back to the file.

Format support

Read

Write

acf

+

+

appinfo.vdf

+

+

Manifest

+

+

Quickstart

steamfiles requires Python 3.5+

Install the latest stable version:

pip install steamfiles

Import a module for your desired format:

# Use one of these, or all at once!
from steamfiles import acf
from steamfiles import appinfo
from steamfiles import manifest

Easily load data, modify it and dump back:

with open('appinfo.vdf', 'rb') as f:
    data = appinfo.load(f)

# Calculate the total size of all apps.
total_size = sum(app['size'] for app in data.values())
print(total_size)

# Downgrade a change number for all apps.
for app in data.values():
    app['change_number'] -= 1

with open('new_appinfo.vdf', 'wb') as f:
    appinfo.dump(data, f)

Caution: all formats are parsed into dict by default, so the order of data is very likely not the same. As I’m not sure how Steam and related tools deal with rearranged data, pass an OrderedDict class to the wrapper parameter if you plan to write data back and use it later:

from collection import OrderedDict
data = acf.load(f, wrapper=OrderedDict)
# works with other formats as well

Documentation

ACF format overview

More in progress…

TODO

  • [✓] ACF support

  • [✓] appinfo.vdf support (Binary VDF)

  • [✓] Manifest support

  • [?] packageinfo.vdf (Another binary VDF)

  • [?] UserGameStats (achievements)

  • [?] Text VDF files (are they actually ACF?)

License

steamfiles is distributed under the terms of the MIT license.

See the bundled LICENSE file for more details.

Release files for steamfiles 0.1.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 steamfiles 0.1.4
File Size Uploaded
steamfiles-0.1.4.tar.gz 11.5 kB Details

Release files / steamfiles-0.1.4.tar.gz

Download URL steamfiles-0.1.4.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b55c16897fb75e4a357ac02b1cba0feeffe1074204a07696dbba07c0574a71c5
BLAKE2b-256 checksum
How to use checksums
7af4a55dad3536ce0547c87e49d744797bcaa2474a5363ef688576ac60c3d3c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

Release history Release notifications | RSS feed

This release

0.1.4 This release

1 release file

0.1.3

1 release file

0.1.2

0.1.1

1 release file

0.1.0

1 release file

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