This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
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.3+

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)

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 History

Release History

0.1.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting