Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WorldDevelopmentIndicators Code Update #964

Merged
merged 17 commits into from
Dec 10, 2024

Code modification and Auto Refresh

c015a6a
Select commit
Loading
Failed to load commit list.
Merged

WorldDevelopmentIndicators Code Update #964

Code modification and Auto Refresh
c015a6a
Select commit
Loading
Failed to load commit list.
Google Cloud Build / data-pull-request-py (datcom-ci) failed Nov 25, 2024 in 5m 19s

Summary

Build Information

Trigger data-pull-request-py
Build c59fea85-51a7-44f6-9182-eec55cba4c0e
Start 2024-11-25T04:02:34-08:00
Duration 5m17.204s
Status FAILURE

Steps

Step Status Duration
python_install SUCCESS 3m19.271s
python_test CANCELLED 1m34.969s
python_format_check FAILURE 1m34.325s

Details

starting build "c59fea85-51a7-44f6-9182-eec55cba4c0e"

FETCHSOURCE
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
Initialized empty Git repository in /workspace/.git/
From https://github.com/datacommonsorg/data
 * branch            c015a6a2d10341f88005e9e177b2adbc321f758d -> FETCH_HEAD
Updating files:  27% (860/3101)
Updating files:  28% (869/3101)
Updating files:  29% (900/3101)
Updating files:  30% (931/3101)
Updating files:  30% (938/3101)
Updating files:  31% (962/3101)
Updating files:  32% (993/3101)
Updating files:  33% (1024/3101)
Updating files:  34% (1055/3101)
Updating files:  35% (1086/3101)
Updating files:  36% (1117/3101)
Updating files:  37% (1148/3101)
Updating files:  38% (1179/3101)
Updating files:  39% (1210/3101)
Updating files:  40% (1241/3101)
Updating files:  41% (1272/3101)
Updating files:  42% (1303/3101)
Updating files:  43% (1334/3101)
Updating files:  44% (1365/3101)
Updating files:  45% (1396/3101)
Updating files:  46% (1427/3101)
Updating files:  47% (1458/3101)
Updating files:  48% (1489/3101)
Updating files:  49% (1520/3101)
Updating files:  50% (1551/3101)
Updating files:  51% (1582/3101)
Updating files:  52% (1613/3101)
Updating files:  52% (1631/3101)
Updating files:  53% (1644/3101)
Updating files:  54% (1675/3101)
Updating files:  55% (1706/3101)
Updating files:  56% (1737/3101)
Updating files:  57% (1768/3101)
Updating files:  58% (1799/3101)
Updating files:  59% (1830/3101)
Updating files:  60% (1861/3101)
Updating files:  61% (1892/3101)
Updating files:  62% (1923/3101)
Updating files:  63% (1954/3101)
Updating files:  64% (1985/3101)
Updating files:  65% (2016/3101)
Updating files:  66% (2047/3101)
Updating files:  67% (2078/3101)
Updating files:  68% (2109/3101)
Updating files:  69% (2140/3101)
Updating files:  70% (2171/3101)
Updating files:  71% (2202/3101)
Updating files:  72% (2233/3101)
Updating files:  73% (2264/3101)
Updating files:  74% (2295/3101)
Updating files:  75% (2326/3101)
Updating files:  76% (2357/3101)
Updating files:  77% (2388/3101)
Updating files:  78% (2419/3101)
Updating files:  79% (2450/3101)
Updating files:  80% (2481/3101)
Updating files:  81% (2512/3101)
Updating files:  82% (2543/3101)
Updating files:  83% (2574/3101)
Updating files:  84% (2605/3101)
Updating files:  85% (2636/3101)
Updating files:  86% (2667/3101)
Updating files:  87% (2698/3101)
Updating files:  88% (2729/3101)
Updating files:  89% (2760/3101)
Updating files:  90% (2791/3101)
Updating files:  91% (2822/3101)
Updating files:  92% (2853/3101)
Updating files:  93% (2884/3101)
Updating files:  94% (2915/3101)
Updating files:  95% (2946/3101)
Updating files:  96% (2977/3101)
Updating files:  97% (3008/3101)
Updating files:  98% (3039/3101)
Updating files:  99% (3070/3101)
Updating files: 100% (3101/3101)
Updating files: 100% (3101/3101), done.
HEAD is now at c015a6a Code modification and Auto Refresh
BUILD
Starting Step #0 - "python_install"
Step #0 - "python_install": Pulling image: python:3.11
Step #0 - "python_install": 3.11: Pulling from library/python
Step #0 - "python_install": b2b31b28ee3c: Pulling fs layer
Step #0 - "python_install": c3cc7b6f0473: Pulling fs layer
Step #0 - "python_install": 2112e5e7c3ff: Pulling fs layer
Step #0 - "python_install": af247aac0764: Pulling fs layer
Step #0 - "python_install": 6f47d6e91428: Pulling fs layer
Step #0 - "python_install": 0ded565f3746: Pulling fs layer
Step #0 - "python_install": c03fa7c846df: Pulling fs layer
Step #0 - "python_install": af247aac0764: Waiting
Step #0 - "python_install": 6f47d6e91428: Waiting
Step #0 - "python_install": 0ded565f3746: Waiting
Step #0 - "python_install": c03fa7c846df: Waiting
Step #0 - "python_install": c3cc7b6f0473: Verifying Checksum
Step #0 - "python_install": c3cc7b6f0473: Download complete
Step #0 - "python_install": b2b31b28ee3c: Verifying Checksum
Step #0 - "python_install": b2b31b28ee3c: Download complete
Step #0 - "python_install": 2112e5e7c3ff: Verifying Checksum
Step #0 - "python_install": 2112e5e7c3ff: Download complete
Step #0 - "python_install": 6f47d6e91428: Verifying Checksum
Step #0 - "python_install": 6f47d6e91428: Download complete
Step #0 - "python_install": 0ded565f3746: Verifying Checksum
Step #0 - "python_install": 0ded565f3746: Download complete
Step #0 - "python_install": c03fa7c846df: Verifying Checksum
Step #0 - "python_install": c03fa7c846df: Download complete
Step #0 - "python_install": b2b31b28ee3c: Pull complete
Step #0 - "python_install": af247aac0764: Verifying Checksum
Step #0 - "python_install": af247aac0764: Download complete
Step #0 - "python_install": c3cc7b6f0473: Pull complete
Step #0 - "python_install": 2112e5e7c3ff: Pull complete
Step #0 - "python_install": af247aac0764: Pull complete
Step #0 - "python_install": 6f47d6e91428: Pull complete
Step #0 - "python_install": 0ded565f3746: Pull complete
Step #0 - "python_install": c03fa7c846df: Pull complete
Step #0 - "python_install": Digest: sha256:706d1233c61a31507c4f8939cfd6a924610b51174c095f33e2c537fb904a1e76
Step #0 - "python_install": Status: Downloaded newer image for python:3.11
Step #0 - "python_install": docker.io/library/python:3.11
Step #0 - "python_install": ### Installing Python requirements
Step #0 - "python_install": Installing Python requirements
Step #0 - "python_install": 
Step #0 - "python_install": [notice] A new release of pip is available: 24.0 -> 24.3.1
Step #0 - "python_install": [notice] To update, run: pip install --upgrade pip
Finished Step #0 - "python_install"
Starting Step #1 - "python_test"
Starting Step #2 - "python_format_check"
Step #2 - "python_format_check": Already have image (with digest): python:3.11
Step #1 - "python_test": Already have image (with digest): python:3.11
Step #1 - "python_test": ### Running Python tests in util/
Step #2 - "python_format_check": ### Testing lint
Step #1 - "python_test": Installing Python requirements
Step #2 - "python_format_check": Installing Python requirements
Step #1 - "python_test": 
Step #1 - "python_test": [notice] A new release of pip is available: 24.0 -> 24.3.1
Step #1 - "python_test": [notice] To update, run: pip install --upgrade pip
Step #1 - "python_test": #### Testing Python code in util/
Step #2 - "python_format_check": 
Step #2 - "python_format_check": [notice] A new release of pip is available: 24.0 -> 24.3.1
Step #2 - "python_format_check": [notice] To update, run: pip install --upgrade pip
Step #2 - "python_format_check": #### Testing Python lint
Step #1 - "python_test": test_aggregate_dict (aggregation_util_test.AggregationUtilTest.test_aggregate_dict) ... ok
Step #1 - "python_test": test_aggregate_value (aggregation_util_test.AggregationUtilTest.test_aggregate_value) ... ok
Step #1 - "python_test": test_config_map_with_override (config_map_test.TestConfigMap.test_config_map_with_override) ... ok
Step #1 - "python_test": test_load_config_file (config_map_test.TestConfigMap.test_load_config_file)
Step #1 - "python_test": Test loading of config dictionary from a file. ... ok
Step #1 - "python_test": test_set_config (config_map_test.TestConfigMap.test_set_config) ... ok
Step #1 - "python_test": test_update_config (config_map_test.TestConfigMap.test_update_config) ... ok
Step #1 - "python_test": test_add_counter (counters_test.TestCounters.test_add_counter)
Step #1 - "python_test": Verify increment and decrement counters. ... Counters:
Step #1 - "python_test":                                        test_inputs =         10
Step #1 - "python_test":                          test_process_elapsed_time =       0.00
Step #1 - "python_test":                                     test_processed =          0
Step #1 - "python_test":                                    test_start_time =     281.68
Step #1 - "python_test": ok
Step #1 - "python_test": test_counter_dict (counters_test.TestCounters.test_counter_dict)
Step #1 - "python_test": Verify counter dict is shared across counters. ... Counters:
Step #1 - "python_test":                               process_elapsed_time =       0.00
Step #1 - "python_test":                                          processed =          0
Step #1 - "python_test":                                         start_time =     281.68
Step #1 - "python_test":                                           test_ctr =          1
Step #1 - "python_test": ok
Step #1 - "python_test": test_debug_counters (counters_test.TestCounters.test_debug_counters)
Step #1 - "python_test": Verify counters with debug string suffixes. ... Counters:
Step #1 - "python_test":                                       test3_inputs =         10
Step #1 - "python_test":                           test3_inputs_test-case-2 =         10
Step #1 - "python_test":                         test3_process_elapsed_time =       0.00
Step #1 - "python_test":                                    test3_processed =          0
Step #1 - "python_test":                                   test3_start_time =     281.68
Step #1 - "python_test": ok
Step #1 - "python_test": test_set_counter (counters_test.TestCounters.test_set_counter)
Step #1 - "python_test": Verify set_counter overrides current value. ... Counters:
Step #1 - "python_test":                                        test2_lines =          1
Step #1 - "python_test":                                  test2_lines_file1 =          1
Step #1 - "python_test":                         test2_process_elapsed_time =       0.00
Step #1 - "python_test":                                    test2_processed =          0
Step #1 - "python_test":                                   test2_start_time =     281.69
Step #1 - "python_test": Counters:
Step #1 - "python_test":                                        test2_lines =         11
Step #1 - "python_test":                                  test2_lines_file1 =         11
Step #1 - "python_test":                         test2_process_elapsed_time =       0.00
Step #1 - "python_test":                                    test2_processed =          0
Step #1 - "python_test":                                   test2_start_time =     281.69
Step #1 - "python_test": ok
Step #1 - "python_test": test_show_counters (counters_test.TestCounters.test_show_counters) ... Counters:
Step #1 - "python_test":                                     test-file-rows =        100
Step #1 - "python_test":                          test-process_elapsed_time =       0.00
Step #1 - "python_test":                        test-process_remaining_time = 1000000.00
Step #1 - "python_test":                                     test-read-rows =          0
Step #1 - "python_test":                                    test-start_time =     281.69
Step #1 - "python_test": Counters:
Step #1 - "python_test":                                     test-file-rows =        100
Step #1 - "python_test":                          test-process_elapsed_time =       0.00
Step #1 - "python_test":                        test-process_remaining_time =       0.01
Step #1 - "python_test":                               test-processing_rate =   13652.51
Step #1 - "python_test":                                     test-read-rows =         10
Step #1 - "python_test":                                    test-start_time =     281.69
Step #1 - "python_test": ok
Step #1 - "python_test": test_dc_api_batched_wrapper (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_batched_wrapper)
Step #1 - "python_test": Test DC API wrapper for batched calls. ... ok
Step #1 - "python_test": test_dc_api_is_defined_dcid (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_is_defined_dcid)
Step #1 - "python_test": Test API wrapper for defined DCIDs. ... ok
Step #1 - "python_test": test_dc_api_wrapper (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper)
Step #1 - "python_test": Test the wrapper for DC API. ... ok
Step #1 - "python_test": test_dc_get_node_property_values (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_get_node_property_values)
Step #1 - "python_test": Test API wrapper to get all property:values for a node. ... ok
Step #1 - "python_test": test_download_file (download_util_test.TestCounters.test_download_file) ... ok
Step #1 - "python_test": test_prefilled_url (download_util_test.TestCounters.test_prefilled_url) ... ok
Step #1 - "python_test": test_request_url (download_util_test.TestCounters.test_request_url) ... ok
Step #1 - "python_test": test_read_write (file_util_test.FileIOTest.test_read_write) ... ok
Step #1 - "python_test": test_file_get_estimate_num_rows (file_util_test.FileUtilsTest.test_file_get_estimate_num_rows) ... ok
Step #1 - "python_test": test_file_get_matching (file_util_test.FileUtilsTest.test_file_get_matching) ... ok
Step #1 - "python_test": test_file_load_csv_dict (file_util_test.FileUtilsTest.test_file_load_csv_dict) ... ok
Step #1 - "python_test": test_file_type (file_util_test.FileUtilsTest.test_file_type) ... ok
Step #1 - "python_test": test_file_write_load_py_dict (file_util_test.FileUtilsTest.test_file_write_load_py_dict) ... ok
Step #1 - "python_test": test_aa2 (latlng2place_mapsapi_test.Latlng2PlaceMapsAPITest.test_aa2) ... ok
Step #1 - "python_test": test_country (latlng2place_mapsapi_test.Latlng2PlaceMapsAPITest.test_country) ... ok
Step #1 - "python_test": test_main (latlng_recon_geojson_test.LatlngReconGeojsonTest.test_main) ... ok
Step #1 - "python_test": test_basic (latlng_recon_service_test.LatlngReconServiceTest.test_basic) ... /usr/local/lib/python3.11/concurrent/futures/thread.py:58: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=6, laddr=('192.168.10.2', 42080), raddr=('34.49.176.91', 443)>
Step #1 - "python_test":   result = self.fn(*self.args, **self.kwargs)
Step #1 - "python_test": ResourceWarning: Enable tracemalloc to get the object allocation traceback
Step #1 - "python_test": ok
Step #1 - "python_test": test_filter (latlng_recon_service_test.LatlngReconServiceTest.test_filter) ... /usr/local/lib/python3.11/concurrent/futures/thread.py:58: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=6, laddr=('192.168.10.2', 42082), raddr=('34.49.176.91', 443)>
Step #1 - "python_test":   result = self.fn(*self.args, **self.kwargs)
Step #1 - "python_test": ResourceWarning: Enable tracemalloc to get the object allocation traceback
Step #1 - "python_test": ok
Step #1 - "python_test": test_dict_list_to_mcf_str (mcf_dict_util_test.TestMCFDict.test_dict_list_to_mcf_str) ... ok
Step #1 - "python_test": test_drop_nodes (mcf_dict_util_test.TestMCFDict.test_drop_nodes) ... ok
Step #1 - "python_test": test_get_dcid_node (mcf_dict_util_test.TestMCFDict.test_get_dcid_node) ... ok
Step #1 - "python_test": test_mcf_dict_rename_namespace (mcf_dict_util_test.TestMCFDict.test_mcf_dict_rename_namespace) ... ok
Step #1 - "python_test": test_mcf_dict_rename_prop (mcf_dict_util_test.TestMCFDict.test_mcf_dict_rename_prop) ... ok
Step #1 - "python_test": test_mcf_dict_rename_prop_value (mcf_dict_util_test.TestMCFDict.test_mcf_dict_rename_prop_value) ... ok
Step #1 - "python_test": test_mcf_to_dict_list (mcf_dict_util_test.TestMCFDict.test_mcf_to_dict_list) ... ok
Step #1 - "python_test": test_node_list_check_existence_dc (mcf_dict_util_test.TestMCFDict.test_node_list_check_existence_dc) ... ok
Step #1 - "python_test": test_node_list_check_existence_node_list (mcf_dict_util_test.TestMCFDict.test_node_list_check_existence_node_list) ... ok
Step #1 - "python_test": test_example_usage (mcf_template_filler_test.MCFTemplateFillerTest.test_example_usage) ... ok
Step #1 - "python_test": test_pop_and_2_obs_with_all_pv (mcf_template_filler_test.MCFTemplateFillerTest.test_pop_and_2_obs_with_all_pv)
Step #1 - "python_test": Use separate templates for Pop Obs, and use Obs template repeatedly. ... ok
Step #1 - "python_test": test_pop_with_missing_req_pv (mcf_template_filler_test.MCFTemplateFillerTest.test_pop_with_missing_req_pv) ... ok
Step #1 - "python_test": test_require_node_name (mcf_template_filler_test.MCFTemplateFillerTest.test_require_node_name) ... ok
Step #1 - "python_test": test_unified_pop_obs_with_missing_optional_pv (mcf_template_filler_test.MCFTemplateFillerTest.test_unified_pop_obs_with_missing_optional_pv) ... ok
Step #1 - "python_test": test_place_id_resolution_by_name (state_division_to_dcid_test.PlaceMapTest.test_place_id_resolution_by_name) ... ok
Step #1 - "python_test": test_boolean_naming (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_boolean_naming) ... ok
Step #1 - "python_test": test_double_underscore (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_double_underscore) ... ok
Step #1 - "python_test": test_ignore_props (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_ignore_props) ... ok
Step #1 - "python_test": test_legacy_mapping (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_legacy_mapping) ... ok
Step #1 - "python_test": test_measured_property (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measured_property) ... ok
Step #1 - "python_test": test_measurement_constraint_removal (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measurement_constraint_removal) ... ok
Step #1 - "python_test": test_measurement_denominator (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measurement_denominator) ... ok
Step #1 - "python_test": test_measurement_qualifier (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measurement_qualifier) ... ok
Step #1 - "python_test": test_naics_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_naics_name_generation) ... ok
Step #1 - "python_test": test_namespace_removal (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_namespace_removal) ... ok
Step #1 - "python_test": test_prepend_append_replace (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_prepend_append_replace) ... ok
Step #1 - "python_test": test_quantity_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_quantity_name_generation) ... ok
Step #1 - "python_test": test_quantity_range_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_quantity_range_name_generation) ... ok
Step #1 - "python_test": test_soc_map (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_soc_map) ... ok
Step #1 - "python_test": test_soc_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_soc_name_generation) ... ok
Step #1 - "python_test": test_sorted_constraints (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_sorted_constraints) ... ok
Step #1 - "python_test": test_stat_type (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_stat_type) ... ok
Step #1 - "python_test": 
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": Ran 61 tests in 4.285s
Step #1 - "python_test": 
Step #1 - "python_test": OK
Step #1 - "python_test": ### Running Python tests in import-automation/executor
Step #1 - "python_test": Installing Python requirements
Step #2 - "python_format_check": --- scripts/world_bank/wdi/worldbank.py	(original)
Step #2 - "python_format_check": +++ scripts/world_bank/wdi/worldbank.py	(reformatted)
Step #2 - "python_format_check": @@ -33,9 +33,9 @@
Step #2 - "python_format_check":  _FLAGS = flags.FLAGS
Step #2 - "python_format_check":  flags.DEFINE_boolean("fetchFromSource", True,
Step #2 - "python_format_check":                       "Whether to bypass cached CSVs and fetch from source.")
Step #2 - "python_format_check": -flags.DEFINE_string("indicatorSchemaFile",
Step #2 - "python_format_check": -                    os.path.join(_MODULE_DIR,
Step #2 - "python_format_check": -                                 "schema_csvs/WorldBankIndicators_prod.csv"),"")
Step #2 - "python_format_check": +flags.DEFINE_string(
Step #2 - "python_format_check": +    "indicatorSchemaFile",
Step #2 - "python_format_check": +    os.path.join(_MODULE_DIR, "schema_csvs/WorldBankIndicators_prod.csv"), "")
Step #2 - "python_format_check":  flags.DEFINE_string('mode', '', 'Options: download or process')
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  # Remaps the columns provided by World Bank API.
Step #2 - "python_format_check": @@ -284,7 +284,8 @@
Step #2 - "python_format_check":          # Convert to numeric and drop empty values.
Step #2 - "python_format_check":          df['Value'] = pd.to_numeric(df['Value'])
Step #2 - "python_format_check":          df = df.dropna()
Step #2 - "python_format_check": -        if not os.path.exists(os.path.join(_MODULE_DIR, 'preprocessed_source_csv')):
Step #2 - "python_format_check": +        if not os.path.exists(
Step #2 - "python_format_check": +                os.path.join(_MODULE_DIR, 'preprocessed_source_csv')):
Step #2 - "python_format_check":              os.mkdir(os.path.join(_MODULE_DIR, 'preprocessed_source_csv'))
Step #2 - "python_format_check":          df.to_csv('preprocessed_source_csv/' + iso3166alpha3 + '.csv',
Step #2 - "python_format_check":                    index=False)
Step #2 - "python_format_check": @@ -386,8 +387,7 @@
Step #2 - "python_format_check":      return tmcfs_for_stat_vars
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check": -def download_indicator_data(worldbank_countries, indicator_codes,
Step #2 - "python_format_check": -                            mode):
Step #2 - "python_format_check": +def download_indicator_data(worldbank_countries, indicator_codes, mode):
Step #2 - "python_format_check":      """ Downloads World Bank country data for all countries and
Step #2 - "python_format_check":              indicators provided.
Step #2 - "python_format_check":  
Step #2 - "python_format_check": @@ -440,15 +440,13 @@
Step #2 - "python_format_check":      """
Step #2 - "python_format_check":      # Only include a subset of columns in the final csv
Step #2 - "python_format_check":      output_csv = worldbank_dataframe[[
Step #2 - "python_format_check": -        'StatisticalVariable', 'IndicatorCode', 'ISO3166Alpha3', 'Year', 'Value', 'observationPeriod'
Step #2 - "python_format_check": +        'StatisticalVariable', 'IndicatorCode', 'ISO3166Alpha3', 'Year',
Step #2 - "python_format_check": +        'Value', 'observationPeriod'
Step #2 - "python_format_check":      ]]
Step #2 - "python_format_check":  
Step #2 - "python_format_check":      # Output tmcf and csv for each unique World Bank grouping.
Step #2 - "python_format_check":      df = pd.DataFrame(columns=[
Step #2 - "python_format_check": -        'StatisticalVariable',
Step #2 - "python_format_check": -        'IndicatorCode',
Step #2 - "python_format_check": -        'ISO3166Alpha3',
Step #2 - "python_format_check": -        'Year',
Step #2 - "python_format_check": +        'StatisticalVariable', 'IndicatorCode', 'ISO3166Alpha3', 'Year',
Step #2 - "python_format_check":          'observationPeriod'
Step #2 - "python_format_check":      ])
Step #2 - "python_format_check":      with open('output/WorldBank.tmcf', 'w', newline='') as f_out:
Step #2 - "python_format_check": @@ -512,6 +510,7 @@
Step #2 - "python_format_check":                                        existing_stat_var_lookup[indicator_code])
Step #2 - "python_format_check":      return row
Step #2 - "python_format_check":  
Step #2 - "python_format_check": +
Step #2 - "python_format_check":  def process(indicator_codes, worldbank_dataframe):
Step #2 - "python_format_check":      # Add source description to note.
Step #2 - "python_format_check":      def add_source_to_description(row):
Step #2 - "python_format_check": @@ -548,26 +547,29 @@
Step #2 - "python_format_check":  
Step #2 - "python_format_check":      # Scale values by scaling factor and replace exisiting StatVars.
Step #2 - "python_format_check":      scaling_factor_lookup = (indicator_codes.set_index('IndicatorCode')
Step #2 - "python_format_check": -                            ['sourceScalingFactor'].dropna().to_dict())
Step #2 - "python_format_check": +                             ['sourceScalingFactor'].dropna().to_dict())
Step #2 - "python_format_check":      existing_stat_var_lookup = (indicator_codes.set_index('IndicatorCode')
Step #2 - "python_format_check":                                  ['ExistingStatVar'].dropna().to_dict())
Step #2 - "python_format_check":      worldbank_dataframe = worldbank_dataframe.apply(
Step #2 - "python_format_check":          lambda row: source_scaling_remap(row, scaling_factor_lookup,
Step #2 - "python_format_check": -                                        existing_stat_var_lookup),
Step #2 - "python_format_check": +                                         existing_stat_var_lookup),
Step #2 - "python_format_check":          axis=1)
Step #2 - "python_format_check":  
Step #2 - "python_format_check":      # Convert integer columns.
Step #2 - "python_format_check":      int_cols = (list(indicator_codes[indicator_codes['ConvertToInt'] == True]
Step #2 - "python_format_check": -                    ['IndicatorCode'].unique()))
Step #2 - "python_format_check": +                     ['IndicatorCode'].unique()))
Step #2 - "python_format_check":      worldbank_subset = worldbank_dataframe[
Step #2 - "python_format_check":          worldbank_dataframe['IndicatorCode'].isin(int_cols)].index
Step #2 - "python_format_check":      worldbank_dataframe.loc[worldbank_subset, "Value"] = (pd.to_numeric(
Step #2 - "python_format_check":          worldbank_dataframe.loc[worldbank_subset, "Value"], downcast="integer"))
Step #2 - "python_format_check": -    worldbank_dataframe['observationPeriod'] = worldbank_dataframe['StatisticalVariable'].apply(
Step #2 - "python_format_check": -    lambda x: '' if x in ['dcid:FertilityRate_Person_Female', 'dcid:LifeExpectancy_Person'] else 'P1Y')
Step #2 - "python_format_check": +    worldbank_dataframe['observationPeriod'] = worldbank_dataframe[
Step #2 - "python_format_check": +        'StatisticalVariable'].apply(lambda x: '' if x in [
Step #2 - "python_format_check": +            'dcid:FertilityRate_Person_Female', 'dcid:LifeExpectancy_Person'
Step #2 - "python_format_check": +        ] else 'P1Y')
Step #2 - "python_format_check":      # Output final CSVs and variables.
Step #2 - "python_format_check":      output_csv_and_tmcf_by_grouping(worldbank_dataframe, tmcfs_for_stat_vars,
Step #2 - "python_format_check":                                      indicator_codes)
Step #2 - "python_format_check": +
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def main(_):
Step #2 - "python_format_check":      mode = _FLAGS.mode
Step #2 - "python_format_check": @@ -575,10 +577,10 @@
Step #2 - "python_format_check":      indicator_codes = pd.read_csv(_FLAGS.indicatorSchemaFile, dtype=str)
Step #2 - "python_format_check":      worldbank_countries = pd.read_csv("WorldBankCountries.csv")
Step #2 - "python_format_check":      worldbank_dataframe = download_indicator_data(worldbank_countries,
Step #2 - "python_format_check": -                                                    indicator_codes,
Step #2 - "python_format_check": -                                                    _FLAGS.mode)
Step #2 - "python_format_check": +                                                  indicator_codes, _FLAGS.mode)
Step #2 - "python_format_check":      if mode == "" or mode == "process":
Step #2 - "python_format_check":          process(indicator_codes, worldbank_dataframe)
Step #2 - "python_format_check":  
Step #2 - "python_format_check": +
Step #2 - "python_format_check":  if __name__ == '__main__':
Step #2 - "python_format_check":      app.run(main)
Step #1 - "python_test": 
Step #1 - "python_test": [notice] A new release of pip is available: 24.0 -> 24.3.1
Step #1 - "python_test": [notice] To update, run: pip install --upgrade pip
Step #1 - "python_test": #### Testing Python code in import-automation/executor
Step #1 - "python_test": test_appengine_job_request (test.cloud_scheduler_test.CloudSchedulerTest.test_appengine_job_request) ... ok
Step #1 - "python_test": test_http_job_request (test.cloud_scheduler_test.CloudSchedulerTest.test_http_job_request) ... ok
Step #1 - "python_test": test.file_uploader_test (unittest.loader._FailedTest.test.file_uploader_test) ... ERROR
Step #1 - "python_test": test.github_api_test (unittest.loader._FailedTest.test.github_api_test) ... ERROR
Step #1 - "python_test": test_clean_time (test.import_executor_test.ImportExecutorTest.test_clean_time) ... ok
Step #1 - "python_test": test_construct_process_message (test.import_executor_test.ImportExecutorTest.test_construct_process_message) ... ok
Step #1 - "python_test": test_construct_process_message_no_output (test.import_executor_test.ImportExecutorTest.test_construct_process_message_no_output)
Step #1 - "python_test": Tests that _construct_process_message does not append ... ok
Step #1 - "python_test": test_create_venv (test.import_executor_test.ImportExecutorTest.test_create_venv) ... ok
Step #1 - "python_test": test_run_and_handle_exception (test.import_executor_test.ImportExecutorTest.test_run_and_handle_exception) ... ERROR:root:An unexpected exception was thrown
Step #1 - "python_test": Traceback (most recent call last):
Step #1 - "python_test":   File "/workspace/import-automation/executor/app/executor/import_executor.py", line 489, in run_and_handle_exception
Step #1 - "python_test":     return exec_func(*args)
Step #1 - "python_test":            ^^^^^^^^^^^^^^^^
Step #1 - "python_test": TypeError: 'str' object is not callable
Step #1 - "python_test": FAIL
Step #1 - "python_test": test_run_with_timeout (test.import_executor_test.ImportExecutorTest.test_run_with_timeout) ... ERROR:root:An unexpected exception was thrown: Command '['sleep', '5']' timed out after 0.1 seconds when running ['sleep', '5']: Traceback (most recent call last):
Step #1 - "python_test":   File "/workspace/import-automation/executor/app/executor/import_executor.py", line 588, in _run_with_timeout
Step #1 - "python_test":     process = subprocess.run(args,
Step #1 - "python_test":               ^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 550, in run
Step #1 - "python_test":     stdout, stderr = process.communicate(input, timeout=timeout)
Step #1 - "python_test":                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 1209, in communicate
Step #1 - "python_test":     stdout, stderr = self._communicate(input, endtime, timeout)
Step #1 - "python_test":                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 2116, in _communicate
Step #1 - "python_test":     self._check_timeout(endtime, orig_timeout, stdout, stderr)
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 1253, in _check_timeout
Step #1 - "python_test":     raise TimeoutExpired(
Step #1 - "python_test": subprocess.TimeoutExpired: Command '['sleep', '5']' timed out after 0.1 seconds
Step #1 - "python_test": Traceback (most recent call last):
Step #1 - "python_test":   File "/workspace/import-automation/executor/app/executor/import_executor.py", line 588, in _run_with_timeout
Step #1 - "python_test":     process = subprocess.run(args,
Step #1 - "python_test":               ^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 550, in run
Step #1 - "python_test":     stdout, stderr = process.communicate(input, timeout=timeout)
Step #1 - "python_test":                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 1209, in communicate
Step #1 - "python_test":     stdout, stderr = self._communicate(input, endtime, timeout)
Step #1 - "python_test":                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 2116, in _communicate
Step #1 - "python_test":     self._check_timeout(endtime, orig_timeout, stdout, stderr)
Step #1 - "python_test":   File "/usr/local/lib/python3.11/subprocess.py", line 1253, in _check_timeout
Step #1 - "python_test":     raise TimeoutExpired(
Step #1 - "python_test": subprocess.TimeoutExpired: Command '['sleep', '5']' timed out after 0.1 seconds
Step #1 - "python_test": FAIL
Step #1 - "python_test": test_are_imports_finished (test.import_service_test.ImportServiceTest.test_are_imports_finished) ... ok
Step #1 - "python_test": test_block_on_import (test.import_service_test.ImportServiceTest.test_block_on_import) ... ok
Step #1 - "python_test": test_fix_input_path (test.import_service_test.ImportServiceTest.test_fix_input_path) ... ok
Step #1 - "python_test": test_format_import_info (test.import_service_test.ImportServiceTest.test_format_import_info) ... ok
Step #1 - "python_test": test_get_fixed_absolute_import_name (test.import_service_test.ImportServiceTest.test_get_fixed_absolute_import_name) ... ok
Step #1 - "python_test": test_get_import_id (test.import_service_test.ImportServiceTest.test_get_import_id) ... ok
Step #1 - "python_test": test_smart_import (test.import_service_test.ImportServiceTest.test_smart_import) ... ok
Step #1 - "python_test": test_absolute_import_name (test.import_target_test.ImportTargetTest.test_absolute_import_name) ... ok
Step #1 - "python_test": test_is_import_targetted_by_commit (test.import_target_test.ImportTargetTest.test_is_import_targetted_by_commit) ... ok
Step #1 - "python_test": test_parse_commit_message_targets (test.import_target_test.ImportTargetTest.test_parse_commit_message_targets) ... ok
Step #1 - "python_test": test.integration_test (unittest.loader._FailedTest.test.integration_test) ... ERROR
Step #1 - "python_test": test_download_file (test.utils_test.AppUtilsTest.test_download_file)
Step #1 - "python_test": Response does not have a Content-Disposition header. ... ok
Step #1 - "python_test": test_download_file_timeout (test.utils_test.AppUtilsTest.test_download_file_timeout)
Step #1 - "python_test": Raises requests.Timeout exception. ... ok
Step #1 - "python_test": test_get_filename (test.utils_test.AppUtilsTest.test_get_filename) ... ok
Step #1 - "python_test": test_get_filename_raise (test.utils_test.AppUtilsTest.test_get_filename_raise) ... ok
Step #1 - "python_test": test_pacific_time_to_datetime (test.utils_test.AppUtilsTest.test_pacific_time_to_datetime)
Step #1 - "python_test": Tests that the string returned by pacific_time can be converted to ... ok
Step #1 - "python_test": test_pacific_time_to_datetime_then_back (test.utils_test.AppUtilsTest.test_pacific_time_to_datetime_then_back)
Step #1 - "python_test": Tests that the string returned by pacific_time can be converted to ... ok
Step #1 - "python_test": test_compare_lines (test.utils_test.TestUtilsTest.test_compare_lines) ... ok
Step #1 - "python_test": test_import_spec_valid (test.validation_test.ValidationTest.test_import_spec_valid) ... ok
Step #1 - "python_test": test_import_spec_valid_fields_absent (test.validation_test.ValidationTest.test_import_spec_valid_fields_absent) ... ok
Step #1 - "python_test": test_import_spec_valid_script_not_exist (test.validation_test.ValidationTest.test_import_spec_valid_script_not_exist) ... ok
Step #1 - "python_test": test_import_targets_valid_absolute_names (test.validation_test.ValidationTest.test_import_targets_valid_absolute_names) ... ok
Step #1 - "python_test": test_import_targets_valid_manifest_not_exist (test.validation_test.ValidationTest.test_import_targets_valid_manifest_not_exist) ... ok
Step #1 - "python_test": test_import_targets_valid_name_not_exist (test.validation_test.ValidationTest.test_import_targets_valid_name_not_exist) ... ok
Step #1 - "python_test": test_import_targets_valid_relative_names (test.validation_test.ValidationTest.test_import_targets_valid_relative_names) ... ok
Step #1 - "python_test": test_import_targets_valid_relative_names_multiple_dirs (test.validation_test.ValidationTest.test_import_targets_valid_relative_names_multiple_dirs) ... ok
Step #1 - "python_test": test_manifest_valid_fields_absent (test.validation_test.ValidationTest.test_manifest_valid_fields_absent) ... ok
Step #1 - "python_test": 
Step #1 - "python_test": ======================================================================
Step #1 - "python_test": ERROR: test.file_uploader_test (unittest.loader._FailedTest.test.file_uploader_test)
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": ImportError: Failed to import test module: test.file_uploader_test
Step #1 - "python_test": Traceback (most recent call last):
Step #1 - "python_test":   File "/usr/local/lib/python3.11/unittest/loader.py", line 419, in _find_test_path
Step #1 - "python_test":     module = self._get_module_from_name(name)
Step #1 - "python_test":              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/unittest/loader.py", line 362, in _get_module_from_name
Step #1 - "python_test":     __import__(name)
Step #1 - "python_test":   File "/workspace/import-automation/executor/test/file_uploader_test.py", line 22, in <module>
Step #1 - "python_test":     from test import integration_test
Step #1 - "python_test":   File "/workspace/import-automation/executor/test/integration_test.py", line 30, in <module>
Step #1 - "python_test":     'github_repo_owner_username': os.environ['_GITHUB_REPO_OWNER_USERNAME'],
Step #1 - "python_test":                                   ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "<frozen os>", line 679, in __getitem__
Step #1 - "python_test": KeyError: '_GITHUB_REPO_OWNER_USERNAME'
Step #1 - "python_test": 
Step #1 - "python_test": 
Step #1 - "python_test": ======================================================================
Step #1 - "python_test": ERROR: test.github_api_test (unittest.loader._FailedTest.test.github_api_test)
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": ImportError: Failed to import test module: test.github_api_test
Step #1 - "python_test": Traceback (most recent call last):
Step #1 - "python_test":   File "/usr/local/lib/python3.11/unittest/loader.py", line 419, in _find_test_path
Step #1 - "python_test":     module = self._get_module_from_name(name)
Step #1 - "python_test":              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/unittest/loader.py", line 362, in _get_module_from_name
Step #1 - "python_test":     __import__(name)
Step #1 - "python_test":   File "/workspace/import-automation/executor/test/github_api_test.py", line 28, in <module>
Step #1 - "python_test":     from test import integration_test
Step #1 - "python_test":   File "/workspace/import-automation/executor/test/integration_test.py", line 30, in <module>
Step #1 - "python_test":     'github_repo_owner_username': os.environ['_GITHUB_REPO_OWNER_USERNAME'],
Step #1 - "python_test":                                   ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "<frozen os>", line 679, in __getitem__
Step #1 - "python_test": KeyError: '_GITHUB_REPO_OWNER_USERNAME'
Step #1 - "python_test": 
Step #1 - "python_test": 
Step #1 - "python_test": ======================================================================
Step #1 - "python_test": ERROR: test.integration_test (unittest.loader._FailedTest.test.integration_test)
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": ImportError: Failed to import test module: test.integration_test
Step #1 - "python_test": Traceback (most recent call last):
Step #1 - "python_test":   File "/usr/local/lib/python3.11/unittest/loader.py", line 419, in _find_test_path
Step #1 - "python_test":     module = self._get_module_from_name(name)
Step #1 - "python_test":              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/usr/local/lib/python3.11/unittest/loader.py", line 362, in _get_module_from_name
Step #1 - "python_test":     __import__(name)
Step #1 - "python_test":   File "/workspace/import-automation/executor/test/integration_test.py", line 30, in <module>
Step #1 - "python_test":     'github_repo_owner_username': os.environ['_GITHUB_REPO_OWNER_USERNAME'],
Step #1 - "python_test":                                   ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "<frozen os>", line 679, in __getitem__
Step #1 - "python_test": KeyError: '_GITHUB_REPO_OWNER_USERNAME'
Step #1 - "python_test": 
Step #1 - "python_test": 
Step #1 - "python_test": ======================================================================
Step #1 - "python_test": FAIL: test_run_and_handle_exception (test.import_executor_test.ImportExecutorTest.test_run_and_handle_exception)
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": Traceback (most recent call last):
Step #1 - "python_test":   File "/usr/local/lib/python3.11/unittest/mock.py", line 1378, in patched
Step #1 - "python_test":     return func(*newargs, **newkeywargs)
Step #1 - "python_test":            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "python_test":   File "/workspace/import-automation/executor/test/import_executor_test.py", line 69, in test_run_and_handle_exception
Step #1 - "python_test":     self.assertIn('Exception', result.message)
Step #1 - "python_test": AssertionError: 'Exception' not found in 'Traceback (most recent call last):\n  File "/workspace/import-automation/executor/app/executor/import_executor.py", line 489, in run_and_handle_exception\n    return exec_func(*args)\n           ^^^^^^^^^^^^^^^^\nTypeError: \'str\' object is not callable\n'
Step #1 - "python_test": 
Step #1 - "python_test": ======================================================================
Step #1 - "python_test": FAIL: test_run_with_timeout (test.import_executor_test.ImportExecutorTest.test_run_with_timeout)
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": Traceback (most recent call last):
Step #1 - "python_test":   File "/workspace/import-automation/executor/test/import_executor_test.py", line 37, in test_run_with_timeout
Step #1 - "python_test":     self.assertRaises(subprocess.TimeoutExpired,
Step #1 - "python_test": AssertionError: TimeoutExpired not raised by _run_with_timeout
Step #1 - "python_test": 
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": Ran 37 tests in 12.688s
Step #1 - "python_test": 
Step #1 - "python_test": FAILED (failures=2, errors=3)
Step #1 - "python_test": ### Running Python tests in scripts/
Step #1 - "python_test": Installing Python requirements
Step #1 - "python_test": 
Step #1 - "python_test": [notice] A new release of pip is available: 24.0 -> 24.3.1
Step #1 - "python_test": [notice] To update, run: pip install --upgrade pip
Step #1 - "python_test": #### Testing Python code in scripts/
Step #1 - "python_test": test_write_csv (aqicn.aqicn_test.AqicnTest.test_write_csv) ... ok
Step #1 - "python_test": test_main (biomedical.antibodyABCD.parse_abcd_test.TestParseAbcd.test_main)
Step #1 - "python_test": Test in the main function ... ok
Step #1 - "python_test": test_MergeAndProcessData (climate_trace.preprocess_data_test.PreprocessDataTest.test_MergeAndProcessData) ... ok
Step #1 - "python_test": test_create_csv (covid19_india.cases_count_states_data.preprocess_test.TestPreprocessCSVTest.test_create_csv) ... ok
Step #1 - "python_test": test_create_csv_include_dn_dd (covid19_india.cases_count_states_data.preprocess_test.TestPreprocessCSVTest.test_create_csv_include_dn_dd) ... ok
Step #1 - "python_test": test_create_csv_ingore_invalid_state (covid19_india.cases_count_states_data.preprocess_test.TestPreprocessCSVTest.test_create_csv_ingore_invalid_state) ... ok
Step #1 - "python_test": test_create_csv_latest_report_of_the_day (covid19_india.cases_count_states_data.preprocess_test.TestPreprocessCSVTest.test_create_csv_latest_report_of_the_day) ... ok
Step #1 - "python_test": test_create_csv_skip_unassigned (covid19_india.cases_count_states_data.preprocess_test.TestPreprocessCSVTest.test_create_csv_skip_unassigned) ... ok
Step #1 - "python_test": test_create_csv (covid19_india.medical_tests_in_data.preprocess_test.TestPreprocessCSVTest.test_create_csv) ... ok
Step #1 - "python_test": test_create_csv_remove_duplicate_dates (covid19_india.medical_tests_in_data.preprocess_test.TestPreprocessCSVTest.test_create_csv_remove_duplicate_dates) ... ok
Step #1 - "python_test": test_generate_tmcf (covid_tracking_project.historic_state_data.preprocess_csv_test.TestPreprocessCSVTest.test_generate_tmcf) ... ok
Step #1 - "python_test": test_write_csv (deepsolar.deepsolar_test.TestDeepSolar.test_write_csv) ... ok
Step #1 - "python_test": test_geocode_city (fbi.crime.geocode_cities_test.GeocodeCitiesTest.test_geocode_city) ... ok
Step #1 - "python_test": test_manual_geocode_city (fbi.crime.geocode_cities_test.GeocodeCitiesTest.test_manual_geocode_city) ... ok
Step #1 - "python_test": test_update_crime_geocode (fbi.crime.geocode_cities_test.GeocodeCitiesTest.test_update_crime_geocode) ... ok
Step #1 - "python_test": test_calculate_crimes (fbi.crime.preprocess_states_test.CleanCrimeFileTest.test_calculate_crimes) ... ok
Step #1 - "python_test": test_clean_crime_file (fbi.crime.preprocess_states_test.CleanCrimeFileTest.test_clean_crime_file) ... ok
Step #1 - "python_test": test_create_tmcf (fbi.crime.preprocess_states_test.CleanCrimeFileTest.test_create_tmcf) ... ok
Step #1 - "python_test": test_calculate_crimes (fbi.crime.preprocess_test.CleanCrimeFileTest.test_calculate_crimes) ... ok
Step #1 - "python_test": test_clean_crime_file (fbi.crime.preprocess_test.CleanCrimeFileTest.test_clean_crime_file) ... ok
Step #1 - "python_test": test_create_tmcf (fbi.crime.preprocess_test.CleanCrimeFileTest.test_create_tmcf) ... ok
Step #1 - "python_test": test_extract_geojsons (fires.perimeter.wfigs_fire_perimeter_test.PerimeterDataTest.test_extract_geojsons) ... ok
Step #1 - "python_test": test_ProcessDF (fires.wfigs_data_test.PreprocessDataTest.test_ProcessDF) ... /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": /workspace/scripts/fires/wfigs_data_test.py:43: FutureWarning: Mismatched null-like values None and nan found. In a future version, pandas equality-testing functions (e.g. assert_frame_equal) will consider these not-matching and raise.
Step #1 - "python_test":   pd.testing.assert_frame_equal(processed,
Step #1 - "python_test": ok
Step #1 - "python_test": test1 (google_datasets.covid_mobility.covidmobility_test.TestCovidMobility.test1)
Step #1 - "python_test": Simple test 1 ... ok
Step #1 - "python_test": test2 (google_datasets.covid_mobility.covidmobility_test.TestCovidMobility.test2)
Step #1 - "python_test": Simple test 2 ... ok
Step #1 - "python_test": test3 (google_datasets.covid_mobility.covidmobility_test.TestCovidMobility.test3)
Step #1 - "python_test": Tests a row with empty data. ... ok
Step #1 - "python_test": test4 (google_datasets.covid_mobility.covidmobility_test.TestCovidMobility.test4)
Step #1 - "python_test": Tests a row with an empty date. ... ok
Step #1 - "python_test": test_format_census2001_district_code (india.formatters_test.TestPreprocess.test_format_census2001_district_code) ... ok
Step #1 - "python_test": test_format_census2011_code (india.formatters_test.TestPreprocess.test_format_census2011_code) ... ok
Step #1 - "python_test": test_format_lgd_district_code (india.formatters_test.TestPreprocess.test_format_lgd_district_code) ... ok
Step #1 - "python_test": test_format_lgd_state_code (india.formatters_test.TestPreprocess.test_format_lgd_state_code) ... ok
Step #1 - "python_test": test_get_district_name_to_lgd_code_mapping (india.geo.districts_test.TestPreprocess.test_get_district_name_to_lgd_code_mapping) ... ok
Step #1 - "python_test": test_get_state_name_to_census2001_code_mapping (india.geo.states_test.TestPreprocess.test_get_state_name_to_census2001_code_mapping) ... ok
Step #1 - "python_test": test_get_state_name_to_iso_code_mapping (india.geo.states_test.TestPreprocess.test_get_state_name_to_iso_code_mapping) ... ok
Step #1 - "python_test": test_create_csv (india_aqi.preprocess_test.TestPreprocess.test_create_csv) ... /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": /workspace/scripts/india_aqi/preprocess.py:89: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
Step #1 - "python_test":   self.clean_df[column] = pd.to_numeric(self.clean_df[column],
Step #1 - "python_test": ok
Step #1 - "python_test": test_create_csv (india_census.common.base_test.TestCensusPrimaryAbstractDataLoaderBase.test_create_csv) ... ok
Step #1 - "python_test": test_create_csv_literate_data (india_census.common.base_test.TestCensusPrimaryAbstractDataLoaderBase.test_create_csv_literate_data) ... ok
Step #1 - "python_test": test_create_csv_workers_data (india_census.common.base_test.TestCensusPrimaryAbstractDataLoaderBase.test_create_csv_workers_data) ... ok
Step #1 - "python_test": test_create_cleaned_religion_data_csv (india_census.primary_religion_data.preprocess_test.TestCensusCensusPrimaryReligiousDataLoader.test_create_cleaned_religion_data_csv) ... ok
Step #2 - "python_format_check": ERROR: Fix lint errors by running ./run_tests.sh -f
Finished Step #2 - "python_format_check"
ERROR
ERROR: build step 2 "python:3.11" failed: step exited with non-zero status: 1
Step #1 - "python_test": test_specific_religion_data_csv (india_census.primary_religion_data.preprocess_test.TestCensusCensusPrimaryReligiousDataLoader.test_specific_religion_data_csv) ... 

Build Log: https://console.cloud.google.com/cloud-build/builds/c59fea85-51a7-44f6-9182-eec55cba4c0e?project=879489846695