python-vexdb
is a Python 3 package that provides a thin wrapper around the VexDB.io API.
Its goal is to let you get data out of the API and into your scripts as quickly and easily as possible, without having to mess around with
URL generation, web requests, or JSON parsing:
>>> import vexdb >>> vexdb.getTeams(team="SQL") [{'number': 'SQL', 'program': 'VEXU', 'team_name': '); DROP TABLE matches;--', 'robot_name': '', 'organisation': 'VEX Robotics Club at Marshall University', 'city': 'Huntington', 'region': 'West Virginia', 'country': 'United States', 'grade': 'College', 'is_registered': 0}] >>> >>> vexdb.getEvents(team="SQL") [{'sku': 'RE-VEXU-19-9662', 'key': 'RE-VEXU-19-9662', 'program': 'VEXU', 'name': 'West Virginia 2020 VEX U Qualifying Tournament', 'loc_venue': 'Fairmont State University', 'loc_address1': '', 'loc_address2': '', 'loc_city': 'Fairmont', 'loc_region': 'West Virginia', 'loc_postcode': '26554', 'loc_country': 'United States', 'season': 'Tower Takeover', 'start': '2020-03-06T00:00:00+00:00', 'end': '2020-03-06T23:59:59+00:00', 'divisions': ['Default Division']}] >>> vexdb.getMatches(team="SQL") [{'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 3, 'field': 'Field 3', 'red1': 'SQL', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'CSM', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 0, 'bluescore': 6, 'scored': 1, 'scheduled': '2020-03-06T18:12:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 7, 'field': 'Field 1', 'red1': 'NOVA2', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'SQL', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 17, 'bluescore': 28, 'scored': 1, 'scheduled': '2020-03-06T18:36:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 14, 'field': 'Field 2', 'red1': 'ILLIN1', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'SQL', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 38, 'bluescore': 20, 'scored': 1, 'scheduled': '2020-03-06T19:18:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 23, 'field': 'Field 2', 'red1': 'SQL', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'BLRS', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 14, 'bluescore': 59, 'scored': 1, 'scheduled': '2020-03-06T20:12:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 31, 'field': 'Field 1', 'red1': 'SQL', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'FR7', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 28, 'bluescore': 7, 'scored': 1, 'scheduled': '2020-03-06T21:00:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 34, 'field': 'Field 1', 'red1': 'RIT1', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'SQL', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 22, 'bluescore': 29, 'scored': 1, 'scheduled': '2020-03-06T21:18:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 41, 'field': 'Field 2', 'red1': 'SQL', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'VCAT', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 18, 'bluescore': 15, 'scored': 1, 'scheduled': '2020-03-06T23:00:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 2, 'instance': 1, 'matchnum': 47, 'field': 'Field 2', 'red1': 'SQL', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'UMBC', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 15, 'bluescore': 28, 'scored': 1, 'scheduled': '2020-03-06T23:30:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 6, 'instance': 8, 'matchnum': 1, 'field': '', 'red1': 'SQL', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'VCAT', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 19, 'bluescore': 16, 'scored': 1, 'scheduled': '1970-01-01T00:00:00+00:00'}, {'sku': 'RE-VEXU-19-9662', 'division': 'Default Division', 'round': 3, 'instance': 4, 'matchnum': 1, 'field': '', 'red1': 'BLRS', 'red2': '', 'red3': '', 'redsit': '', 'blue1': 'SQL', 'blue2': '', 'blue3': '', 'bluesit': '', 'redscore': 43, 'bluescore': 16, 'scored': 1, 'scheduled': '1970-01-01T00:00:00+00:00'}] >>> vexdb.getAwards(team="8768A") [{'sku': 'RE-VRC-18-3235', 'name': 'Create Award (VRC/VEXU)', 'team': '8768A', 'qualifies': [], 'order': 1}, {'sku': 'RE-VRC-16-3623', 'name': 'Tournament Champions (VRC/VEXU)', 'team': '8768A', 'qualifies': [], 'order': 1}, {'sku': 'RE-VRC-15-2172', 'name': 'Sportsmanship (VRC/VEXU)', 'team': '8768A', 'qualifies': [], 'order': 4}, {'sku': 'RE-VRC-15-2400', 'name': 'Tournament Champions (VRC/VEXU)', 'team': '8768A', 'qualifies': [], 'order': 1}, {'sku': 'RE-VRC-15-2400', 'name': 'Sportsmanship (VRC/VEXU)', 'team': '8768A', 'qualifies': [], 'order': 4}] >>> vexdb.getEvents(region="West Virginia", season="Nothing but Net") [{'sku': 'RE-VRC-16-3693', 'key': 'RE-VRC-16-3693', 'program': 'VRC', 'name': 'West Virginia 2015-2016 State Championship: Fairmont State Univeristy', 'loc_venue': 'Fairmont State University Falcon Center', 'loc_address1': '', 'loc_address2': '', 'loc_city': 'Fairmont', 'loc_region': 'West Virginia', 'loc_postcode': '26554', 'loc_country': 'United States', 'season': 'Nothing But Net', 'start': '2016-02-27T00:00:00+00:00', 'end': '2016-02-27T23:59:59+00:00', 'divisions': ['Results']}, {'sku': 'RE-VRC-16-3622', 'key': 'RE-VRC-16-3622', 'program': 'VRC', 'name': 'West Virginia 2016 Qualifier: The Clay Center', 'loc_venue': 'The Clay Center for the Arts and Sciences', 'loc_address1': '', 'loc_address2': '', 'loc_city': 'Charleston', 'loc_region': 'West Virginia', 'loc_postcode': '25301', 'loc_country': 'United States', 'season': 'Nothing But Net', 'start': '2016-02-20T00:00:00+00:00', 'end': '2016-02-20T23:59:59+00:00', 'divisions': ['Results']}, {'sku': 'RE-VRC-16-3623', 'key': 'RE-VRC-16-3623', 'program': 'VRC', 'name': 'West Virginia 2016 Qualifier: NASA IVV Facility', 'loc_venue': 'NASA IVV Facility', 'loc_address1': '', 'loc_address2': '', 'loc_city': 'Fairmont', 'loc_region': 'West Virginia', 'loc_postcode': '26554', 'loc_country': 'United States', 'season': 'Nothing But Net', 'start': '2016-02-06T00:00:00+00:00', 'end': '2016-02-06T23:59:59+00:00', 'divisions': ['Results']}, {'sku': 'RE-VRC-15-4194', 'key': 'RE-VRC-15-4194', 'program': 'VRC', 'name': 'West Virginia Northern Panhandle Regional TSA', 'loc_venue': 'Brooke High School West Virginia Northern Panhandle Regional TSA', 'loc_address1': '', 'loc_address2': '', 'loc_city': 'Wellsburg', 'loc_region': 'West Virginia', 'loc_postcode': '26070', 'loc_country': 'United States', 'season': 'Nothing But Net', 'start': '2015-12-02T00:00:00+00:00', 'end': '2015-12-02T23:59:59+00:00', 'divisions': ['Results']}] >>>
The easiest way to install python-vexdb
is using pip:
pip install vexdb
Or check out more documentation and code examples on PyPI or GitHub: