{ "info": { "author": "Oliver Ainsworth", "author_email": "ottajay@googlemail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Games/Entertainment" ], "description": "|PyPI| |PyPIPythonVersions| |Travis| |Coveralls|\n\nPython-valve\n============\n\nPython-valve is a Python library which intends to provide an all-in-one\ninterface to various Valve products and services, including:\n\n- Source servers\n\n - A2S server queries\n - RCON\n\n- Source master server\n- Steam web API\n- Local Steam Clients\n- Valve Data Format/KeyValues (.vdf)\n\nTo get started, install Python-valve with pip:\n``pip install python-valve``.\n\n\nRCON Example\n------------\n\nIn this example we connect to a Source servers remote console and issue\na simple ``echo`` command to it.\n\n.. code:: python\n\n from valve.source.rcon import RCON\n\n SERVER_ADDRESS = (\"...\", 27015)\n PASSWORD = \"top_secret\"\n\n with RCON(SERVER_ADDRESS, PASSWORD) as rcon:\n print(rcon(\"echo Hello, world!\"))\n\n\nServer Query Example\n--------------------\n\nIn this example we demonstrate the Source master server and A2S query\nimplementations by listing all Team Fortress 2 servers in Europe and\nAsia running the map ``ctf_2fort``, along with the players on each server\nsorted by their score.\n\n.. code:: python\n\n import valve.source\n import valve.source.a2s\n import valve.source.master_server\n\n with valve.source.master_server.MasterServerQuerier() as msq:\n try:\n for address in msq.find(region=[u\"eu\", u\"as\"],\n gamedir=u\"tf\",\n map=u\"ctf_2fort\"):\n with valve.source.a2s.ServerQuerier(address) as server:\n info = server.info()\n players = server.players()\n print(\"{player_count}/{max_players} {server_name}\".format(**info))\n for player in sorted(players[\"players\"],\n key=lambda p: p[\"score\"], reverse=True):\n print(\"{score} {name}\".format(**player))\n except valve.source.NoResponseError:\n print \"Master server request timed out!\"\n\n\nVersioning\n----------\n\nPython-valve uses `Semantic Versioning `__. At this\ntime, Python-valve is yet to reach its 1.0 release. Hence, every minor\nversion should be considered to potentially contain breaking changes.\nHence, when specifying Python-valve as a requirement, either in\n``setup.py`` or ``requirements.txt``, it's advised to to pin the\nspecific minor version. E.g. ``python-valve==0.2.0``.\n\n\nTesting\n-------\n\nPython-valve uses `Pytest `__ for running its\ntest suite. Unit test coverage is always improving. There are also\nfunctional tests included which run against real Source servers.\n\nIf working on Python-valve use the following to install the test\ndependencies and run the tests:\n\n.. code:: shell\n\n pip install -e .[test]\n py.test tests/ --cov valve/\n\n\nDocumentation\n-------------\n\nDocumentation is written using `Sphinx `__\nand is hosted on `Read the Docs `__.\n\nIf working on Python-valve use the following to install the documentation\ndependencies, build the docs and then open them in a browser.\n\n.. code:: shell\n\n pip install -e .[docs]\n (cd docs/ && make html)\n xdg-open docs/_build/html/index.html\n\n\nPython 2\n--------\n\nPython-valve supports Python 2.7! However, it's important to bare in\nmind that Python 2.7 will not be maintained past 2020. Python-valve\n*may* drop support for Python 2.7 in a future major release before 2020\nin order to make use of new, non-backwards compatible Python 3 features.\n\nIt's strongly encouraged that new Python-valve projects use Python 3.\n\n\nTrademarks\n----------\n\nValve, the Valve logo, Half-Life, the Half-Life logo, the Lambda logo,\nSteam, the Steam logo, Team Fortress, the Team Fortress logo, Opposing\nForce, Day of Defeat, the Day of Defeat logo, Counter-Strike, the\nCounter-Strike logo, Source, the Source logo, Counter-Strike: Condition\nZero, Portal, the Portal logo, Dota, the Dota 2 logo, and Defense of the\nAncients are trademarks and/or registered trademarks of Valve\nCorporation.\n\nAny reference to these are purely for the purpose of identification.\nValve Corporation is not affiliated with Python-valve or any\nPython-valve contributors in any way.\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/python-valve.svg?style=flat-square\n :target: https://pypi.python.org/pypi/python-valve\n.. |PyPIPythonVersions| image:: https://img.shields.io/pypi/pyversions/python-valve.svg?style=flat-square\n :target: https://pypi.python.org/pypi/python-valve\n.. |Travis| image:: https://img.shields.io/travis/serverstf/python-valve.svg?style=flat-square\n :target: https://travis-ci.org/serverstf/python-valve\n.. |Coveralls| image:: https://img.shields.io/coveralls/serverstf/python-valve.svg?style=flat-square\n :target: https://coveralls.io/github/serverstf/python-valve", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/serverstf/python-valve", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "python-valve", "package_url": "https://pypi.org/project/python-valve/", "platform": "", "project_url": "https://pypi.org/project/python-valve/", "project_urls": { "Homepage": "https://github.com/serverstf/python-valve" }, "release_url": "https://pypi.org/project/python-valve/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "Python implementation for Source servers, RCON, A2S, VDF, the Steam Web API and various other Valve products and services.", "version": "0.2.1" }, "last_serial": 3203958, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b486f5ef1a344d14a0a7585c16555dea", "sha256": "6bbc8688ae07755319eb06a79b361437744873b58240f7e4a0a7589b17b6851b" }, "downloads": -1, "filename": "python-valve-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b486f5ef1a344d14a0a7585c16555dea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38299, "upload_time": "2015-10-08T21:14:28", "url": "https://files.pythonhosted.org/packages/7b/48/d27f1273886c977f8c77cf18524b5f5cae0a19bbb68911dabbe87dea5e86/python-valve-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0f605f0eef3746405d1a3af0d22be648", "sha256": "b63741100ad412a0e1f7f2d1d2239897f5b3e3a977cb3895e6e6ca5866370882" }, "downloads": -1, "filename": "python-valve-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0f605f0eef3746405d1a3af0d22be648", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38772, "upload_time": "2015-11-25T21:38:55", "url": "https://files.pythonhosted.org/packages/59/db/3efab4f1a84e3459ee1f529e4d9992d363e7090f13dc4385e48add8e3947/python-valve-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "cd5758b2350298775765107080314620", "sha256": "aef104bb678bad8406b4a18f267ff809cd60838bfec61e1d08e21889b7463753" }, "downloads": -1, "filename": "python-valve-0.2.0.tar.gz", "has_sig": false, "md5_digest": "cd5758b2350298775765107080314620", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43234, "upload_time": "2017-09-11T23:07:26", "url": "https://files.pythonhosted.org/packages/16/23/60e3d22d1a2989258018c6f6ad3a1d77c88d2d3e555651eb90456a8592a6/python-valve-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0358ec88babb2c1ef47b249b18d18355", "sha256": "589283d2235bd14992c2c81f98112b20b7aeac5cb72da0597fd57eea72a19c95" }, "downloads": -1, "filename": "python-valve-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0358ec88babb2c1ef47b249b18d18355", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43713, "upload_time": "2017-09-26T13:20:11", "url": "https://files.pythonhosted.org/packages/50/4e/4887a216bc7f562b55fbc95259d46eccdd19d682755b8d09c6d82e8f77b6/python-valve-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0358ec88babb2c1ef47b249b18d18355", "sha256": "589283d2235bd14992c2c81f98112b20b7aeac5cb72da0597fd57eea72a19c95" }, "downloads": -1, "filename": "python-valve-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0358ec88babb2c1ef47b249b18d18355", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43713, "upload_time": "2017-09-26T13:20:11", "url": "https://files.pythonhosted.org/packages/50/4e/4887a216bc7f562b55fbc95259d46eccdd19d682755b8d09c6d82e8f77b6/python-valve-0.2.1.tar.gz" } ] }