prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Use cleaner solution for non-truncating division in python 2
  Prefer `from __future__ import division` to `1.*x/y`
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py`
  Content:
  ```
  1 from typing import Optional
  2 
  3 import numpy as np
  4 
  5 from great_expectations.core.expectation_configuration import ExpectationConfiguration
  6 from great_expectations.execution_engine import PandasExecutionEngine
  7 from great_expectations.expectations.expectation import MulticolumnMapExpectation
  8 from great_expectations.expectations.metrics.map_metric_provider import (
  9     MulticolumnMapMetricProvider,
  10     multicolumn_condition_partial,
  11 )
  12 
  13 
  14 # This class defines a Metric to support your Expectation.
  15 # For most MulticolumnMapExpectations, the main business logic for calculation will live in this class.
  16 class MulticolumnValuesNotAllNull(MulticolumnMapMetricProvider):
  17 
  18     # This is the id string that will be used to reference your metric.
  19 
  20     condition_metric_name = "multicolumn_values.not_all_null"
  21 
  22     # These point your metric at the provided keys to facilitate calculation
  23     condition_domain_keys = (
  24         "batch_id",
  25         "table",
  26         "column_list",
  27         "row_condition",
  28         "condition_parser",
  29         "ignore_row_if",
  30     )
  31     condition_value_keys = ()
  32 
  33     # This method implements the core logic for the PandasExecutionEngine
  34 
  35     @multicolumn_condition_partial(engine=PandasExecutionEngine)
  36     def _pandas(cls, column_list, **kwargs):
  37         row_wise_cond = column_list.isna().sum(axis=1) < len(column_list)
  38         return row_wise_cond
  39 
  40     # This method defines the business logic for evaluating your metric when using a SqlAlchemyExecutionEngine
  41     # @multicolumn_condition_partial(engine=SqlAlchemyExecutionEngine)
  42     # def _sqlalchemy(cls, column_list, **kwargs):
  43     #     raise NotImplementedError
  44 
  45     # This method defines the business logic for evaluating your metric when using a SparkDFExecutionEngine
  46     # @multicolumn_condition_partial(engine=SparkDFExecutionEngine)
  47     # def _spark(cls, column_list, **kwargs):
  48     #     raise NotImplementedError
  49 
  50 
  51 # This class defines the Expectation itself
  52 class ExpectMulticolumnValuesNotToBeAllNull(MulticolumnMapExpectation):
  53     """Expect the certain set of columns not to be null at the same time."""
  54 
  55     # These examples will be shown in the public gallery.
  56     # They will also be executed as unit tests for your Expectation.
  57     examples = [
  58         {
  59             "data": {
  60                 "no_nulls": [5, 6, 5, 12, -3],
  61                 "some_nulls": [np.nan, -3, np.nan, np.nan, -9],
  62                 "one_non_null": [np.nan, 2, np.nan, np.nan, np.nan],
  63                 "all_nulls": [np.nan, np.nan, np.nan, np.nan, np.nan],
  64             },
  65             "tests": [
  66                 {
  67                     "title": "basic_positive_test",
  68                     "exact_match_out": False,
  69                     "include_in_gallery": True,
  70                     "in": {"column_list": ["no_nulls", "some_nulls"]},
  71                     "out": {
  72                         "success": True,
  73                     },
  74                 },
  75                 {
  76                     "title": "basic_positive_test",
  77                     "exact_match_out": False,
  78                     "include_in_gallery": True,
  79                     "in": {
  80                         "column_list": ["some_nulls", "one_non_null"],
  81                         "mostly": 0.4,
  82                     },
  83                     "out": {
  84                         "success": True,
  85                     },
  86                 },
  87                 {
  88                     "title": "basic_negative_test",
  89                     "exact_match_out": False,
  90                     "include_in_gallery": True,
  91                     "in": {
  92                         "column_list": ["some_nulls", "one_non_null", "all_nulls"],
  93                         "mostly": 1,
  94                     },
  95                     "out": {
  96                         "success": False,
  97                     },
  98                 },
  99             ],
  100             "test_backends": [
  101                 {
  102                     "backend": "pandas",
  103                     "dialects": None,
  104                 },
  105             ],
  106         }
  107     ]
  108 
  109     # This is the id string of the Metric used by this Expectation.
  110     # For most Expectations, it will be the same as the `condition_metric_name` defined in your Metric class above.
  111 
  112     map_metric = "multicolumn_values.not_all_null"
  113 
  114     # This is a list of parameter names that can affect whether the Expectation evaluates to True or False
  115     success_keys = (
  116         "column_list",
  117         "mostly",
  118     )
  119 
  120     # This dictionary contains default values for any parameters that should have default values
  121     default_kwarg_values = {}
  122 
  123     def validate_configuration(
  124         self, configuration: Optional[ExpectationConfiguration] = None
  125     ) -> None:
  126         """
  127         Validates that a configuration has been set, and sets a configuration if it has yet to be set. Ensures that
  128         necessary configuration arguments have been provided for the validation of the expectation.
  129 
  130         Args:
  131             configuration (OPTIONAL[ExpectationConfiguration]): \
  132                 An optional Expectation Configuration entry that will be used to configure the expectation
  133         Returns:
  134             None. Raises InvalidExpectationConfigurationError if the config is not validated successfully
  135         """
  136 
  137         super().validate_configuration(configuration)
  138         configuration = configuration or self.configuration
  139 
  140         # # Check other things in configuration.kwargs and raise Exceptions if needed
  141         # try:
  142         #     assert (
  143         #         ...
  144         #     ), "message"
  145         #     assert (
  146         #         ...
  147         #     ), "message"
  148         # except AssertionError as e:
  149         #     raise InvalidExpectationConfigurationError(str(e))
  150 
  151     # This object contains metadata for display in the public Gallery
  152 
  153     library_metadata = {
  154         "tags": ["null_check"],  # Tags for this Expectation in the Gallery
  155         "contributors": [  # Github handles for all contributors to this Expectation.
  156             "@liyusa",  # Don't forget to add your github handle here!
  157         ],
  158     }
  159 
  160 
  161 if __name__ == "__main__":
  162 
  163     ExpectMulticolumnValuesNotToBeAllNull().print_diagnostic_checklist()
  164
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py b/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py
  --- a/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py
  +++ b/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py
  @@ -34,8 +34,7 @@
   
       @multicolumn_condition_partial(engine=PandasExecutionEngine)
       def _pandas(cls, column_list, **kwargs):
  -        row_wise_cond = column_list.isna().sum(axis=1) < len(column_list)
  -        return row_wise_cond
  +        return column_list.notna().any(axis=1)
   
       # This method defines the business logic for evaluating your metric when using a SqlAlchemyExecutionEngine
       # @multicolumn_condition_partial(engine=SqlAlchemyExecutionEngine)
  @@ -118,7 +117,7 @@
       )
   
       # This dictionary contains default values for any parameters that should have default values
  -    default_kwarg_values = {}
  +    default_kwarg_values = {"ignore_row_if": "never"}
   
       def validate_configuration(
           self, configuration: Optional[ExpectationConfiguration] = None
  
verification_info: {"golden_diff": "diff --git a/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py b/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py\n--- a/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py\n+++ b/contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py\n@@ -34,8 +34,7 @@\n \n     @multicolumn_condition_partial(engine=PandasExecutionEngine)\n     def _pandas(cls, column_list, **kwargs):\n-        row_wise_cond = column_list.isna().sum(axis=1) < len(column_list)\n-        return row_wise_cond\n+        return column_list.notna().any(axis=1)\n \n     # This method defines the business logic for evaluating your metric when using a SqlAlchemyExecutionEngine\n     # @multicolumn_condition_partial(engine=SqlAlchemyExecutionEngine)\n@@ -118,7 +117,7 @@\n     )\n \n     # This dictionary contains default values for any parameters that should have default values\n-    default_kwarg_values = {}\n+    default_kwarg_values = {\"ignore_row_if\": \"never\"}\n \n     def validate_configuration(\n         self, configuration: Optional[ExpectationConfiguration] = None\n", "issue": "Use cleaner solution for non-truncating division in python 2\nPrefer `from __future__ import division` to `1.*x/y`\n", "before_files": [{"content": "from typing import Optional\n\nimport numpy as np\n\nfrom great_expectations.core.expectation_configuration import ExpectationConfiguration\nfrom great_expectations.execution_engine import PandasExecutionEngine\nfrom great_expectations.expectations.expectation import MulticolumnMapExpectation\nfrom great_expectations.expectations.metrics.map_metric_provider import (\n    MulticolumnMapMetricProvider,\n    multicolumn_condition_partial,\n)\n\n\n# This class defines a Metric to support your Expectation.\n# For most MulticolumnMapExpectations, the main business logic for calculation will live in this class.\nclass MulticolumnValuesNotAllNull(MulticolumnMapMetricProvider):\n\n    # This is the id string that will be used to reference your metric.\n\n    condition_metric_name = \"multicolumn_values.not_all_null\"\n\n    # These point your metric at the provided keys to facilitate calculation\n    condition_domain_keys = (\n        \"batch_id\",\n        \"table\",\n        \"column_list\",\n        \"row_condition\",\n        \"condition_parser\",\n        \"ignore_row_if\",\n    )\n    condition_value_keys = ()\n\n    # This method implements the core logic for the PandasExecutionEngine\n\n    @multicolumn_condition_partial(engine=PandasExecutionEngine)\n    def _pandas(cls, column_list, **kwargs):\n        row_wise_cond = column_list.isna().sum(axis=1) < len(column_list)\n        return row_wise_cond\n\n    # This method defines the business logic for evaluating your metric when using a SqlAlchemyExecutionEngine\n    # @multicolumn_condition_partial(engine=SqlAlchemyExecutionEngine)\n    # def _sqlalchemy(cls, column_list, **kwargs):\n    #     raise NotImplementedError\n\n    # This method defines the business logic for evaluating your metric when using a SparkDFExecutionEngine\n    # @multicolumn_condition_partial(engine=SparkDFExecutionEngine)\n    # def _spark(cls, column_list, **kwargs):\n    #     raise NotImplementedError\n\n\n# This class defines the Expectation itself\nclass ExpectMulticolumnValuesNotToBeAllNull(MulticolumnMapExpectation):\n    \"\"\"Expect the certain set of columns not to be null at the same time.\"\"\"\n\n    # These examples will be shown in the public gallery.\n    # They will also be executed as unit tests for your Expectation.\n    examples = [\n        {\n            \"data\": {\n                \"no_nulls\": [5, 6, 5, 12, -3],\n                \"some_nulls\": [np.nan, -3, np.nan, np.nan, -9],\n                \"one_non_null\": [np.nan, 2, np.nan, np.nan, np.nan],\n                \"all_nulls\": [np.nan, np.nan, np.nan, np.nan, np.nan],\n            },\n            \"tests\": [\n                {\n                    \"title\": \"basic_positive_test\",\n                    \"exact_match_out\": False,\n                    \"include_in_gallery\": True,\n                    \"in\": {\"column_list\": [\"no_nulls\", \"some_nulls\"]},\n                    \"out\": {\n                        \"success\": True,\n                    },\n                },\n                {\n                    \"title\": \"basic_positive_test\",\n                    \"exact_match_out\": False,\n                    \"include_in_gallery\": True,\n                    \"in\": {\n                        \"column_list\": [\"some_nulls\", \"one_non_null\"],\n                        \"mostly\": 0.4,\n                    },\n                    \"out\": {\n                        \"success\": True,\n                    },\n                },\n                {\n                    \"title\": \"basic_negative_test\",\n                    \"exact_match_out\": False,\n                    \"include_in_gallery\": True,\n                    \"in\": {\n                        \"column_list\": [\"some_nulls\", \"one_non_null\", \"all_nulls\"],\n                        \"mostly\": 1,\n                    },\n                    \"out\": {\n                        \"success\": False,\n                    },\n                },\n            ],\n            \"test_backends\": [\n                {\n                    \"backend\": \"pandas\",\n                    \"dialects\": None,\n                },\n            ],\n        }\n    ]\n\n    # This is the id string of the Metric used by this Expectation.\n    # For most Expectations, it will be the same as the `condition_metric_name` defined in your Metric class above.\n\n    map_metric = \"multicolumn_values.not_all_null\"\n\n    # This is a list of parameter names that can affect whether the Expectation evaluates to True or False\n    success_keys = (\n        \"column_list\",\n        \"mostly\",\n    )\n\n    # This dictionary contains default values for any parameters that should have default values\n    default_kwarg_values = {}\n\n    def validate_configuration(\n        self, configuration: Optional[ExpectationConfiguration] = None\n    ) -> None:\n        \"\"\"\n        Validates that a configuration has been set, and sets a configuration if it has yet to be set. Ensures that\n        necessary configuration arguments have been provided for the validation of the expectation.\n\n        Args:\n            configuration (OPTIONAL[ExpectationConfiguration]): \\\n                An optional Expectation Configuration entry that will be used to configure the expectation\n        Returns:\n            None. Raises InvalidExpectationConfigurationError if the config is not validated successfully\n        \"\"\"\n\n        super().validate_configuration(configuration)\n        configuration = configuration or self.configuration\n\n        # # Check other things in configuration.kwargs and raise Exceptions if needed\n        # try:\n        #     assert (\n        #         ...\n        #     ), \"message\"\n        #     assert (\n        #         ...\n        #     ), \"message\"\n        # except AssertionError as e:\n        #     raise InvalidExpectationConfigurationError(str(e))\n\n    # This object contains metadata for display in the public Gallery\n\n    library_metadata = {\n        \"tags\": [\"null_check\"],  # Tags for this Expectation in the Gallery\n        \"contributors\": [  # Github handles for all contributors to this Expectation.\n            \"@liyusa\",  # Don't forget to add your github handle here!\n        ],\n    }\n\n\nif __name__ == \"__main__\":\n\n    ExpectMulticolumnValuesNotToBeAllNull().print_diagnostic_checklist()\n", "path": "contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py"}], "after_files": [{"content": "from typing import Optional\n\nimport numpy as np\n\nfrom great_expectations.core.expectation_configuration import ExpectationConfiguration\nfrom great_expectations.execution_engine import PandasExecutionEngine\nfrom great_expectations.expectations.expectation import MulticolumnMapExpectation\nfrom great_expectations.expectations.metrics.map_metric_provider import (\n    MulticolumnMapMetricProvider,\n    multicolumn_condition_partial,\n)\n\n\n# This class defines a Metric to support your Expectation.\n# For most MulticolumnMapExpectations, the main business logic for calculation will live in this class.\nclass MulticolumnValuesNotAllNull(MulticolumnMapMetricProvider):\n\n    # This is the id string that will be used to reference your metric.\n\n    condition_metric_name = \"multicolumn_values.not_all_null\"\n\n    # These point your metric at the provided keys to facilitate calculation\n    condition_domain_keys = (\n        \"batch_id\",\n        \"table\",\n        \"column_list\",\n        \"row_condition\",\n        \"condition_parser\",\n        \"ignore_row_if\",\n    )\n    condition_value_keys = ()\n\n    # This method implements the core logic for the PandasExecutionEngine\n\n    @multicolumn_condition_partial(engine=PandasExecutionEngine)\n    def _pandas(cls, column_list, **kwargs):\n        return column_list.notna().any(axis=1)\n\n    # This method defines the business logic for evaluating your metric when using a SqlAlchemyExecutionEngine\n    # @multicolumn_condition_partial(engine=SqlAlchemyExecutionEngine)\n    # def _sqlalchemy(cls, column_list, **kwargs):\n    #     raise NotImplementedError\n\n    # This method defines the business logic for evaluating your metric when using a SparkDFExecutionEngine\n    # @multicolumn_condition_partial(engine=SparkDFExecutionEngine)\n    # def _spark(cls, column_list, **kwargs):\n    #     raise NotImplementedError\n\n\n# This class defines the Expectation itself\nclass ExpectMulticolumnValuesNotToBeAllNull(MulticolumnMapExpectation):\n    \"\"\"Expect the certain set of columns not to be null at the same time.\"\"\"\n\n    # These examples will be shown in the public gallery.\n    # They will also be executed as unit tests for your Expectation.\n    examples = [\n        {\n            \"data\": {\n                \"no_nulls\": [5, 6, 5, 12, -3],\n                \"some_nulls\": [np.nan, -3, np.nan, np.nan, -9],\n                \"one_non_null\": [np.nan, 2, np.nan, np.nan, np.nan],\n                \"all_nulls\": [np.nan, np.nan, np.nan, np.nan, np.nan],\n            },\n            \"tests\": [\n                {\n                    \"title\": \"basic_positive_test\",\n                    \"exact_match_out\": False,\n                    \"include_in_gallery\": True,\n                    \"in\": {\"column_list\": [\"no_nulls\", \"some_nulls\"]},\n                    \"out\": {\n                        \"success\": True,\n                    },\n                },\n                {\n                    \"title\": \"basic_positive_test\",\n                    \"exact_match_out\": False,\n                    \"include_in_gallery\": True,\n                    \"in\": {\n                        \"column_list\": [\"some_nulls\", \"one_non_null\"],\n                        \"mostly\": 0.4,\n                    },\n                    \"out\": {\n                        \"success\": True,\n                    },\n                },\n                {\n                    \"title\": \"basic_negative_test\",\n                    \"exact_match_out\": False,\n                    \"include_in_gallery\": True,\n                    \"in\": {\n                        \"column_list\": [\"some_nulls\", \"one_non_null\", \"all_nulls\"],\n                        \"mostly\": 1,\n                    },\n                    \"out\": {\n                        \"success\": False,\n                    },\n                },\n            ],\n            \"test_backends\": [\n                {\n                    \"backend\": \"pandas\",\n                    \"dialects\": None,\n                },\n            ],\n        }\n    ]\n\n    # This is the id string of the Metric used by this Expectation.\n    # For most Expectations, it will be the same as the `condition_metric_name` defined in your Metric class above.\n\n    map_metric = \"multicolumn_values.not_all_null\"\n\n    # This is a list of parameter names that can affect whether the Expectation evaluates to True or False\n    success_keys = (\n        \"column_list\",\n        \"mostly\",\n    )\n\n    # This dictionary contains default values for any parameters that should have default values\n    default_kwarg_values = {\"ignore_row_if\": \"never\"}\n\n    def validate_configuration(\n        self, configuration: Optional[ExpectationConfiguration] = None\n    ) -> None:\n        \"\"\"\n        Validates that a configuration has been set, and sets a configuration if it has yet to be set. Ensures that\n        necessary configuration arguments have been provided for the validation of the expectation.\n\n        Args:\n            configuration (OPTIONAL[ExpectationConfiguration]): \\\n                An optional Expectation Configuration entry that will be used to configure the expectation\n        Returns:\n            None. Raises InvalidExpectationConfigurationError if the config is not validated successfully\n        \"\"\"\n\n        super().validate_configuration(configuration)\n        configuration = configuration or self.configuration\n\n        # # Check other things in configuration.kwargs and raise Exceptions if needed\n        # try:\n        #     assert (\n        #         ...\n        #     ), \"message\"\n        #     assert (\n        #         ...\n        #     ), \"message\"\n        # except AssertionError as e:\n        #     raise InvalidExpectationConfigurationError(str(e))\n\n    # This object contains metadata for display in the public Gallery\n\n    library_metadata = {\n        \"tags\": [\"null_check\"],  # Tags for this Expectation in the Gallery\n        \"contributors\": [  # Github handles for all contributors to this Expectation.\n            \"@liyusa\",  # Don't forget to add your github handle here!\n        ],\n    }\n\n\nif __name__ == \"__main__\":\n\n    ExpectMulticolumnValuesNotToBeAllNull().print_diagnostic_checklist()\n", "path": "contrib/experimental/great_expectations_experimental/expectations/expect_multicolumn_values_not_to_be_all_null.py"}]}