[docs]
class FipsCodes:
"""
https://www.census.gov/library/reference/code-lists/ansi.html
"""
STATES = {
"AK": "02",
"AL": "01",
"AR": "05",
"AZ": "04",
"CA": "06",
"CO": "08",
"CT": "09",
"DC": "11", # DC is also included here!
"DE": "10",
"FL": "12",
"GA": "13",
"HI": "15",
"IA": "19",
"ID": "16",
"IL": "17",
"IN": "18",
"KS": "20",
"KY": "21",
"LA": "22",
"MA": "25",
"MD": "24",
"ME": "23",
"MI": "26",
"MN": "27",
"MO": "29",
"MS": "28",
"MT": "30",
"NC": "37",
"ND": "38",
"NE": "31",
"NH": "33",
"NJ": "34",
"NM": "35",
"NV": "32",
"NY": "36",
"OH": "39",
"OK": "40",
"OR": "41",
"PA": "42",
"RI": "44",
"SC": "45",
"SD": "46",
"TN": "47",
"TX": "48",
"UT": "49",
"VA": "51",
"VT": "50",
"WA": "53",
"WI": "55",
"WV": "54",
"WY": "56",
}
TERRITORIES_T1 = {
"AS": "60",
"GU": "66",
"MP": "69",
"PR": "72",
"VI": "78",
}
TERRITORIES_T2 = {
"UM": "74",
}
TERRITORIES_T3 = {
"FM": "64",
"MH": "68",
"PW": "70",
}
OTHER = {
"ZX": "00", # Dummy state, used as a placeholder when necessary
}
DEMO = {
"XY": "99", # Arkansas' evil twin in the demo tenant
"ZZ": "98", # E2E test suite
}
##### COMBINED DICTIONARIES
# len 56 = (aka SF56R) STATES (51: US states + DC) and T1 territories (5: PR, VI, AS, GU, MP)
# This is COVERAGE of TIGER/censusblock and bossdata (no UM)
STATES_T1 = STATES | TERRITORIES_T1
# len 57 (56 + NULLCODE) + DEMO Tenants
DEFAULT = STATES_T1 | OTHER | DEMO
# len 9 (T1 x 5 + T2 x 1 + T3 x 3)
TERRITORIES = TERRITORIES_T1 | TERRITORIES_T2 | TERRITORIES_T3
# len 60 (51 + 9) + DEMO Tenants
ALL = TERRITORIES | STATES | DEMO
# len 61 + DEMO Tenants
ALL_OTHER = ALL | OTHER | DEMO
# demo
DEMO = DEMO