Package: python-valve
Python-valvePython-valve is a Python library which intends to provide an all-in-one
interface to various Valve products and services, including:Source serversA2S server queriesRCONSource master serverSteam web APILocal Steam ClientsValve Data Format/KeyValues (.vdf)To get started, install Python-valve with pip:pip installpython-valve.RCON ExampleIn this example we connect to a Source servers remote console and issue
a simpleechocommand to it.fromvalve.source.rconimportRCONSERVER_ADDRESS=("...",27015)PASSWORD="top_secret"withRCON(SERVER_ADDRESS,PASSWORD)asrcon:print(rcon("echo Hello, world!"))Server Query ExampleIn this example we demonstrate the Source master server and A2S query
implementations by listing all Team Fortress 2 servers in Europe and
Asia running the mapctf_2fort, along with the players on each server
sorted by their score.importvalve.sourceimportvalve.source.a2simportvalve.source.master_serverwithvalve.source.master_server.MasterServerQuerier()asmsq:try:foraddressinmsq.find(region=[u"eu",u"as"],gamedir=u"tf",map=u"ctf_2fort"):withvalve.source.a2s.ServerQuerier(address)asserver:info=server.info()players=server.players()print("{player_count}/{max_players}{server_name}".format(**info))forplayerinsorted(players["players"],key=lambdap:p["score"],reverse=True):print("{score}{name}".format(**player))exceptvalve.source.NoResponseError:print"Master server request timed out!"VersioningPython-valve usesSemantic Versioning. At this
time, Python-valve is yet to reach its 1.0 release. Hence, every minor
version should be considered to potentially contain breaking changes.
Hence, when specifying Python-valve as a requirement, either insetup.pyorrequirements.txt, it’s advised to to pin the
specific minor version. E.g.python-valve==0.2.0.TestingPython-valve usesPytestfor running its
test suite. Unit test coverage is always improving. There are also
functional tests included which run against real Source servers.If working on Python-valve use the following to install the test
dependencies and run the tests:pipinstall-e.[test]py.testtests/--covvalve/DocumentationDocumentation is written usingSphinxand is hosted onRead the Docs.If working on Python-valve use the following to install the documentation
dependencies, build the docs and then open them in a browser.pipinstall-e.[docs](cddocs/&&makehtml)xdg-opendocs/_build/html/index.htmlPython 2Python-valve supports Python 2.7! However, it’s important to bare in
mind that Python 2.7 will not be maintained past 2020. Python-valvemaydrop support for Python 2.7 in a future major release before 2020
in order to make use of new, non-backwards compatible Python 3 features.It’s strongly encouraged that new Python-valve projects use Python 3.TrademarksValve, the Valve logo, Half-Life, the Half-Life logo, the Lambda logo,
Steam, the Steam logo, Team Fortress, the Team Fortress logo, Opposing
Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
Counter-Strike logo, Source, the Source logo, Counter-Strike: Condition
Zero, Portal, the Portal logo, Dota, the Dota 2 logo, and Defense of the
Ancients are trademarks and/or registered trademarks of Valve
Corporation.Any reference to these are purely for the purpose of identification.
Valve Corporation is not affiliated with Python-valve or any
Python-valve contributors in any way.