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

Diseases at jensen lab #1107

Open
wants to merge 44 commits into
base: master
Choose a base branch
from

Merge branch 'master' into diseasesAtJensenLab

3a1ff32
Select commit
Loading
Failed to load commit list.
Open

Diseases at jensen lab #1107

Merge branch 'master' into diseasesAtJensenLab
3a1ff32
Select commit
Loading
Failed to load commit list.
Google Cloud Build / data-pull-request-py (datcom-ci) failed Nov 2, 2024 in 4m 40s

Summary

Build Information

Trigger data-pull-request-py
Build d83f5c9f-9607-474e-b9f5-11a721914ec4
Start 2024-11-01T18:34:05-07:00
Duration 4m38.611s
Status FAILURE

Steps

Step Status Duration
python_install SUCCESS 2m50.125s
python_test CANCELLED 1m24.436s
python_format_check FAILURE 1m23.461s

Details

starting build "d83f5c9f-9607-474e-b9f5-11a721914ec4"

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            3a1ff32bdf766423848be52dd4e437e32e27c7ea -> FETCH_HEAD
Updating files:  26% (819/3098)
Updating files:  27% (837/3098)
Updating files:  28% (868/3098)
Updating files:  28% (879/3098)
Updating files:  29% (899/3098)
Updating files:  30% (930/3098)
Updating files:  31% (961/3098)
Updating files:  32% (992/3098)
Updating files:  33% (1023/3098)
Updating files:  34% (1054/3098)
Updating files:  35% (1085/3098)
Updating files:  36% (1116/3098)
Updating files:  37% (1147/3098)
Updating files:  38% (1178/3098)
Updating files:  39% (1209/3098)
Updating files:  40% (1240/3098)
Updating files:  41% (1271/3098)
Updating files:  42% (1302/3098)
Updating files:  43% (1333/3098)
Updating files:  44% (1364/3098)
Updating files:  45% (1395/3098)
Updating files:  46% (1426/3098)
Updating files:  47% (1457/3098)
Updating files:  48% (1488/3098)
Updating files:  48% (1510/3098)
Updating files:  49% (1519/3098)
Updating files:  50% (1549/3098)
Updating files:  51% (1580/3098)
Updating files:  52% (1611/3098)
Updating files:  53% (1642/3098)
Updating files:  54% (1673/3098)
Updating files:  55% (1704/3098)
Updating files:  56% (1735/3098)
Updating files:  57% (1766/3098)
Updating files:  58% (1797/3098)
Updating files:  59% (1828/3098)
Updating files:  60% (1859/3098)
Updating files:  61% (1890/3098)
Updating files:  62% (1921/3098)
Updating files:  63% (1952/3098)
Updating files:  64% (1983/3098)
Updating files:  65% (2014/3098)
Updating files:  66% (2045/3098)
Updating files:  67% (2076/3098)
Updating files:  68% (2107/3098)
Updating files:  69% (2138/3098)
Updating files:  70% (2169/3098)
Updating files:  71% (2200/3098)
Updating files:  72% (2231/3098)
Updating files:  73% (2262/3098)
Updating files:  74% (2293/3098)
Updating files:  75% (2324/3098)
Updating files:  76% (2355/3098)
Updating files:  77% (2386/3098)
Updating files:  78% (2417/3098)
Updating files:  79% (2448/3098)
Updating files:  79% (2470/3098)
Updating files:  80% (2479/3098)
Updating files:  81% (2510/3098)
Updating files:  82% (2541/3098)
Updating files:  83% (2572/3098)
Updating files:  84% (2603/3098)
Updating files:  85% (2634/3098)
Updating files:  86% (2665/3098)
Updating files:  87% (2696/3098)
Updating files:  88% (2727/3098)
Updating files:  89% (2758/3098)
Updating files:  90% (2789/3098)
Updating files:  91% (2820/3098)
Updating files:  92% (2851/3098)
Updating files:  93% (2882/3098)
Updating files:  94% (2913/3098)
Updating files:  95% (2944/3098)
Updating files:  96% (2975/3098)
Updating files:  97% (3006/3098)
Updating files:  98% (3037/3098)
Updating files:  99% (3068/3098)
Updating files: 100% (3098/3098)
Updating files: 100% (3098/3098), done.
HEAD is now at 3a1ff32 Merge branch 'master' into diseasesAtJensenLab
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": 7d98d813d54f: Already exists
Step #0 - "python_install": da802df85c96: Already exists
Step #0 - "python_install": 7aadc5092c3b: Already exists
Step #0 - "python_install": ad1c7cfc347f: Already exists
Step #0 - "python_install": 754cb1613bc3: Pulling fs layer
Step #0 - "python_install": 07804c5f3526: Pulling fs layer
Step #0 - "python_install": 5fef6e32ff7c: Pulling fs layer
Step #0 - "python_install": 5fef6e32ff7c: Verifying Checksum
Step #0 - "python_install": 5fef6e32ff7c: Download complete
Step #0 - "python_install": 754cb1613bc3: Verifying Checksum
Step #0 - "python_install": 754cb1613bc3: Download complete
Step #0 - "python_install": 07804c5f3526: Verifying Checksum
Step #0 - "python_install": 07804c5f3526: Download complete
Step #0 - "python_install": 754cb1613bc3: Pull complete
Step #0 - "python_install": 07804c5f3526: Pull complete
Step #0 - "python_install": 5fef6e32ff7c: Pull complete
Step #0 - "python_install": Digest: sha256:70f1eb2927a8ef72840254b17024d3a8aa8c3c9715a625d426a2861b5899bc62
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 #1 - "python_test": Already have image (with digest): python:3.11
Step #2 - "python_format_check": Already have image (with digest): python:3.11
Step #2 - "python_format_check": ### Testing lint
Step #1 - "python_test": ### Running Python tests in util/
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 #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 #1 - "python_test": #### Testing Python code in util/
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 =     257.28
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 =     257.28
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 =     257.28
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 =     257.28
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 =     257.28
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 =     257.28
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.00
Step #1 - "python_test":                               test-processing_rate =   18272.88
Step #1 - "python_test":                                     test-read-rows =         10
Step #1 - "python_test":                                    test-start_time =     257.28
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.3', 41254), 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.3', 41262), 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.044s
Step #1 - "python_test": 
Step #1 - "python_test": OK
Step #1 - "python_test": ### Running Python tests in import-automation/executor
Step #2 - "python_format_check": --- scripts/biomedical/diseasesAtJensenLab/scripts/format_disease_jensen_lab.py	(original)
Step #2 - "python_format_check": +++ scripts/biomedical/diseasesAtJensenLab/scripts/format_disease_jensen_lab.py	(reformatted)
Step #2 - "python_format_check": @@ -30,68 +30,74 @@
Step #2 - "python_format_check":  import pandas as pd
Step #2 - "python_format_check":  import time
Step #2 - "python_format_check":  
Step #2 - "python_format_check": -
Step #2 - "python_format_check":  # declare universal variables
Step #2 - "python_format_check": -HGNC_DICT = {'HGNC:9982':'RFX1', 'HGNC:9979':'RFPL2'}
Step #2 - "python_format_check": +HGNC_DICT = {'HGNC:9982': 'RFX1', 'HGNC:9979': 'RFPL2'}
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def filter_for_lowest_ICD10_level(df):
Step #2 - "python_format_check": -	# initiate values
Step #2 - "python_format_check": -	indices_to_drop = []
Step #2 - "python_format_check": -	previous_ICD10 = ''
Step #2 - "python_format_check": -	previous_gene = ''
Step #2 - "python_format_check": -	previous_index = -1
Step #2 - "python_format_check": -	# check if ICD10 code is more specific than previous row for the same gene
Step #2 - "python_format_check": -	# if it is add the previous ICD10 code index to the list of indices to drop
Step #2 - "python_format_check": -	for index, row in df.iterrows():
Step #2 - "python_format_check": -		current_ICD10 = row['ICD10']
Step #2 - "python_format_check": -		current_gene = row['Gene']
Step #2 - "python_format_check": -		if current_gene == previous_gene and current_ICD10.startswith(previous_ICD10):
Step #2 - "python_format_check": -			indices_to_drop.append(previous_index)
Step #2 - "python_format_check": -		# update reference values
Step #2 - "python_format_check": -		previous_ICD10 = current_ICD10
Step #2 - "python_format_check": -		previous_gene = current_gene
Step #2 - "python_format_check": -		previous_index = index
Step #2 - "python_format_check": -	# drop rows with less specific ICD10 codes for a given gene
Step #2 - "python_format_check": -	df.drop(indices_to_drop, axis=0, inplace=True)
Step #2 - "python_format_check": -	return df
Step #2 - "python_format_check": +    # initiate values
Step #2 - "python_format_check": +    indices_to_drop = []
Step #2 - "python_format_check": +    previous_ICD10 = ''
Step #2 - "python_format_check": +    previous_gene = ''
Step #2 - "python_format_check": +    previous_index = -1
Step #2 - "python_format_check": +    # check if ICD10 code is more specific than previous row for the same gene
Step #2 - "python_format_check": +    # if it is add the previous ICD10 code index to the list of indices to drop
Step #2 - "python_format_check": +    for index, row in df.iterrows():
Step #2 - "python_format_check": +        current_ICD10 = row['ICD10']
Step #2 - "python_format_check": +        current_gene = row['Gene']
Step #2 - "python_format_check": +        if current_gene == previous_gene and current_ICD10.startswith(
Step #2 - "python_format_check": +                previous_ICD10):
Step #2 - "python_format_check": +            indices_to_drop.append(previous_index)
Step #2 - "python_format_check": +        # update reference values
Step #2 - "python_format_check": +        previous_ICD10 = current_ICD10
Step #2 - "python_format_check": +        previous_gene = current_gene
Step #2 - "python_format_check": +        previous_index = index
Step #2 - "python_format_check": +    # drop rows with less specific ICD10 codes for a given gene
Step #2 - "python_format_check": +    df.drop(indices_to_drop, axis=0, inplace=True)
Step #2 - "python_format_check": +    return df
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def fix_ICD10_formatting(df, col):
Step #2 - "python_format_check": -	# if string in specified column is 10 characters or longer
Step #2 - "python_format_check": -	# add '.' in the 10th position
Step #2 - "python_format_check": +    # if string in specified column is 10 characters or longer
Step #2 - "python_format_check": +    # add '.' in the 10th position
Step #2 - "python_format_check":      mask = df[col].str.len() >= 10
Step #2 - "python_format_check": -    df.loc[mask, col] = df.loc[mask, col].str[:9] + '.' + df.loc[mask, col].str[9:]
Step #2 - "python_format_check": +    df.loc[mask,
Step #2 - "python_format_check": +           col] = df.loc[mask, col].str[:9] + '.' + df.loc[mask, col].str[9:]
Step #2 - "python_format_check":      return df
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def format_icd10_code_dcids(df):
Step #2 - "python_format_check": -	df_doid = df.dropna(subset=['DOID'])  # make a doid specific table
Step #2 - "python_format_check": -	## filter out ICD-10 codes based on true existence - remove codes like C1, C2 and root
Step #2 - "python_format_check": -	df['count'] = np.where(df['ICD10'] == df['ICD10'],df['ICD10'].str.split(':'),np.nan)
Step #2 - "python_format_check": -	df['count'] = np.where(df['count'] == df['count'],df['count'].str[1],np.nan)
Step #2 - "python_format_check": -	# remove non-existing ICD-10 codes
Step #2 - "python_format_check": -	df = df[df['count']!='root']
Step #2 - "python_format_check": -	df.loc[:, 'count'] = df['count'].str.len()
Step #2 - "python_format_check": -	df = df[df['count'] > 2]
Step #2 - "python_format_check": -	df = filter_for_lowest_ICD10_level(df)
Step #2 - "python_format_check": -	# fix ill formatted ICD10 codes
Step #2 - "python_format_check": -	df = fix_ICD10_formatting(df, 'Disease')
Step #2 - "python_format_check": -	df = fix_ICD10_formatting(df, 'Disease_Name')
Step #2 - "python_format_check": -	df = fix_ICD10_formatting(df, 'ICD10')
Step #2 - "python_format_check": -	# join back with the doid rows
Step #2 - "python_format_check": -	df_final = pd.concat([df, df_doid]).sort_index()
Step #2 - "python_format_check": -	return df_final
Step #2 - "python_format_check": +    df_doid = df.dropna(subset=['DOID'])  # make a doid specific table
Step #2 - "python_format_check": +    ## filter out ICD-10 codes based on true existence - remove codes like C1, C2 and root
Step #2 - "python_format_check": +    df['count'] = np.where(df['ICD10'] == df['ICD10'],
Step #2 - "python_format_check": +                           df['ICD10'].str.split(':'), np.nan)
Step #2 - "python_format_check": +    df['count'] = np.where(df['count'] == df['count'], df['count'].str[1],
Step #2 - "python_format_check": +                           np.nan)
Step #2 - "python_format_check": +    # remove non-existing ICD-10 codes
Step #2 - "python_format_check": +    df = df[df['count'] != 'root']
Step #2 - "python_format_check": +    df.loc[:, 'count'] = df['count'].str.len()
Step #2 - "python_format_check": +    df = df[df['count'] > 2]
Step #2 - "python_format_check": +    df = filter_for_lowest_ICD10_level(df)
Step #2 - "python_format_check": +    # fix ill formatted ICD10 codes
Step #2 - "python_format_check": +    df = fix_ICD10_formatting(df, 'Disease')
Step #2 - "python_format_check": +    df = fix_ICD10_formatting(df, 'Disease_Name')
Step #2 - "python_format_check": +    df = fix_ICD10_formatting(df, 'ICD10')
Step #2 - "python_format_check": +    # join back with the doid rows
Step #2 - "python_format_check": +    df_final = pd.concat([df, df_doid]).sort_index()
Step #2 - "python_format_check": +    return df_final
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def format_doid_icd(df):
Step #2 - "python_format_check": -	df['DOID'] = np.where(df['Disease'].str.contains('DOID'),df['Disease'],np.nan)
Step #2 - "python_format_check": -	df['ICD10'] = np.where(df['Disease'].str.contains('ICD10'),df['Disease'],np.nan)
Step #2 - "python_format_check": -	## identify ensemblIDs and set as new column
Step #2 - "python_format_check": -	df['ensemblID'] = np.where(df['Id'].str.contains('ENSP00000'),df['Id'],np.nan)
Step #2 - "python_format_check": -	## format icd10 dcids filtering for the most specific ICD10 code
Step #2 - "python_format_check": -	df = format_icd10_code_dcids(df)
Step #2 - "python_format_check": -	return df
Step #2 - "python_format_check": +    df['DOID'] = np.where(df['Disease'].str.contains('DOID'), df['Disease'],
Step #2 - "python_format_check": +                          np.nan)
Step #2 - "python_format_check": +    df['ICD10'] = np.where(df['Disease'].str.contains('ICD10'), df['Disease'],
Step #2 - "python_format_check": +                           np.nan)
Step #2 - "python_format_check": +    ## identify ensemblIDs and set as new column
Step #2 - "python_format_check": +    df['ensemblID'] = np.where(df['Id'].str.contains('ENSP00000'), df['Id'],
Step #2 - "python_format_check": +                               np.nan)
Step #2 - "python_format_check": +    ## format icd10 dcids filtering for the most specific ICD10 code
Step #2 - "python_format_check": +    df = format_icd10_code_dcids(df)
Step #2 - "python_format_check": +    return df
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def check_for_illegal_charc(s):
Step #2 - "python_format_check": @@ -100,7 +106,9 @@
Step #2 - "python_format_check":          s: target string that needs to be checked
Step #2 - "python_format_check":      
Step #2 - "python_format_check":      """
Step #2 - "python_format_check": -    list_illegal = ["'", "*" ">", "<", "@", "]", "[", "|", ":", ";" " "]
Step #2 - "python_format_check": +    list_illegal = ["'", "*"
Step #2 - "python_format_check": +                    ">", "<", "@", "]", "[", "|", ":", ";"
Step #2 - "python_format_check": +                    " "]
Step #2 - "python_format_check":      if any([x in s for x in list_illegal]):
Step #2 - "python_format_check":          print('Error! dcid contains illegal characters!', s)
Step #2 - "python_format_check":  
Step #2 - "python_format_check": @@ -114,7 +122,7 @@
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def format_disease_gene_cols(df, data_type):
Step #2 - "python_format_check": -	# handle exceptions in Gene names
Step #2 - "python_format_check": +    # handle exceptions in Gene names
Step #2 - "python_format_check":      df['Gene'] = df['Gene'].map(HGNC_DICT).fillna(df['Gene'])
Step #2 - "python_format_check":      df['Gene'] = df['Gene'].str.replace('@', '_Cluster')
Step #2 - "python_format_check":      # generate gene dcid
Step #2 - "python_format_check": @@ -129,122 +137,148 @@
Step #2 - "python_format_check":      df['Disease_dcid'] = df['Disease_dcid'].fillna(df['ICD10_dcid'])
Step #2 - "python_format_check":      df['Disease_dcid'] = 'dcid:' + df['Disease_dcid']
Step #2 - "python_format_check":      # generate dcid for DiseaseGeneAssociation nodes
Step #2 - "python_format_check": -    df['dcid'] = 'bio/' + df['Disease'].astype(str).str.replace(':', '_', regex=False) + '_' + df['Gene'].astype(str) + '_association'
Step #2 - "python_format_check": +    df['dcid'] = 'bio/' + df['Disease'].astype(str).str.replace(
Step #2 - "python_format_check": +        ':', '_', regex=False) + '_' + df['Gene'].astype(str) + '_association'
Step #2 - "python_format_check":      # format name for DiseaseGeneAssociation nodes
Step #2 - "python_format_check": -    df['name'] = df['Disease_Name'].astype(str) + ' and ' + df['Gene'].astype(str) + ' association'
Step #2 - "python_format_check": +    df['name'] = df['Disease_Name'].astype(str) + ' and ' + df['Gene'].astype(
Step #2 - "python_format_check": +        str) + ' association'
Step #2 - "python_format_check":      # drop columns not used in import
Step #2 - "python_format_check":      df = df.drop(['Disease'], axis=1)
Step #2 - "python_format_check":      return df
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  
Step #2 - "python_format_check":  def format_RNA_type(df_tm):
Step #2 - "python_format_check": -	gene_list = ['orf', 'ZNF']
Step #2 - "python_format_check": -	sno_rna_list = ['sno', 'SNOR', 'SCAR']
Step #2 - "python_format_check": -	linc_rna_list = ['LINC', 'linc', 'MIR']
Step #2 - "python_format_check": -	df_tm['RNA_type'] = 'dcs:NonCodingRNATypeLongNonCodingRNA'
Step #2 - "python_format_check": -	df_tm['RNA_type'] = np.where(df_tm["Gene"].str.contains('|'.join(gene_list)),'Gene', df_tm['RNA_type'])
Step #2 - "python_format_check": -	df_tm['RNA_type'] = np.where(
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/cloud-build/builds/d83f5c9f-9607-474e-b9f5-11a721914ec4?project=879489846695.]
...
": -    main() 
Step #2 - "python_format_check": -    
Step #2 - "python_format_check": +    main()
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 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.810s
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 #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_create_csv_literate_data (india_census.common.base_test.TestCensusPrimaryAbstractDataLoaderBase.test_create_csv_literate_data) ... 

Build Log: https://console.cloud.google.com/cloud-build/builds/d83f5c9f-9607-474e-b9f5-11a721914ec4?project=879489846695