{ "info": { "author": "melkor", "author_email": "hohav@fastmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "=========\npy-slippi\n=========\n\nPy-slippi is a Python parser for `.slp `_ game replay files for `Super Smash Brothers Melee `_ for the Nintendo GameCube. These replays are generated by Jas Laferriere's `Slippi `_ recording code, which runs on a Wii or the `Dolphin `_ emulator.\n\nInstallation\n============\n\n*Requires Python >= 3.6*. To install, run the following command (optionally inside a `virtual environment `_):\n\n pip install py-slippi\n\nUsage\n=====\n\n**Reading from a replay file**::\n\n >>> from slippi import Game\n >>> game = Game('test/replays/game.slp')\n >>> game.metadata\n Metadata(date=2018-06-22 07:52:59+00:00, duration=5086, platform=Platform.DOLPHIN, players=(Player(characters={InGameCharacter.MARTH: 5086}), Player(characters={InGameCharacter.FOX: 5086}), None, None))\n >>> game.start\n Start(is_teams=False, players=(Player(character=CSSCharacter.MARTH, costume=3, stocks=4, team=None, type=Type.HUMAN, ucf=UCF(dash_back=False, shield_drop=False)), Player(character=CSSCharacter.FOX, costume=0, stocks=4, team=None, type=Type.CPU, ucf=UCF(dash_back=False, shield_drop=False)), None, None), random_seed=3803194226, slippi=Slippi(version=1.0.0.0), stage=Stage.YOSHIS_STORY)\n >>> game.end\n End(method=Method.CONCLUSIVE)\n >>> game.frames[0]\n Frame(index=-123, ports=(Port(follower=None, leader=Data(post=Post(character=InGameCharacter.MARTH, combo_count=0, damage=0.00, direction=Direction.RIGHT, last_attack_landed=None, last_hit_by=None, position=(-31.94, 0.00), shield=59.66, state=ActionState.LANDING, state_age=7.00, stocks=4), pre=Pre(buttons=Buttons(logical=Logical.NONE, physical=Physical.NONE), cstick=(0.00, 0.00), direction=Direction.RIGHT, joystick=(0.00, 0.00), position=(-32.08, 0.00), random_seed=1373931959, state=ActionState.LANDING, triggers=Triggers(logical=0.00, physical=Physical(l=0.00, r=0.00))))), Port(follower=None, leader=Data(post=Post(character=InGameCharacter.FOX, combo_count=0, damage=0.00, direction=Direction.LEFT, last_attack_landed=None, last_hit_by=None, position=(9.96, 53.35), shield=60.00, state=ActionState.JUMP_F, state_age=19.00, stocks=4), pre=Pre(buttons=Buttons(logical=Logical.NONE, physical=Physical.NONE), cstick=(0.00, 0.00), direction=Direction.LEFT, joystick=(-0.99, 0.00), position=(10.78, 54.04), random_seed=1373931959, state=ActionState.JUMP_F, triggers=Triggers(logical=0.00, physical=Physical(l=0.00, r=0.00))))), None, None))\n\n\n**Iterating over frame data**::\n\n for frame in game.frames:\n data = frame.ports[0].leader # see also: port.follower (ICs)\n print(data.post.state) # character's post-frame action state\n\nAPI Docs\n========\n\nSee the `Module Index `_ for detailed API docs, starting with `slippi.game `_.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hohav/py-slippi", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "py-slippi", "package_url": "https://pypi.org/project/py-slippi/", "platform": "", "project_url": "https://pypi.org/project/py-slippi/", "project_urls": { "Homepage": "https://github.com/hohav/py-slippi" }, "release_url": "https://pypi.org/project/py-slippi/1.3.1/", "requires_dist": [ "py-ubjson", "termcolor" ], "requires_python": "~=3.6", "summary": "Parsing library for SSBM replay files", "version": "1.3.1" }, "last_serial": 5867666, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "54c58eecf1865b9d024445fa0c953f7e", "sha256": "8050525d2d51e477fbff18720b526f651a36d0f3637b4bdaaf96e88c04cf090c" }, "downloads": -1, "filename": "py_slippi-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "54c58eecf1865b9d024445fa0c953f7e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 14831, "upload_time": "2018-06-29T18:09:12", "url": "https://files.pythonhosted.org/packages/50/4b/0298887989b6df6b518e732c153dec94289035d0df31008830bdda873d80/py_slippi-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04c5b33b99a75cfd0b0913e30924b737", "sha256": "f1e8cf49e9dcbb2472bb276ded94e7f861e1b2f561b473dc459d79eadf77fdc0" }, "downloads": -1, "filename": "py-slippi-1.0.0.tar.gz", "has_sig": false, "md5_digest": "04c5b33b99a75cfd0b0913e30924b737", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 12679, "upload_time": "2018-06-29T18:09:13", "url": "https://files.pythonhosted.org/packages/57/0d/81edeb14bdcfbc3626b7eddb0e18be30473af4acadd0fe3c44c11983a806/py-slippi-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "2aff2d3933e6aa27d8243a41fd071a5a", "sha256": "bf8dc4d04d7c889ce0da744ec90f225124d215e792640cec857be61405498bfb" }, "downloads": -1, "filename": "py_slippi-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2aff2d3933e6aa27d8243a41fd071a5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 15227, "upload_time": "2018-07-03T20:23:46", "url": "https://files.pythonhosted.org/packages/05/88/f784b2a32117ae53075511549124b896db74191361d9e17cd1dc455c7ac5/py_slippi-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e83167fd249e7f975dc38fab69d65d4", "sha256": "936ac66a259b16b26e6f4178d74626ebe695e0d153c25e07cc545a847bedf4db" }, "downloads": -1, "filename": "py-slippi-1.0.1.tar.gz", "has_sig": false, "md5_digest": "1e83167fd249e7f975dc38fab69d65d4", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 12973, "upload_time": "2018-07-03T20:23:48", "url": "https://files.pythonhosted.org/packages/c5/f2/cfb743bd8393c48d6727f5993a6da219a95214587b6a43531217b274a528/py-slippi-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "01260fc7345966ed77fc6cc145c2265d", "sha256": "82ef7f69cd3266fdc1aa8023872ce8be8b0c8c7f40e31e4c304506061caa1060" }, "downloads": -1, "filename": "py_slippi-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "01260fc7345966ed77fc6cc145c2265d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 15105, "upload_time": "2018-07-05T20:47:42", "url": "https://files.pythonhosted.org/packages/71/6b/0b2845f15c16555dcfa52855850eb30f83ae6065faeca776d69930e00d4f/py_slippi-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6cbc80659c7ad440908fa0388c91b403", "sha256": "d83c420cace70ea480d7d4a75c4e7193859879d987aa6a9e8ce16b3d56a1d624" }, "downloads": -1, "filename": "py-slippi-1.0.2.tar.gz", "has_sig": false, "md5_digest": "6cbc80659c7ad440908fa0388c91b403", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 12902, "upload_time": "2018-07-05T20:47:44", "url": "https://files.pythonhosted.org/packages/b2/0e/713fb906f86f2b8cdcce109a17c217392615444b6b997eda83745911bcc8/py-slippi-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1a0165b0cf4390631dd147c468abd7ba", "sha256": "e8932a491ff19f6dbd064af24ba60e31f77094125676421c659ecbd01fc1f258" }, "downloads": -1, "filename": "py_slippi-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1a0165b0cf4390631dd147c468abd7ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 15138, "upload_time": "2018-07-14T21:04:40", "url": "https://files.pythonhosted.org/packages/5d/62/0d9c78fae9c7f004970533de89be27ec383cf737a2209e6f79fd3283e93e/py_slippi-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23843aad14f8c1769904554b8f7893d4", "sha256": "675cd0bb0e477cb43b86f2c59eaa5e1e4d8bfff119b416ed86d7c0927325a79b" }, "downloads": -1, "filename": "py-slippi-1.0.3.tar.gz", "has_sig": false, "md5_digest": "23843aad14f8c1769904554b8f7893d4", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 12939, "upload_time": "2018-07-14T21:04:41", "url": "https://files.pythonhosted.org/packages/6c/f6/454db353ba031097a49c17d192ff918636d967b1ef6f3c40eebe01376d16/py-slippi-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "81f02d4b3a2f46c3a4cef219f201c83c", "sha256": "7b18d56bd2d4e01794db84ed8b7f1592ffad4b21753098b894d792e0a236f7fc" }, "downloads": -1, "filename": "py_slippi-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "81f02d4b3a2f46c3a4cef219f201c83c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 13938, "upload_time": "2019-01-05T23:40:16", "url": "https://files.pythonhosted.org/packages/77/15/cc95e1984b4bc6755b0a06c6272e39a998542844f81541c409e291b7262f/py_slippi-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ad1ae46efc634b84598e9cf90e4a384", "sha256": "0a03ff29ba2b39e8ae24c47f825b9f80e799fbf8c773cc4e38ab1fbba80035cd" }, "downloads": -1, "filename": "py-slippi-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4ad1ae46efc634b84598e9cf90e4a384", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 13200, "upload_time": "2019-01-05T23:40:18", "url": "https://files.pythonhosted.org/packages/db/c4/8b5655634ac78c4d62e95d1eaaca38cd4c86e6b45c90c7af8738b138510e/py-slippi-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "8b099911011df49f1ef7dd4e0e6a13f0", "sha256": "82f7092729d4f43cb0511d0fddf0f321b8a98ff85c0ddc01b962bfaa9fc1b20a" }, "downloads": -1, "filename": "py_slippi-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8b099911011df49f1ef7dd4e0e6a13f0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 18703, "upload_time": "2019-04-07T19:44:10", "url": "https://files.pythonhosted.org/packages/40/1b/d1acacac5b49b5fa76cb8acb9a522080543355d6e7e0096ab7f114520f06/py_slippi-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c924fdb90a82856aedd03423dfc59fa", "sha256": "f14f03b7e6afa27ee8f8203fbc432bc712e781740aa49ca269c41fb763f4df72" }, "downloads": -1, "filename": "py-slippi-1.2.0.tar.gz", "has_sig": false, "md5_digest": "3c924fdb90a82856aedd03423dfc59fa", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 16152, "upload_time": "2019-04-07T19:44:12", "url": "https://files.pythonhosted.org/packages/f4/54/42b542c16c208351be5ca51dd0fe03020b8b53586b808c799ffc4ffd2ee4/py-slippi-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "ecb8d10487f134fadf0a45a4f92e9353", "sha256": "6e36f23de096f2583d59f62af82e06074ab88a7c879eee2468e4ba0f1468e524" }, "downloads": -1, "filename": "py_slippi-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ecb8d10487f134fadf0a45a4f92e9353", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 19466, "upload_time": "2019-05-11T23:39:51", "url": "https://files.pythonhosted.org/packages/6e/6d/33e27a4e223df668b6460725dc5e7cbb83c06e2714246ce40991571e1c19/py_slippi-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57d39fd02227716f70cf2cef91546fa7", "sha256": "2df1187c621dbf52a798e76c70cd0bb0e80bf4919537911fba89e19cdb6162ed" }, "downloads": -1, "filename": "py-slippi-1.3.0.tar.gz", "has_sig": false, "md5_digest": "57d39fd02227716f70cf2cef91546fa7", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 16964, "upload_time": "2019-05-11T23:39:52", "url": "https://files.pythonhosted.org/packages/0e/1e/c02bf83e75cba3939eb178d208d07a4f22a5840bd9efd4a455b46ab57185/py-slippi-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "bf09425763a28dd7b013bfd9f6a90c53", "sha256": "fa182c48f7791bcef7e2dd40cf07981567754b8bc98e4c5f16ba8769d36a6da0" }, "downloads": -1, "filename": "py_slippi-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bf09425763a28dd7b013bfd9f6a90c53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 17349, "upload_time": "2019-09-22T02:22:40", "url": "https://files.pythonhosted.org/packages/9d/d5/02551f6630216ef41a2007441551763db7df6a36b00c0908935f754ead43/py_slippi-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "082c663d15cd9223d545809f2bce8cbc", "sha256": "4e382e27755af1f77a2cb8e72cbfeadb27be45a8000b5b0558f9dad6d406d2c2" }, "downloads": -1, "filename": "py-slippi-1.3.1.tar.gz", "has_sig": false, "md5_digest": "082c663d15cd9223d545809f2bce8cbc", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 14798, "upload_time": "2019-09-22T02:22:41", "url": "https://files.pythonhosted.org/packages/04/94/f96f475d578cdb3e678bd9573a42bcf992198ff38a909b3abc9d5ff9dbb3/py-slippi-1.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf09425763a28dd7b013bfd9f6a90c53", "sha256": "fa182c48f7791bcef7e2dd40cf07981567754b8bc98e4c5f16ba8769d36a6da0" }, "downloads": -1, "filename": "py_slippi-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bf09425763a28dd7b013bfd9f6a90c53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 17349, "upload_time": "2019-09-22T02:22:40", "url": "https://files.pythonhosted.org/packages/9d/d5/02551f6630216ef41a2007441551763db7df6a36b00c0908935f754ead43/py_slippi-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "082c663d15cd9223d545809f2bce8cbc", "sha256": "4e382e27755af1f77a2cb8e72cbfeadb27be45a8000b5b0558f9dad6d406d2c2" }, "downloads": -1, "filename": "py-slippi-1.3.1.tar.gz", "has_sig": false, "md5_digest": "082c663d15cd9223d545809f2bce8cbc", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 14798, "upload_time": "2019-09-22T02:22:41", "url": "https://files.pythonhosted.org/packages/04/94/f96f475d578cdb3e678bd9573a42bcf992198ff38a909b3abc9d5ff9dbb3/py-slippi-1.3.1.tar.gz" } ] }