Source code for util.bead_fp

DATA_ROOT = "s3://463002504035-shoreline/raw/uploads"


[docs] class BeadFpUtil: file_path = { "AR": [ { "s3_key": f"{DATA_ROOT}/Arkansas/unzipped/final_proposal_20250930/", "cai": "fp_cai.csv", "deployment_projects": "fp_deployment_projects.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_no_bead_locations.csv", "subgrantees": "fp_subgrantees.csv", "version_date": "20250930", }, { "s3_key": f"{DATA_ROOT}/Arkansas/unzipped/final_proposal/20251112/", "cai": "curing_fp_cai.csv", "deployment_projects": "curing_fp_deployment_projects.csv", "locations": "curing_fp_locations.csv", "no_bead_locations": "curing_fp_no_bead_locations.csv", "subgrantees": "curing_fp_subgrantees.csv", "version_date": "20251112", }, ], "VA": [ { "s3_key": f"{DATA_ROOT}/Virginia/unzipped/final_proposal_09112025/", "cai": "fp_cai.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_no_bead_locations.csv", "subgrantees": "fp_subgrantees.csv", "deployment_projects": "fp_deployment_projects.csv", "version_date": "20250911", }, { "s3_key": f"{DATA_ROOT}/Virginia/unzipped/final_proposal_20251027/", "cai": "fp_cai_10_27_2025.csv", "locations": "fp_locations_10_27_2025.csv", "no_bead_locations": "fp_no_bead_locations_10_27_2025.csv", "subgrantees": "fp_subgrantees_10_27_2025.csv", "deployment_projects": "fp_deployment_projects_10_27_2025.csv", "version_date": "20251027", }, ], "LA": [ { "s3_key": f"{DATA_ROOT}/Louisiana/final_proposal_final/datasme_1113/", "cai": "fp_cai_08_13_2025..csv", "locations": "fp_locations_08_13_2025..csv", "no_bead_locations": "fp_no_bead_locations__08_13_2025..csv", "subgrantees": "fp_subgrantees_08_13_2025.csv", "deployment_projects": "fp_deployment_projects_08_13_2025..csv", "version_date": "20250813", }, { "s3_key": f"{DATA_ROOT}/Louisiana/final_proposal_final/", "cai": "cai/3_fp_cai_UPDATED_2024.12.30.csv", "locations": "locations/2_fp_locations_UPDATED_2024.12.30.csv", "no_bead_locations": "no_bead_locations/4_fp_no_BEAD_locations_2024.12.12.csv", "non_deployment_projects": "non_deployment_projects/1_fp_non_deployment_projects_2024.12.21.csv", "subgrantees": "subgrantees/1_fp_subgrantees_2024.12.12.csv", "deployment_projects": "deployment_projects/1_fp_deployment_projects_UPDATED_2024.12.30.csv", "version_date": "20241230", }, { "s3_key": f"{DATA_ROOT}/Louisiana/final_proposal_final_20250825/", "cai": "fp_cais.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_bead_no_locations.csv", "subgrantees": "fp_subgrantees.csv", "deployment_projects": "fp_deployment_projects.csv", "version_date": "20250825", }, { "s3_key": f"{DATA_ROOT}/Louisiana/unzipped/bead_final_proposal/20251118/", "cai": "fp_cais_11_18_2025.csv", "locations": "fp_locations_11_18_2025.csv", "no_bead_locations": "fp_no_bead_11_18_2025.csv", "subgrantees": "fp_subgrantees_11_18_2025.csv", "deployment_projects": "fp_deployment_projects_11_18_2025.csv", "version_date": "20251118", }, ], "MS": [ { "s3_key": f"{DATA_ROOT}/Mississippi/unzipped/final_proposal/", "cai": "Copy of Use of Funds to Serve CAI's.csv", "locations": "Copy of BEAD-funded Locations.csv", "no_bead_locations": "Copy of No BEAD Locations.csv", "subgrantees": "Copy of Last-Mile Deployment Subgrantees.csv", "deployment_projects": "Copy of Last-Mile Deployment Projects.csv", "version_date": "20250905", }, { "s3_key": f"{DATA_ROOT}/Mississippi/unzipped/final_proposal/", "cai": "Copy of Use of Funds to Serve CAI's.csv", "locations": "Copy of BEAD-funded Locations.csv", "no_bead_locations": "fp_no_bead_locations_09_18.csv", "subgrantees": "Copy of Last-Mile Deployment Subgrantees.csv", "deployment_projects": "Copy of Last-Mile Deployment Projects.csv", "version_date": "20250918", }, { "s3_key": f"{DATA_ROOT}/Mississippi/unzipped/final_proposal/", "cai": "Copy of Use of Funds to Serve CAI's.csv", "locations": "Copy of BEAD-funded Locations.csv", "no_bead_locations": "r_msup_fp_no_bead_locations_09_22.csv", # created using dags/general/flat_file_exporter/SQL/MS_fp_no_bead_locations_09_22.sql "subgrantees": "Copy of Last-Mile Deployment Subgrantees.csv", "deployment_projects": "Copy of Last-Mile Deployment Projects.csv", "version_date": "20250922", }, { "s3_key": f"{DATA_ROOT}/Mississippi/unzipped/final_proposal/20251030/", "cai": "Use of Funds to Serve CAI's - 9.23.csv", "locations": "BEAD-funded Locations - Updated -10-28-2025(in).csv", "no_bead_locations": "fp_no_bead_locations_10.14.csv", "deployment_projects": "Last-Mile Deployment Projects - 10.21.csv", "version_date": "20251030", }, { "s3_key": f"{DATA_ROOT}/Mississippi/unzipped/final_proposal/20251114/", "cai": "fp_cais.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_no_bead_locations_10.14.csv", "subgrantees": "Copy of Last-Mile Deployment Subgrantees.csv", "deployment_projects": "fp_deployment_projects.csv", "version_date": "20251114", }, ], "MN": [ { "s3_key": f"{DATA_ROOT}/Minnesota/unzipped/final_proposal_curing/", "locations": "final-proposal-locations_tcm1045-703455 09152025.csv", "no_bead_locations": "final-proposal-no-bead-locations_tcm1045-703457 09152025.csv", "subgrantees": "final-proposal-subgrantees_tcm1045-703454 09152025.csv", "deployment_projects": "deployment-projects_tcm1045-703453 09152025.csv", "version_date": "20250915", }, { "s3_key": f"{DATA_ROOT}/Minnesota/unzipped/final_proposal_20251016/", "deployment_projects": "fp_deployment_projects.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_no_bead_locations.csv", "subgrantees": "fp_subgrantees.csv", "version_date": "20251016", }, ], "OK": [ { "s3_key": f"{DATA_ROOT}/Oklahoma/final_proposal/20250912/", "cai": "fp_cai(9-12-25).csv", "locations": "fp_locations(9-12-25).csv", "no_bead_locations": "fp_no_bead_locations(9-4-25).csv", "subgrantees": "fp_subgrantees(9-12-25).csv", "deployment_projects": "fp_deployment_projects(9-12-25).csv", "version_date": "20250912", }, { "s3_key": f"{DATA_ROOT}/Oklahoma/final_proposal/20250916/", "cai": "fp_cai.csv", "deployment_projects": "fp_deployment_projects.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_no_bead_locations.csv", "subgrantees": "fp_subgrantees.csv", "version_date": "20250916", }, { "s3_key": f"{DATA_ROOT}/Oklahoma/final_proposal/20250924/", "cai": "fp_cai.csv", "deployment_projects": "fp_deployment_projects.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_no_bead_locations.csv", "subgrantees": "fp_subgrantees.csv", "version_date": "20250924", }, { "s3_key": f"{DATA_ROOT}/Oklahoma/final_proposal/20251113/", "cai": "fp_cai.csv", "deployment_projects": "fp_deployment_projects.csv", "locations": "fp_locations.csv", "no_bead_locations": "fp_no_bead_locations.csv", "subgrantees": "fp_subgrantees.csv", "version_date": "20251113", }, ], "IN": [ { "s3_key": f"{DATA_ROOT}/Indiana/unzipped/final_proposal/20250923/", "no_bead_locations": "fp_no_bead_locations.xlsx", "version_date": "20250923", }, ], "TX": [ { "s3_key": f"{DATA_ROOT}/Texas/unzipped/final_proposal/20251118/", "cai": "FP_CAI.csv", "locations": "FP_LOCATIONS.csv", "no_bead_locations": "FP_NO_BEAD_LOCATIONS.csv", "subgrantees": "FP_SUBGRANTEES.csv", "deployment_projects": "FP_DEPLOYMENT_PROJECTS.csv", "version_date": "20251118", }, ], }
[docs] @staticmethod def get_fp_round(state: str) -> int: round_dicts = { "AR": 4, "VA": -1, "LA": -1, "MS": 1, "TX": 1, "IN": 2, "OK": 2, "MN": 2, } return round_dicts.get(state, -1)
[docs] @staticmethod def get_fp_file_path(state: str) -> list[dict]: paths = BeadFpUtil.file_path.get(state, []) print("Total versions found for state", state, ":", len(paths)) return paths
[docs] @staticmethod def get_fp_states() -> list[str]: return list(BeadFpUtil.file_path.keys())