Skip to main content

Module for interacting with various Steam features

Project description

Latest version released on PyPi MIT License Test coverage Build status of master branch

Module for interacting with various Steam features. Install with pip install steam.

WebAPI

Wrapper around Steam Web API. Requires API Key. Upon initialization the instance will fetch all available interfaces from the API and populate the namespace. What interfaces are availability depends on the key.

>>> from steam import WebAPI
>>> api = WebAPI(key="<your api key>")

# instance.<interface>.<method>
>>> api.ISteamWebAPIUtil.GetServerInfo()
>>> api.call('ISteamWebAPIUtil.GetServerInfo')
{u'servertimestring': u'Sun Jul 05 22:37:25 2015', u'servertime': 1436161045}

>>> api.ISteamUser.ResolveVanityURL(vanityurl="valve", url_type=2)
>>> api.call('ISteamUser.ResolveVanityURL', vanityurl="valve", url_type=2)
{u'response': {u'steamid': u'103582791429521412', u'success': 1}}

# call a specific version of the method
>>> api.ISteamUser.ResolveVanityURL_v1(vanityurl="valve", url_type=2)
>>> api.call('ISteamUser.ResolveVanityURL_v1', vanityurl="valve", url_type=2)

It’s not necessary to provide the key when calling any interface method. key, format, raw, http_timeout parameters can be specified on WebAPI to affect all method calls, or when calling a specific method. Some methods have parameters which need to be a list. Trying to call nonexistent method will raise an AttributeError.

Supported formats by web api are: json (default), vdf, xml The response will be deserialized using the appropriate module unless raw is True.

>>> api.ISteamUser.ResolveVanityURL.__doc__  # method doc
"""
ResolveVanityURL (v0001)

  Parameters:
    key                       string   required
      - access key
    url_type                  int32    optional
      - The type of vanity URL. 1 (default): Individual profile, 2: Group, 3: Official game group
    vanityurl                 string   required
      - The vanity URL to get a SteamID for

"""

# or calling doc() will print it
>>> api.ISteamUser.ResolveVanityURL.doc()  # method doc
>>> api.ISteamUser.doc()  # interface and all methods
>>> api.doc()  # all available interfaces

Checkout the wiki for a list of the currently available API interfaces.

SteamID

>>> from steam import SteamID

>>> SteamID()
SteamID(id=0, type='Invalid', universe='Invalid', instance=0)

>>> SteamID(12345)  # accountid
>>> SteamID('12345')
>>> SteamID('STEAM_1:1:6172')  # steam2
SteamID(id=12345, type='Individual', universe='Public', instance=1)

>>> SteamID(103582791429521412)  # steam64
>>> SteamID('103582791429521412')
>>> SteamID('[g:1:4]')  # steam3
SteamID(id=4, type='Clan', universe='Public', instance=0)

# vanity urls are resolved by fetching the community profile page (this is unstable)
# use the WebAPI to reliably resolve vanity urls
>>> SteamID('https://steamcommunity.com/id/drunkenf00l')
>>> SteamID('http://steamcommunity.com/profiles/76561197968459473')  # no request is made
SteamID(id=8193745, type='Individual', universe='Public', instance=1)

>>> group = SteamID('[g:1:4]')
>>> group.id  # accountid
4
>>> group.as_32  # accountid
4
>>> group.as_64
103582791429521412
>>> str(group)
'103582791429521412'
>>> group.as_steam2 # only works for 'Individual' accounts
'STEAM_1:0:2'
>>> group.as_steam3
'[g:1:4]'
>>> group.community_url
'https://steamcommunity.com/gid/103582791429521412'

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

steam-0.5.3.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

steam-0.5.3-py2.py3-none-any.whl (13.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file steam-0.5.3.tar.gz.

File metadata

  • Download URL: steam-0.5.3.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for steam-0.5.3.tar.gz
Algorithm Hash digest
SHA256 014e7237c5040c2e38ba48ff164c51534fd1168eb1ad588a49e4dde712de0d9c
MD5 30ed08cbf4038607701815952a841c78
BLAKE2b-256 aecc3beb54399f1d4b26c7cf49a410e422af42c0cebde8120ff79d27bcdde161

See more details on using hashes here.

File details

Details for the file steam-0.5.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for steam-0.5.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f44c8cde4e6b9e4fc5bb136bda4af23e6394e11c9db536cc401cda5dbca5ac00
MD5 1e292d9a5f25227c9803955636a630b3
BLAKE2b-256 1611fa5d5fb89cd05b08ba21dd267fb3c4a9cd98f46f7a91ebb10275ad25990a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page