Metadata-Version: 2.1
Name: py-slippi
Version: 1.3.1
Summary: Parsing library for SSBM replay files
Home-page: https://github.com/hohav/py-slippi
Author: melkor
Author-email: hohav@fastmail.com
License: UNKNOWN
Description: =========
        py-slippi
        =========
        
        Py-slippi is a Python parser for `.slp <https://github.com/JLaferri/project-slippi/wiki/Replay-File-Spec>`_ game replay files for `Super Smash Brothers Melee <https://en.wikipedia.org/wiki/Super_Smash_Bros._Melee>`_ for the Nintendo GameCube. These replays are generated by Jas Laferriere's `Slippi <https://github.com/JLaferri/project-slippi>`_ recording code, which runs on a Wii or the `Dolphin <https://dolphin-emu.org/>`_ emulator.
        
        Installation
        ============
        
        *Requires Python >= 3.6*. To install, run the following command (optionally inside a `virtual environment <https://packaging.python.org/tutorials/installing-packages/#optionally-create-a-virtual-environment>`_):
        
            pip install py-slippi
        
        Usage
        =====
        
        **Reading from a replay file**::
        
            >>> from slippi import Game
            >>> game = Game('test/replays/game.slp')
            >>> game.metadata
            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))
            >>> game.start
            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)
            >>> game.end
            End(method=Method.CONCLUSIVE)
            >>> game.frames[0]
            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))
        
        
        **Iterating over frame data**::
        
            for frame in game.frames:
                data = frame.ports[0].leader # see also: port.follower (ICs)
                print(data.post.state) # character's post-frame action state
        
        API Docs
        ========
        
        See the `Module Index <https://py-slippi.readthedocs.io/en/latest/py-modindex.html>`_ for detailed API docs, starting with `slippi.game <https://py-slippi.readthedocs.io/en/latest/source/slippi.html#module-slippi.game>`_.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: ~=3.6
Description-Content-Type: text/x-rst
