<jupyter_start><jupyter_text>DK Object ModelPartially documents the object model in the Draftkings API (skip unused elements)* GetContestsDocument: (getcontests.json)    * contests: list of ContestDocument (contest.json)    * draft_groups: list of DraftGroupDocument (draftgroup.json)    * game_sets: list of GameSetDocument (gamesets.json)    * game_types: list of GameTypeDocument (gametypes.json)* DraftablesDocument: https://api.draftkings.com/draftgroups/v1/draftgroups/53019/draftables?format=json<jupyter_code>from dksalaries.util import attr_boiler, camel_to_snake<jupyter_output><empty_output><jupyter_text>ContestDocument<jupyter_code>cdoc = {
    'uc': 0,
    'ec': 0,
    'mec': 150,
    'fpp': 10,
    's': 1,
    'n': 'NFL Showdown $4M Thursday Kickoff Millionaire [$1M to 1st + ToC Entry] (DAL vs TB)',
    'attr': {'IsGuaranteed': 'true',
    'LobbyClass': 'icon-millionaire',
    'IsStarred': 'true',
    'IsTournamentOfChamp': 'true'},
    'nt': 123694,
    'm': 473065,
    'a': 10,
    'po': 4021052.63,
    'pd': {'Cash': '$4,000,000', 'LiveFinalSeat': '1 Live Final Seat'},
    'tix': False,
    'sdstring': 'Thu 8:20PM',
    'sd': '/Date(1631233200000)/',
    'id': 111604182,
    'tmpl': 385514,
    'pt': 1,
    'so': -99999999,
    'fwt': False,
    'isOwner': False,
    'startTimeType': 0,
    'dg': 53018,
    'ulc': 1,
    'cs': 1,
    'gameType': 'Showdown Captain Mode',
    'ssd': None,
    'dgpo': 8007629.3,
    'cso': 0,
    'ir': 2,
    'rl': False,
    'rlc': 0,
    'rll': 99999,
    'sa': True,
    'freeWithCrowns': False,
    'crownAmount': 5500,
    'isBonusFinalized': False,
    'isSnakeDraft': False
}<jupyter_output><empty_output><jupyter_text>DraftGroupDocument<jupyter_code>dgdoc = {'DraftGroupId': 53019,
 'ContestTypeId': 21,
 'StartDate': '2021-09-12T17:00:00.0000000Z',
 'StartDateEst': '2021-09-12T13:00:00.0000000',
 'SortOrder': 1,
 'DraftGroupTag': 'Featured',
 'GameTypeId': 1,
 'GameType': None,
 'SportSortOrder': 0,
 'Sport': 'NFL',
 'GameCount': 13,
 'ContestStartTimeSuffix': None,
 'ContestStartTimeType': 0,
 'Games': None,
 'DraftGroupSeriesId': 2,
 'GameSetKey': 'FBE061E5C4BADEC29A2BF302DE6DC97A',
 'AllowUGC': True}<jupyter_output><empty_output><jupyter_text>GameSetDocument<jupyter_code>gsdoc = {'GameSetKey': 'FBE061E5C4BADEC29A2BF302DE6DC97A',
 'ContestStartTimeSuffix': None,
 'Competitions': [{'GameId': 5745133,
   'AwayTeamId': 354,
   'HomeTeamId': 323,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Atlanta',
   'AwayTeamCity': 'Philadelphia',
   'HomeTeamName': 'Falcons',
   'AwayTeamName': 'Eagles',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Atlanta',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'PHI @ ATL',
   'FullDescription': '<NAME> @ Atlanta Falcons',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745139,
   'AwayTeamId': 356,
   'HomeTeamId': 324,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Buffalo',
   'AwayTeamCity': 'Pittsburgh',
   'HomeTeamName': 'Bills',
   'AwayTeamName': 'Steelers',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Buffalo',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'PIT @ BUF',
   'FullDescription': 'Pittsburgh Steelers @ Buffalo Bills',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745145,
   'AwayTeamId': 347,
   'HomeTeamId': 327,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Cincinnati',
   'AwayTeamCity': 'Minnesota',
   'HomeTeamName': 'Bengals',
   'AwayTeamName': 'Vikings',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Cincinnati',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'MIN @ CIN',
   'FullDescription': 'Minnesota Vikings @ Cincinnati Bengals',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745151,
   'AwayTeamId': 359,
   'HomeTeamId': 334,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Detroit',
   'AwayTeamCity': 'San Francisco',
   'HomeTeamName': 'Lions',
   'AwayTeamName': '49ers',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Detroit',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'SF @ DET',
   'FullDescription': 'San Francisco 49ers @ Detroit Lions',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745157,
   'AwayTeamId': 355,
   'HomeTeamId': 336,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Tennessee',
   'AwayTeamCity': 'Arizona',
   'HomeTeamName': 'Titans',
   'AwayTeamName': 'Cardinals',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Tennessee',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'ARI @ TEN',
   'FullDescription': 'Arizona Cardinals @ Tennessee Titans',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745163,
   'AwayTeamId': 361,
   'HomeTeamId': 338,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Indianapolis',
   'AwayTeamCity': 'Seattle',
   'HomeTeamName': 'Colts',
   'AwayTeamName': 'Seahawks',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Indianapolis',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'SEA @ IND',
   'FullDescription': 'Seattle Seahawks @ Indianapolis Colts',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745169,
   'AwayTeamId': 357,
   'HomeTeamId': 363,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Washington',
   'AwayTeamCity': 'Los Angeles',
   'HomeTeamName': 'Football Team',
   'AwayTeamName': 'Chargers',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Washington',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'LAC @ WAS',
   'FullDescription': 'Los Angeles Chargers @ Washington Football Team',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745175,
   'AwayTeamId': 352,
   'HomeTeamId': 364,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Carolina',
   'AwayTeamCity': 'New York',
   'HomeTeamName': 'Panthers',
   'AwayTeamName': 'Jets',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Carolina',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'NYJ @ CAR',
   'FullDescription': 'New York Jets @ Carolina Panthers',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745181,
   'AwayTeamId': 365,
   'HomeTeamId': 325,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Houston',
   'AwayTeamCity': 'Jacksonville',
   'HomeTeamName': 'Texans',
   'AwayTeamName': 'Jaguars',
   'StartDate': '2021-09-12T17:00:00.0000000Z',
   'Location': 'Houston',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'JAX @ HOU',
   'FullDescription': '<NAME> @ Houston Texans',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 1,
   'AwayTeamCompetitionOrdinal': 1,
   'HomeTeamCompetitionCount': 1,
   'AwayTeamCompetitionCount': 1},
  {'GameId': 5745187,
   'AwayTeamId': 329,
   'HomeTeamId': 339,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'Kansas City',
   'AwayTeamCity': 'Cleveland',
   'HomeTeamName': 'Chiefs',
   'AwayTeamName': 'Browns',
   'StartDate': '2021-09-12T20:25:00.0000000Z',
   'Location': 'Kansas City',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'CLE @ KC',
   'FullDescription': 'Cleveland Browns @ Kansas City Chiefs',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 0,
   'AwayTeamCompetitionOrdinal': 0,
   'HomeTeamCompetitionCount': 0,
   'AwayTeamCompetitionCount': 0},
  {'GameId': 5745193,
   'AwayTeamId': 345,
   'HomeTeamId': 348,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'New England',
   'AwayTeamCity': 'Miami',
   'HomeTeamName': 'Patriots',
   'AwayTeamName': 'Dolphins',
   'StartDate': '2021-09-12T20:25:00.0000000Z',
   'Location': 'New England',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'MIA @ NE',
   'FullDescription': 'Miami Dolphins @ New England Patriots',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 0,
   'AwayTeamCompetitionOrdinal': 0,
   'HomeTeamCompetitionCount': 0,
   'AwayTeamCompetitionCount': 0},
  {'GameId': 5745199,
   'AwayTeamId': 335,
   'HomeTeamId': 350,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'New Orleans',
   'AwayTeamCity': 'Green Bay',
   'HomeTeamName': 'Saints',
   'AwayTeamName': 'Packers',
   'StartDate': '2021-09-12T20:25:00.0000000Z',
   'Location': 'New Orleans',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'GB @ NO',
   'FullDescription': 'Green Bay Packers @ New Orleans Saints',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 0,
   'AwayTeamCompetitionOrdinal': 0,
   'HomeTeamCompetitionCount': 0,
   'AwayTeamCompetitionCount': 0},
  {'GameId': 5745205,
   'AwayTeamId': 332,
   'HomeTeamId': 351,
   'HomeTeamScore': 0,
   'AwayTeamScore': 0,
   'HomeTeamCity': 'New York',
   'AwayTeamCity': 'Denver',
   'HomeTeamName': 'Giants',
   'AwayTeamName': 'Broncos',
   'StartDate': '2021-09-12T20:25:00.0000000Z',
   'Location': 'New York',
   'LastPlay': None,
   'TeamWithPossession': 0,
   'TimeRemainingStatus': 'Pre-Game',
   'Sport': 'NFL',
   'Status': 'Pre-Game',
   'Description': 'DEN @ NYG',
   'FullDescription': '<NAME> @ New York Giants',
   'ExceptionalMessages': [],
   'SeriesType': 0,
   'NumberOfGamesInSeries': 1,
   'SeriesInfo': None,
   'HomeTeamCompetitionOrdinal': 0,
   'AwayTeamCompetitionOrdinal': 0,
   'HomeTeamCompetitionCount': 0,
   'AwayTeamCompetitionCount': 0}],
 'GameStyles': [{'GameStyleId': 1,
   'SportId': 1,
   'SortOrder': 2,
   'Name': 'Classic',
   'Abbreviation': 'CLA',
   'Description': 'Create a 9-player lineup while staying under the $50,000 salary cap',
   'IsEnabled': True,
   'Attributes': None},
  {'GameStyleId': 120,
   'SportId': 1,
   'SortOrder': 10,
   'Name': 'Snake',
   'Abbreviation': 'SNKB',
   'Description': 'Snake draft a 7-player lineup',
   'IsEnabled': True,
   'Attributes': None}],
 'SortOrder': 1,
 'MinStartTime': '/Date(1631466000000)/',
 'Tag': ''}<jupyter_output><empty_output><jupyter_text>GameTypeDocument<jupyter_code>gtdoc = {'GameTypeId': 1,
 'Name': 'Classic',
 'Description': 'Create a 9-player lineup while staying under the $50,000 salary cap',
 'Tag': '',
 'SportId': 1,
 'DraftType': 'SalaryCap',
 'GameStyle': {'GameStyleId': 1,
  'SportId': 1,
  'SortOrder': 2,
  'Name': 'Classic',
  'Abbreviation': 'CLA',
  'Description': 'Create a 9-player lineup while staying under the $50,000 salary cap',
  'IsEnabled': True,
  'Attributes': None},
 'IsSeasonLong': False}<jupyter_output><empty_output><jupyter_text>CompetitionDocument<jupyter_code>compdoc = {
    'GameId': 5745133,
    'AwayTeamId': 354,
    'HomeTeamId': 323,
    'HomeTeamScore': 0,
    'AwayTeamScore': 0,
    'HomeTeamCity': 'Atlanta',
    'AwayTeamCity': 'Philadelphia',
    'HomeTeamName': 'Falcons',
    'AwayTeamName': 'Eagles',
    'StartDate': '2021-09-12T17:00:00.0000000Z',
    'Location': 'Atlanta',
    'LastPlay': None,
    'TeamWithPossession': 0,
    'TimeRemainingStatus': 'Pre-Game',
    'Sport': 'NFL',
    'Status': 'Pre-Game',
    'Description': 'PHI @ ATL',
    'FullDescription': 'Philadelph<NAME> @ Atlanta Falcons',
    'ExceptionalMessages': [],
    'SeriesType': 0,
    'NumberOfGamesInSeries': 1,
    'SeriesInfo': None,
    'HomeTeamCompetitionOrdinal': 1,
    'AwayTeamCompetitionOrdinal': 1,
    'HomeTeamCompetitionCount': 1,
    'AwayTeamCompetitionCount': 1
}<jupyter_output><empty_output><jupyter_text>DraftablesDocument<jupyter_code>url = 'https://raw.githubusercontent.com/sansbacon/dksalaries/main/tests/data/draftables.json'
dt = requests.get(url).json()
dt.keys()
dt['draftables'][0]<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.17743910736154578, 'fraction_numerical': 0.05810314328480065, 'mean_word_length': 4.601753048780488, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 33, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 17, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '498739', 'license': 'MIT', 'n_tokens_mistral': 6277, 'n_tokens_neox': 5458, 'n_words': 1084, 'path': 'notebooks/dk_object_model.ipynb', 'repo_name': 'sansbacon/dksalaries', 'size': '14736'}