{ "info": { "author": "Brandon Cooke", "author_email": "brandoncookedev@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# smashggpy\n\n**smashggpy** is an SDK that wraps around the public smash.gg GraphQL API. \nIt implements a series of easy to use objects, and features a background thread which\nmanages outstanding queries to handle GraphQL's Rate Limiting feature.\n\n* Author\n * Brandon Cooke (brandoncookedev@gmail.com)\n\n- [Getting Started](#getting-started)\n- [Docs](#docs)\n - [Tournament](#tournament)\n - [Event](#event)\n - [Phase](#phase)\n - [PhaseGroup](#phasegroup)\n - [GGSet](#ggset)\n - [Player](#player)\n - [Entrant](#entrant)\n - [Attendee](#attendee)\n - [Stream](#stream)\n\n## Getting Started\n\n```python\nfrom smashggpy.models.Event import Event\nfrom smashggpy.util import Initializer\nfrom smashggpy.util.QueryQueueDaemon import QueryQueueDaemon\n\nif __name__ == '__main__':\n Initializer.initialize('API_KEY', 'info')\n to12_melee = Event.get('tipped-off-12-presented-by-the-lab-gaming-center', 'melee-singles')\n sets = to12_melee.get_sets()\n for ggset in sets:\n print(\"{0}: {1} {2} - {3} {4}\".format(\n ggset.full_round_text,\n ggset.player1,\n ggset.score1,\n ggset.score2,\n ggset.player2)\n )\n\n QueryQueueDaemon.kill_daemon()\n```\n \nThis results in the following:\n\n```\nWinners Final: MVG FOX | Mew2King 2 - 0 OeS | NIX\nLosers Semi-Final: Gas$ 0 - 2 bobby big ballz\nWinners Semi-Final: MVG FOX | Mew2King 2 - 0 Gas$\nWinners Semi-Final: OeS | NIX 2 - 0 bobby big ballz\nLosers Quarter-Final: bobby big ballz 2 - 0 DarkGenex\nLosers Quarter-Final: Gas$ 2 - 0 Cynax\nLosers Round 3: Greenmario 1 - 2 Cynax\nLosers Round 3: DarkGenex 2 - 0 CV | Cloud-9\n....\n```\n----\n## Docs\n\n### Initializer\n\n#### Methods\n* **initialize(api_key [, log_level])**\n * initialize the SDK\n * parameters\n * api_key\n * string\n * the api key to access the smash.gg API\n * *optional*: log_level\n * string\n * log level for the built-in logger\n * allowed values:\n * 'critical'\n * 'error'\n * 'warning'\n * 'info'\n * 'debug'\n\n### QueryQueueDaemon\n\n#### Methods\n* **kill_daemon()** \n * ends the parallel thread that is monitoring the QueryQueue\n * **NOTE** call this if you need your program to terminate, otherwise ignore\n\n### Tournament\n\n#### Properties\n* **id**\n * int \n * id of the tournament object\n* **name**\n * string \n * name of the tournament\n* **slug**\n * string \n * url slug of the tournament\n* **start_time**\n * int \n * unix epoch of the tournament start time\n* **end_time**\n * int\n * unix epoch of the tournament end time\n* **timezone**\n * string \n * timezone the tournament took place in\n* **venue**\n * [Venue](#venue)\n* **organizer**\n * [Organizer](#organizer)\n\n#### Methods\n\n##### Static\n* **get(tournament_slug)**\n * get tournament data from smashgg for the corresponding tournament slug\n * parameters\n * tournament_slug\n * string\n * long-name slug for a tournament\n * function-3-recursion-series\n * tipped-off-12-presented-by-the-lab-gaming-center\n * ceo-2016\n * returns [Tournament](#tournament)\n* **parse(data)**\n * parse smash.gg api data into a Tournament object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [Tournament](#tournament)\n* **get_events()**\n * get all the events for a given tournament\n * returns [Event](#event)[]\n* **get_phases()**\n * get all the phases for a given tournament\n * returns [Phase](#phase)[]\n* **get_phase_groups()**\n * get all the phase groups for a given tournament\n * returns [PhaseGroup](#phasegroup)[]\n* **get_attendees()**\n * get all the attendees for a given tournament\n * returns [Attendee](#attendee)[]\n* **get_entrants()**\n * get all the entrants for a given tournament\n * returns [Entrant](#entrant)[] \n* **get_sets()**\n * get all of the sets played for a given tournament\n * returns [GGSet](#ggset)[]\n* **get_incomplete_sets()**\n * get all of the incomplete sets for a given tournament\n * returns [GGSet](#ggset)[]\n* **get_completed_sets()**\n * get all of the completed sets for a given tournament\n * returns [GGSet](#ggset)[]\n\n\n##### Instance\n* **get_id()**\n * get the id property of the tournament\n * returns int\n* **get_name()**\n * get the name property of the tournament\n * returns string\n* **get_slug()**\n * get the slug property of the tournament\n * returns string\n* **get_start_time()**\n * get the start_time property of the tournament\n * returns int\n* **get_end_time()**\n * get the end_time property of the tournament\n * returns int\n* **get_timezone()**\n * get the timezone property of the tournament \n * returns string\n* **get_venue()**\n * get the venue property of the tournament\n * returns [Venue](#venue)\n* **get_organizer()**\n * get the organizer property of the tournament\n * returns [Organizer](#organizer)\n\n### Event\n\n#### Properties\n\n* **id**\n * int\n * the numeric id of the event\n* **name**\n * string\n * the name of the event\n* **slug**\n * string\n * the url slug of the event\n* **state**\n * string\n * the progress of the event\n * possible values:\n * CREATED\n * ACTIVE\n * COMPLETED\n * READY\n * INVALID\n * CALLED\n * QUEUED\n* **start_at**\n * int\n * unix epoch of the start time of the event\n* **num_entrants**\n * int\n * number of entrants in the event\n* **check_in_buffer**\n * int\n * seconds of how long before the event start will the check-in end\n* **check_in_duration**\n * int\n * seconds of how long the check-in will last\n* **check_in_enabled**\n * bool\n * t/f of whether this event uses check-in\n* **is_online**\n * bool\n * t/f of whether this event is online\n* **team_name_allowed**\n * bool\n * t/f of whether this event allows team names\n* **team_management_deadline**\n * int\n * unix epoch of when team management is no longer allowed\n\n#### Methods\n\n##### Statics\n* **get(tournament_slug, event_slug)**\n * get an Event object for the corresponding tournament and event slugs\n * parameters\n * tournament_slug\n * string\n * long-name slug for a tournament\n * function-3-recursion-series\n * tipped-off-12-presented-by-the-lab-gaming-center\n * ceo-2016\n * event_slug\n * string\n * slug of the target event\n * melee-singles\n * dragon-ball-fighterz\n * smash-bros-ultimate\n * returns [Event](#event)\n* **parse(data)** \n * parse smash.gg api data into an Event object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [Event](#event)\n* **get_phase()**\n * get the phases of the event\n * returns [Phase](#phase)[]\n* **get_phase_groups()**\n * get the phase groups of the event\n * returns [PhaseGroup](#phasegroup)[]\n* **get_sets()**\n * get all of the sets played for a given event\n * returns [GGSet](#ggset)[]\n* **get_incomplete_sets()**\n * get all of the incomplete sets for a given event\n * returns [GGSet](#ggset)[]\n* **get_completed_sets()**\n * get all of the completed sets for a given event\n * returns [GGSet](#ggset)[]\n\n##### Instance\n* **get_id()**\n * get the id property of the event\n * returns int\n* **get_name()**\n * get the name property of the event\n * returns string\n* **get_slug()**\n * get the slug property of the event\n * returns string\n* **get_state()**\n * get the state property of the event\n * returns string\n* **get_start_at()**\n * get the start_at property of the event\n * returns int\n* **get_num_entrants()**\n * get the num_entrants property of the event\n * returns int \n* **get_check_in_buffer()**\n * get the check_in_buffer property of the event\n * returns int\n* **get_check_in_duration()**\n * get the check_in_duration property of the event\n * returns int\n* **get_check_in_enabled()**\n * get the check_in_enabled property of the event\n * returns bool\n* **get_is_online()**\n * get the is_online property of the event\n * returns bool\n* **get_team_name_allowed()**\n * get the team_name_allowed property of the event\n * returns bool\n* **get_team_management_deadline()**\n * get the team_management_deadline property of the event\n * returns int\n\n### Phase\n\n#### Properties\n* **id**\n * int\n * numeric id of the phase\n* **name**\n * string\n * name of the phase\n* **num_seeds**\n * int\n * number of seeds that are in the phase\n* **group_count**\n * int\n * number of phase groups that are in the phase\n\n#### Methods\n\n##### Statics\n* **get(phase_id)**\n * get data from smash.gg api and get a Phase object from it\n * parameters\n * phase_id\n * int\n * numeric id of the phase\n * returns [Phase](#phase)\n* **parse(data)**\n * parse smash.gg api data into an Phase object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [Phase](#phase)\n* **get_phase_groups()**\n * get the phase groups for the given phase\n * returns [PhaseGroup](#phasegroup)[]\n* **get_sets()**\n * get all of the sets played for the given phase\n * returns [GGSet](#ggset)[]\n* **get_incomplete_sets()**\n * get all of the incomplete sets for the given phase\n * returns [GGSet](#ggset)[]\n* **get_completed_sets()**\n * get all of the completed sets for the given phase\n * returns [GGSet](#ggset)[]\n\n##### Instance\n* **get_id()**\n * get the id property of the Phase\n * returns int\n* **get_name()**\n * get the name property of the Phase\n * returns string \n* **get_num_seeds()**\n * get the num_seeds property of the Phase\n * returns int\n* **get_group_count()**\n * get the group_count property of the Phase\n * returns int\n\n### PhaseGroup\n\n#### Properties\n\n* **id**\n * int\n * numeric id of the phase group\n* **display_identifier**\n * string\n * the name of the phase group\n* **first_round_time**\n * int\n * unix epoch of the time the first round of this phase group begins\n* **state**\n * int\n * progress of the phase group\n* **phase_id**\n * int\n * numeric id of the phase this phase group belongs to\n* **wave_id**\n * int\n * numeric id of the wave this phase group belongs to\n* **tiebreak_order**\n * json\n * the tiebreak order for this phase group\n\n#### Methods\n\n##### Statics\n* **get(phase_group_id)**\n * get data from smash.gg and get a PhaseGroup object from it\n * parameters\n * phase_group_id\n * int\n * numeric id of the phase group\n* **parse(data)**\n * parse smash.gg api data into a PhaseGroup object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [PhaseGroup](#phasegroup)\n* **get_sets()**\n * get all of the sets played for the given phase group\n * returns [GGSet](#ggset)[]\n* **get_incomplete_sets()**\n * get all of the incomplete sets for the given phase group\n * returns [GGSet](#ggset)[]\n* **get_completed_sets()**\n * get all of the completed sets for the given phase group\n * returns [GGSet](#ggset)[]\n\n##### Instance\n* **get_id()**\n * get the id property of the phase group\n * returns int\n* **get_display_identifier()**\n * get the display_identifier property of the phase group\n * returns string\n* **get_first_round_time()**\n * get the first_round_time property of the phase group\n * returns int\n* **get_state()**\n * get the state property of the phase group\n * returns int\n* **get_phase_id()**\n * get the phase_id property of the phase group\n * returns int\n* **get_wave_id()**\n * get the wave_id property of the phase group\n * returns int\n* **get_tiebreak_order()**\n * get the tiebreak_order property of the phase group\n * returns json\n \n### GGSet\n\n#### Properties\n* **id**\n * int\n * numeric id of the set\n* **event_id**\n * int\n * numeric id of the event this set belongs to\n* **phase_group_id**\n * int\n * numeric id of the phase group this set belongs to\n* **display_score**\n * string\n * display string for this set. \n * Format: Smashtag1 Score1 - Score2 Smashtag2\n* **full_round_text**\n * string\n * full name of the round this set takes place in\n* **round**\n * int\n * numeric identifier for the round this set takes place in\n* **started_at**\n * int\n * unix epoch of the time this set started at\n* **completed_at**\n * int \n * unix epoch of the time this set ended at\n* **winner_id**\n * int\n * id number of the of [Entrant](#entrant) who won the set\n* **total_games**\n * int\n * total number of games played in this set\n* **state**\n * int\n * progress of the set\n* **player1**\n * [Player](#player)\n * 1st player in the set\n* **player2**\n * [Player](#player)\n * 2nd player in the set\n* **score1**\n * int\n * score of player 1 in the set\n* **score2**\n * int\n * score of player 2 in the set\n\n#### Methods\n\n##### Statics\n* **parse(data)**\n * parse smash.gg api data into a GGSet object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [GGSet](#ggset)\n* **parse_display_score(display_score)**\n * parse a GGSet's display score property\n * parameters\n * data\n * string\n * display score string from a GGSet object\n * returns custom object:\n * p1_tag\n * string or None\n * smashtag of player 1\n * p1_score\n * int\n * score of player 1\n * p2_tag\n * string or None\n * smashtag of player 2\n * p2_score\n * int\n * score of player 2\n\n##### Instance\n* **get_id()**\n * get the id property of the event\n * returns int\n* **get_event_id()**\n * get the event_id property of the event\n * returns int\n* **get_phase_group_id()**\n * get the phase_group_id property of the event\n * returns int\n* **get_display_score()**\n * get the display_score property of the event\n * returns string\n* **get_full_round_text()**\n * get the full_round_text property of the event\n * returns string\n* **get_round()**\n * get the round property of the event\n * returns int\n* **get_started_at()**\n * get the started_at property of the event\n * returns int\n* **get_completed_at()**\n * get the completed_at property of the event\n * returns int\n* **get_winner_id()**\n * get the winner_id property of the event\n * returns int\n* **get_total_games()**\n * get the total_games property of the event\n * returns int\n* **get_state()**\n * get the state property of the event\n * returns int\n* **get_player1()**\n * get the player1 property of the event\n * returns [Player](#player)\n* **get_player2()**\n * get the player2 property of the event\n * returns [Player](#player)\n* **get_score1()**\n * get the score1 property of the event\n * returns int\n* **get_score2()**\n * get the score2 property of the event\n * returns int\n\n### Player\n\n#### Properties\n* **tag**\n * string\n * smashtag/identifier for this Player\n* **entrant_id**\n * int\n * unique entrant id number for this Player\n* **attendee_ids**\n * int[]\n * array of attendee ids for the attendees who make up this Player\n\n#### Methods\n\n##### Statics\n* **parse(tag, data)**\n * parse smash.gg api data into a Player object \n * parameters\n * tag\n * string\n * smashtag of the player\n * data\n * json\n * data from smashgg to be parsed into entrant and attendee ids\n * returns [Player](#player)\n\n##### Instance\n* **get_tag()**\n * get the tag property of this player\n * returns string\n* **get_entrant_id()**\n * get the entrant_id property of this player\n * returns int\n* **get_attendee_ids()**\n * get the attendee_ids property of this player\n * returns int[]\n\n### Entrant\n\n#### Properties\n* **id**\n * int\n * id number of the entrant\n* **name**\n * string\n * name of the entrant\n* **event_id**\n * int\n * id number of the event this entrant belongs to\n* **skill**\n * int\n * skill number of the entrant\n* **attendee_data**\n * [Attendee](#attendee)[]\n * array of attendee data attached to this entrant\n\n#### Methods\n\n##### Statics\n* **parse(data)**\n * parse smash.gg api data into an Entrant object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [Entrant](#entrant)\n\n##### Instance\n* **get_id()**\n * get the id property of the Entrant\n * returns\n* **get_name()**\n * get the name property of the Entrant\n * returns\n* **get_event_id()**\n * get the event_id property of the Entrant\n * returns\n* **get_skill()**\n * get the skill property of the Entrant\n * returns\n* **get_attendee_data()**\n * get the attendee_data property of the Entrant\n * returns\n \n### Attendee\n\n#### Properties\n* **id**\n * int\n * numeric id of the attendee\n* **gamer_tag**\n * string\n * smashtag of the attendee\n* **prefix**\n * string\n * sponsor tag of the attendee (like PG or RCS)\n* **created_at**\n * int\n * unix epoch of the time this attendee object was created\n* **claimed**\n * bool\n * t/f for if the attendee is claimed or not\n* **verified**\n * bool\n * t/f for if the attendee is verified as actually being in the tournament\n* **player_id**\n * int\n * id number of the corresponding [User](#user) object\n* **phone_number**\n * string\n * phone number of the attendee\n* **connected_accounts**\n * json\n * object showing all accounts connected to this attendee\n* **contact_info**\n * json\n * contact info of the attendee\n* **event_ids**\n * int[]\n * id number of all the events this attendee entered\n\n#### Methods\n\n##### Statics\n* **parse(data)**\n * parse smash.gg api data into a Attendee object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [Attendee](#attendee) \n\n##### Instance\n* **get_id()**\n * get the id property of the Attendee\n * returns\n* **get_gamer_tag()**\n * get the gamer_tag property of the Attendee\n * returns\n* **get_prefix()**\n * get the prefix property of the Attendee\n * returns\n* **get_created_at()**\n * get the created_at property of the Attendee\n * returns\n* **get_claimed()**\n * get the claimed property of the Attendee\n * returns\n* **get_verified()**\n * get the verified property of the Attendee\n * returns\n* **get_player_id()**\n * get the player_id property of the Attendee\n * returns\n* **get_phone_number()**\n * get the phone_number property of the Attendee\n * returns\n* **get_connected_accounts()**\n * get the connected_accounts property of the Attendee\n * returns\n* **get_contact_info()**\n * get the contact_info property of the Attendee\n * returns\n* **get_event_ids()**\n * get the event_ids property of the Attendee\n * returns\n \n### Stream\n\n#### Properties\n* **id**\n * int\n * numeric id of the stream\n* **event_id**\n * int\n * numeric id of the event this stream is a part of\n* **tournament_id**\n * int\n * numeric id of the tournament this stream is a part of\n* **stream_name**\n * string\n * name of the stream\n* **num_setups**\n * int\n * number of setups on the stream\n* **stream_source**\n * string\n * web source of the stream, like Twitch\n* **stream_type**\n * string\n * the type of the current stream \n* **stream_type_id**\n * int\n * the numeric type of the current stream\n* **is_online**\n * bool\n * t/f for if the current stream is online\n* **enabled**\n * bool\n * t/f for if the current stream is enabled\n* **follower_count**\n * int\n * the number of followers the stream has\n* **removes_tasks**\n * bool\n * t/f for if the current stream removes tasks\n* **stream_status**\n * string\n * the status of the current stream\n* **stream_game**\n * string\n * the game the current stream is live streaming\n* **stream_logo**\n * string\n * the url to the logo image of the stream\n\n#### Methods\n\n##### Statics\n* **get(id)**\n * get raw stream data from smashgg for the given id\n * parameters\n * id\n * int\n * identification number of the stream\n * returns [Stream](#stream)\n* **parse(data)**\n * parse smash.gg api data into an Stream object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [Stream](#stream)\n\n##### Instance\n* **get_id()**\n * get the id property of the stream\n * returns \n* **get_event_id()**\n * get the event_id property of the stream\n * returns \n* **get_tournament_id()**\n * get the tournament_id property of the stream\n * returns \n* **get_stream_name()**\n * get the stream_name property of the stream\n * returns \n* **get_num_setups()**\n * get the num_setups property of the stream\n * returns \n* **get_stream_source()**\n * get the stream_source property of the stream\n * returns \n* **get_stream_type()**\n * get the stream_type property of the stream\n * returns \n* **get_stream_type_id()**\n * get the stream_type_id property of the stream\n * returns \n* **get_is_online()**\n * get the is_online property of the stream\n * returns \n* **get_enabled()**\n * get the enabled property of the stream\n * returns \n* **get_follower_count()**\n * get the follower_count property of the stream\n * returns \n* **get_removes_tasks()**\n * get the removes_tasks property of the stream\n * returns \n* **get_stream_status()**\n * get the stream_status property of the stream\n * returns \n* **get_stream_game()**\n * get the stream_game property of the stream\n * returns \n* **get_stream_logo()**\n * get the stream_logo property of the stream\n * returns \n\n### StreamQueue\n\n#### Properties\n\n* **id**\n * id of the Tournament this stream queue belongs to\n* **stream**\n * [Stream](#stream)\n * stream this queue is associated with\n* **sets**\n * [GGSet](#ggset)[]\n * sets in the queue\n\n#### Methods\n* **get(tournament_id)**\n * get the raw stream queue data for a given tournament id\n * parameters\n * tournament_id\n * int\n * identification number of the tournament\n * returns [StreamQueue](#streamqueue)\n\n* **parse(data)**\n * parse smash.gg api data into an StreamQueue object\n * parameters\n * data\n * json\n * http response data from a smash.gg api call\n * returns [StreamQueue](#streamqueue)\n\n##### Instance\n* **get_stream()**\n * get the StreamQueue's stream property\n * [Stream](#stream)\n* **get_sets()**\n * get the StreamQueue's sets property\n * [GGSet](#ggset)[]\n\n## How to run\n\n**NOTE:** In order to use properly, you will need to create an .env file with the API_TOKEN inside of it, it should look like this: \n`API_TOKEN=`\nIf you already have Docker installed, you may run the scripts in the /docker directory.\nYou need to build the container before running it, so run `build` before `run`.\nIf you would like to do both consecutively, you may run the `buildAndRun` script.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/BrandonCookeDev/smashgg.py", "keywords": "smashgg smash.gg smashgg.py smashggpy sdk wrapper api gql graphql", "license": "GNU Public License v3.0", "maintainer": "", "maintainer_email": "", "name": "smashggpy", "package_url": "https://pypi.org/project/smashggpy/", "platform": "", "project_url": "https://pypi.org/project/smashggpy/", "project_urls": { "Homepage": "https://github.com/BrandonCookeDev/smashgg.py" }, "release_url": "https://pypi.org/project/smashggpy/0.0.29/", "requires_dist": null, "requires_python": "~=3.7", "summary": "Python SDK for smash.gg's public api", "version": "0.0.29" }, "last_serial": 5693280, "releases": { "0.0.11": [ { "comment_text": "", "digests": { "md5": "93e98d57203a4cd74380f76f0d5b6e15", "sha256": "27925953bfd5f9a7413919334f750b45588f23ba39dfdebd7e28b579ee2889d1" }, "downloads": -1, "filename": "smashggpy-0.0.11.tar.gz", "has_sig": false, "md5_digest": "93e98d57203a4cd74380f76f0d5b6e15", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 31760, "upload_time": "2019-05-13T13:01:56", "url": "https://files.pythonhosted.org/packages/25/9a/5afd0dfb6c6aeb5f9b6c6ef520df83b0f65a1251e283d11da81602c1ed25/smashggpy-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "229ed42c7da354a98f1ef889a862a94a", "sha256": "b011143fe487812c7b32cb85bede282db6c42e81da19bbee174ba4eebe0c97a9" }, "downloads": -1, "filename": "smashggpy-0.0.12.tar.gz", "has_sig": false, "md5_digest": "229ed42c7da354a98f1ef889a862a94a", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 33260, "upload_time": "2019-05-13T13:08:20", "url": "https://files.pythonhosted.org/packages/69/16/4ec9b1f528b349a52a414eb9151264f825820bc2a8fe2cd2295267e496e7/smashggpy-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "53bd60165d0ffff1504e81e78ac2facc", "sha256": "02f2e399ff9f772c25feff34550020d1c47a1808f801584bb4eed5e636213c2e" }, "downloads": -1, "filename": "smashggpy-0.0.13.tar.gz", "has_sig": false, "md5_digest": "53bd60165d0ffff1504e81e78ac2facc", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 33124, "upload_time": "2019-05-13T13:22:19", "url": "https://files.pythonhosted.org/packages/c9/45/64958d44ee648c20156ab9bb3724faf61d098f79a3547250f5d370ac161c/smashggpy-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "0d59853317ce413c0e94a2ce0c70ef26", "sha256": "cdbcb6b2646533f9042f28d77ddf62f82e41e17ae225276823d9c01fab0bbf18" }, "downloads": -1, "filename": "smashggpy-0.0.14.tar.gz", "has_sig": false, "md5_digest": "0d59853317ce413c0e94a2ce0c70ef26", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 33379, "upload_time": "2019-05-13T13:34:52", "url": "https://files.pythonhosted.org/packages/1f/2c/23192da593d4425418e31d345208491d011ce3e22e1da769926f57c3b406/smashggpy-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "1ff151b0a49a9ad5cf4e71e71a126abb", "sha256": "9efd534b93914e08e997a1854973de3460425ccad342edda65fe15e6bc243f9f" }, "downloads": -1, "filename": "smashggpy-0.0.15.tar.gz", "has_sig": false, "md5_digest": "1ff151b0a49a9ad5cf4e71e71a126abb", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 33334, "upload_time": "2019-05-13T13:43:58", "url": "https://files.pythonhosted.org/packages/be/f0/9a68a8997e995bcaa98e333e174635268dd82555c599db3fae5cae0b5739/smashggpy-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "66be2dfb525b8d93f3f2ad876898e191", "sha256": "b2881be86897906418034d29a816d51b63e370ea0073547da60c3530eaa8a08d" }, "downloads": -1, "filename": "smashggpy-0.0.16.tar.gz", "has_sig": false, "md5_digest": "66be2dfb525b8d93f3f2ad876898e191", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 33285, "upload_time": "2019-05-13T13:47:29", "url": "https://files.pythonhosted.org/packages/03/3d/1da92201c7ff37b3d96df8b5ffd3de73e086562b1de59ad06fb381eacc0a/smashggpy-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "690cab1ba068a4cb5394e168b8066bf4", "sha256": "75a71512efc9a298dd3fdd67ce14d1e15d0c9d9f05b7bb8b280903722832cfdb" }, "downloads": -1, "filename": "smashggpy-0.0.17.tar.gz", "has_sig": false, "md5_digest": "690cab1ba068a4cb5394e168b8066bf4", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 33359, "upload_time": "2019-05-13T14:00:46", "url": "https://files.pythonhosted.org/packages/02/33/0107704182c0f62e22673488ae7f9016ee4b07445d40505e6dcf44a472d6/smashggpy-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "87374953ab7d809264d79f15fde49d14", "sha256": "665c3f1d604d4055e0b219ac911ac3741905aa3767aea2eef2e68fa7cf3cbee0" }, "downloads": -1, "filename": "smashggpy-0.0.18.tar.gz", "has_sig": false, "md5_digest": "87374953ab7d809264d79f15fde49d14", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 34479, "upload_time": "2019-05-13T17:04:50", "url": "https://files.pythonhosted.org/packages/88/84/2bb354c51ad4621bf2b5d77916430fae34923cb1d6182b410a3195de9039/smashggpy-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "3ed54596bf6f17d00fad5fc0b8f6390e", "sha256": "0d91022e15fe378c542e8f572f9774e173f0f8b129380e9fac6b53825fa3c203" }, "downloads": -1, "filename": "smashggpy-0.0.19.tar.gz", "has_sig": false, "md5_digest": "3ed54596bf6f17d00fad5fc0b8f6390e", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 34599, "upload_time": "2019-06-14T18:14:38", "url": "https://files.pythonhosted.org/packages/17/7d/9a791e9d938a019e8101c811f83ceb2e3a6eea3110d629ab433b3c9276b5/smashggpy-0.0.19.tar.gz" } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "3f440b8b6a65d42ade1c89b34012b71a", "sha256": "1849e6d1c3c442d47774f44cbd92326c7e12d6c12f7ef14308ca51def8742de0" }, "downloads": -1, "filename": "smashggpy-0.0.20.tar.gz", "has_sig": false, "md5_digest": "3f440b8b6a65d42ade1c89b34012b71a", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 35024, "upload_time": "2019-06-15T05:00:29", "url": "https://files.pythonhosted.org/packages/5c/e5/917534a60264adf14931aa71f1d21c34390c99369b3e358c92c394d72098/smashggpy-0.0.20.tar.gz" } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "51b7d31912ddc7835b5c68084ec530d6", "sha256": "7c6dc47fcf609d798f4765e122b9602824cbaa3f8ddc92f8e905f336ec0e9723" }, "downloads": -1, "filename": "smashggpy-0.0.21.tar.gz", "has_sig": false, "md5_digest": "51b7d31912ddc7835b5c68084ec530d6", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 35487, "upload_time": "2019-06-17T04:27:09", "url": "https://files.pythonhosted.org/packages/86/52/0532784032d2acd6d5c1fb010099c970cdbe063b1eb2496b040c2fc629e2/smashggpy-0.0.21.tar.gz" } ], "0.0.22": [ { "comment_text": "", "digests": { "md5": "4b7c1f05bfbbe4e90bad62ecccbcc48e", "sha256": "03cb12f514cda0bce8c773fef779936b1944548cc02d7a84d967b25c404b9b0e" }, "downloads": -1, "filename": "smashggpy-0.0.22.tar.gz", "has_sig": false, "md5_digest": "4b7c1f05bfbbe4e90bad62ecccbcc48e", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 35711, "upload_time": "2019-06-17T11:30:25", "url": "https://files.pythonhosted.org/packages/0b/1b/7fc0f6ceb02d3232be6e7e44572fe18a1b0c7c7c78949503f1ad534a8e59/smashggpy-0.0.22.tar.gz" } ], "0.0.23": [ { "comment_text": "", "digests": { "md5": "ac9c4e1e49008d04e3ce79169d2b7b5a", "sha256": "77e0e53c2a719e115ca40600f0a145cc2bc3618c7ff00d307625b93a434615d2" }, "downloads": -1, "filename": "smashggpy-0.0.23.tar.gz", "has_sig": false, "md5_digest": "ac9c4e1e49008d04e3ce79169d2b7b5a", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 36111, "upload_time": "2019-06-17T12:51:25", "url": "https://files.pythonhosted.org/packages/d8/f0/938628d5cc93f2e6a69406decbb2efd2cfed54cf09b524df2ccd8cb22016/smashggpy-0.0.23.tar.gz" } ], "0.0.24": [ { "comment_text": "", "digests": { "md5": "229e5a9e3c7c03cbf65ddec9ead9d875", "sha256": "aa48708ae25a871fc2e4f5e4e0592130124590ca4a55f1065063cd0f2a8e3f4d" }, "downloads": -1, "filename": "smashggpy-0.0.24.tar.gz", "has_sig": false, "md5_digest": "229e5a9e3c7c03cbf65ddec9ead9d875", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 36962, "upload_time": "2019-06-18T12:28:01", "url": "https://files.pythonhosted.org/packages/b1/26/c23469b05ead647e76f68bb4733d972b2b27a0a24e19406e42f4694273fe/smashggpy-0.0.24.tar.gz" } ], "0.0.25": [ { "comment_text": "", "digests": { "md5": "b4ac82a649e25bc4664751a9ffc440ed", "sha256": "5d5376cdae3bcbbaf858acf55aa19f315d32c974f8f5195325302ce396141460" }, "downloads": -1, "filename": "smashggpy-0.0.25.tar.gz", "has_sig": false, "md5_digest": "b4ac82a649e25bc4664751a9ffc440ed", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 37264, "upload_time": "2019-06-19T12:26:18", "url": "https://files.pythonhosted.org/packages/72/ce/d1cab9ad3546011029abc246b2505b777beca36d3a74dfa68c846fc98190/smashggpy-0.0.25.tar.gz" } ], "0.0.26": [ { "comment_text": "", "digests": { "md5": "63ff79d87304695428957789ce0e3978", "sha256": "16dfbc4f865541efbbde924cebdebe5958e802d0298ebb194df04415592ea424" }, "downloads": -1, "filename": "smashggpy-0.0.26.tar.gz", "has_sig": false, "md5_digest": "63ff79d87304695428957789ce0e3978", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 37652, "upload_time": "2019-06-27T13:14:57", "url": "https://files.pythonhosted.org/packages/37/57/95a6e4c567bf2edc2f35d6cf26a17d9506165a7eefebd5ed37ff5cbb1a23/smashggpy-0.0.26.tar.gz" } ], "0.0.27": [ { "comment_text": "", "digests": { "md5": "67dd57a9534243b112907416484b9a57", "sha256": "072aafd24152d3da3822d6f70c984089452a93b6639a4fd2cc7321edec9644b1" }, "downloads": -1, "filename": "smashggpy-0.0.27.tar.gz", "has_sig": false, "md5_digest": "67dd57a9534243b112907416484b9a57", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 37659, "upload_time": "2019-06-27T13:27:43", "url": "https://files.pythonhosted.org/packages/d5/b0/40f3f00fb8c554407500bbe610526ddfead568aef5384f24f686d4360385/smashggpy-0.0.27.tar.gz" } ], "0.0.28": [ { "comment_text": "", "digests": { "md5": "413acfc3db7fe9ba5db6a6cb74966211", "sha256": "7368ac78d7e2075245234da700ee902a27218afa4834b48688b1342fce414369" }, "downloads": -1, "filename": "smashggpy-0.0.28.tar.gz", "has_sig": false, "md5_digest": "413acfc3db7fe9ba5db6a6cb74966211", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 38665, "upload_time": "2019-07-17T02:29:39", "url": "https://files.pythonhosted.org/packages/71/86/aee3650aa0c7636a668bc4377e8e5cbadd56d4787b9d600d0c9073870d8c/smashggpy-0.0.28.tar.gz" } ], "0.0.29": [ { "comment_text": "", "digests": { "md5": "bfc8af4497d2c952885493c8e78352fe", "sha256": "f95edde9c44077f53ba8262c6540e8c46214936fe3d6e9bcb9c33bef7b121c70" }, "downloads": -1, "filename": "smashggpy-0.0.29.tar.gz", "has_sig": false, "md5_digest": "bfc8af4497d2c952885493c8e78352fe", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 38674, "upload_time": "2019-08-18T03:02:50", "url": "https://files.pythonhosted.org/packages/50/46/3e45779fa8fa15258f275f701d91f7049bff544e1d2ed7eed19262b9790c/smashggpy-0.0.29.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "39eefd15a0eaf803c00de063a13e1b92", "sha256": "1855a62510dc84ea97cf3a94f06df094199d127167d45dfe0c218660da8b36c8" }, "downloads": -1, "filename": "smashggpy-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "39eefd15a0eaf803c00de063a13e1b92", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25013, "upload_time": "2019-05-13T04:01:31", "url": "https://files.pythonhosted.org/packages/f4/ad/b6287849c6ce654014a840ffd3458a0e9177db8929cc00022d85edc88c04/smashggpy-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4109344dd0da6f6ea98ded65d62379e4", "sha256": "2b34c204c22695789870e23688a838e1ba620e330618bc93028969271781b77a" }, "downloads": -1, "filename": "smashggpy-0.0.9.tar.gz", "has_sig": false, "md5_digest": "4109344dd0da6f6ea98ded65d62379e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19189, "upload_time": "2019-05-13T04:01:34", "url": "https://files.pythonhosted.org/packages/68/da/7759f54d05b27645ae305926912f4c316a4bbb14f57fbfb203d5a227504d/smashggpy-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bfc8af4497d2c952885493c8e78352fe", "sha256": "f95edde9c44077f53ba8262c6540e8c46214936fe3d6e9bcb9c33bef7b121c70" }, "downloads": -1, "filename": "smashggpy-0.0.29.tar.gz", "has_sig": false, "md5_digest": "bfc8af4497d2c952885493c8e78352fe", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 38674, "upload_time": "2019-08-18T03:02:50", "url": "https://files.pythonhosted.org/packages/50/46/3e45779fa8fa15258f275f701d91f7049bff544e1d2ed7eed19262b9790c/smashggpy-0.0.29.tar.gz" } ] }