Python library for parsing the most common Steam file formats.
Project description
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
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file steamfiles-0.1.4.tar.gz
.
File metadata
- Download URL: steamfiles-0.1.4.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b55c16897fb75e4a357ac02b1cba0feeffe1074204a07696dbba07c0574a71c5 |
|
MD5 | edf362d89f5f52711d3fed16ed71e95f |
|
BLAKE2b-256 | 7af4a55dad3536ce0547c87e49d744797bcaa2474a5363ef688576ac60c3d3c2 |