internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: modin-project/modin

Issue:
Update exception message for `insert` function



Discussion:

Resolving patch:
diff --git a/modin/pandas/dataframe.py b/modin/pandas/dataframe.py
--- a/modin/pandas/dataframe.py
+++ b/modin/pandas/dataframe.py
@@ -1048,10 +1048,17 @@ def insert(
             or isinstance(value, (array, np.ndarray))
             and len(value.shape) > 1
         ):
-            if value.shape[1] != 1:
+            if isinstance(value, (array, np.ndarray)) and value.shape[1] != 1:
                 raise ValueError(
                     f"Expected a 1D array, got an array with shape {value.shape}"
                 )
+            elif (
+                isinstance(value, (DataFrame, pandas.DataFrame)) and value.shape[1] != 1
+            ):
+                raise ValueError(
+                    "Expected a one-dimensional object, got a DataFrame with "
+                    + f"{len(value.columns)} columns instead."
+                )
             value = value.squeeze(axis=1)
         if not self._query_compiler.lazy_execution and len(self.index) == 0:
             if not hasattr(value, "index"):


Test patch:
diff --git a/modin/pandas/test/dataframe/test_map_metadata.py b/modin/pandas/test/dataframe/test_map_metadata.py
--- a/modin/pandas/test/dataframe/test_map_metadata.py
+++ b/modin/pandas/test/dataframe/test_map_metadata.py
@@ -1344,7 +1344,15 @@ def test_insert(data):
     )
 
     # Bad inserts
-    eval_insert(modin_df, pandas_df, col="Bad Column", value=lambda df: df)
+    eval_insert(
+        modin_df,
+        pandas_df,
+        col="Bad Column",
+        value=lambda df: df,
+        raising_exceptions=ValueError(
+            f"Expected a one-dimensional object, got a DataFrame with {len(pandas_df.columns)} columns instead."
+        ),
+    )
     eval_insert(
         modin_df,
         pandas_df,
diff --git a/modin/pandas/test/utils.py b/modin/pandas/test/utils.py
--- a/modin/pandas/test/utils.py
+++ b/modin/pandas/test/utils.py
@@ -904,7 +904,7 @@ def execute_callable(fn, inplace=False, md_kwargs={}, pd_kwargs={}):
                     assert not isinstance(
                         md_e, tuple(raising_exceptions)
                     ), f"not acceptable exception type: {md_e}"
-                elif raising_exceptions and type(raising_exceptions) is type:
+                elif raising_exceptions and type(raising_exceptions) is not type:
                     assert (
                         type(md_e) is type(raising_exceptions)
                         and md_e.args == raising_exceptions.args
Repository: modin-project/modin

Issue:
`pivot` failed with the message: `ValueError('The truth value of a Index is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().')`



Discussion:

Resolving patch:
diff --git a/modin/pandas/dataframe.py b/modin/pandas/dataframe.py
--- a/modin/pandas/dataframe.py
+++ b/modin/pandas/dataframe.py
@@ -1462,9 +1462,9 @@ def pivot(
         # index or columns
         if values is None:
             values = list(self.columns)
-            if index:
+            if index is not None:
                 values = [v for v in values if v not in index]
-            if columns:
+            if columns is not None:
                 values = [v for v in values if v not in columns]
 
         return self.__constructor__(


Test patch:
diff --git a/modin/pandas/test/dataframe/test_default.py b/modin/pandas/test/dataframe/test_default.py
--- a/modin/pandas/test/dataframe/test_default.py
+++ b/modin/pandas/test/dataframe/test_default.py
@@ -603,6 +603,7 @@ def test_pivot(data, index, columns, values, request):
     if (
         "one_column_values-one_column-default-float_nan_data"
         in request.node.callspec.id
+        or "default-one_column-several_columns_index" in request.node.callspec.id
         or (
             current_execution in ("BaseOnPython", "HdkOnNative")
             and index is lib.no_default
Repository: modin-project/modin

Issue:
Update exception message for `aggregate` function



Discussion:

Resolving patch:
diff --git a/modin/pandas/base.py b/modin/pandas/base.py
--- a/modin/pandas/base.py
+++ b/modin/pandas/base.py
@@ -414,7 +414,7 @@ def error_raiser(msg, exception=Exception):
             if isinstance(fn, str):
                 if not (hasattr(self, fn) or hasattr(np, fn)):
                     on_invalid(
-                        f"{fn} is not valid function for {type(self)} object.",
+                        f"'{fn}' is not a valid function for '{type(self).__name__}' object",
                         AttributeError,
                     )
             elif not callable(fn):


Test patch:
diff --git a/modin/pandas/test/test_series.py b/modin/pandas/test/test_series.py
--- a/modin/pandas/test/test_series.py
+++ b/modin/pandas/test/test_series.py
@@ -734,7 +734,12 @@ def test_aggregate_error_checking(data):
         lambda series: series.aggregate("cumprod"),
     )
     eval_general(
-        modin_series, pandas_series, lambda series: series.aggregate("NOT_EXISTS")
+        modin_series,
+        pandas_series,
+        lambda series: series.aggregate("NOT_EXISTS"),
+        raising_exceptions=AttributeError(
+            "'NOT_EXISTS' is not a valid function for 'Series' object"
+        ),
     )
Repository: modin-project/modin

Issue:
Add `modin.pandas.arrays` module



Discussion:

Resolving patch:
diff --git a/modin/pandas/__init__.py b/modin/pandas/__init__.py
--- a/modin/pandas/__init__.py
+++ b/modin/pandas/__init__.py
@@ -171,7 +171,7 @@ def _update_engine(publisher: Parameter):
     _is_first_update[publisher.get()] = False
 
 
-from modin.pandas import errors
+from modin.pandas import arrays, errors
 from modin.utils import show_versions
 
 from .. import __version__
diff --git a/modin/pandas/arrays/__init__.py b/modin/pandas/arrays/__init__.py
new file mode 100644
--- /dev/null
+++ b/modin/pandas/arrays/__init__.py
@@ -0,0 +1,18 @@
+# Licensed to Modin Development Team under one or more contributor license agreements.
+# See the NOTICE file distributed with this work for additional information regarding
+# copyright ownership.  The Modin Development Team licenses this file to you under the
+# Apache License, Version 2.0 (the "License"); you may not use this file except in
+# compliance with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under
+# the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+# ANY KIND, either express or implied. See the License for the specific language
+# governing permissions and limitations under the License.
+
+
+"""The module is needed to allow the following import `import modin.pandas.arrays`."""
+
+from pandas.arrays import *  # noqa: F403, F401
+from pandas.arrays import __all__  # noqa: F401


Test patch:
diff --git a/modin/pandas/test/test_api.py b/modin/pandas/test/test_api.py
--- a/modin/pandas/test/test_api.py
+++ b/modin/pandas/test/test_api.py
@@ -35,7 +35,6 @@ def test_top_level_api_equality():
         "util",
         "offsets",
         "datetime",
-        "arrays",
         "api",
         "tseries",
         "to_msgpack",  # This one is experimental, and doesn't look finished
diff --git a/modin/pandas/test/test_series.py b/modin/pandas/test/test_series.py
--- a/modin/pandas/test/test_series.py
+++ b/modin/pandas/test/test_series.py
@@ -1271,6 +1271,20 @@ def test_constructor_columns_and_index():
         pd.Series(modin_series, index=[1, 2, 99999])
 
 
+def test_constructor_arrow_extension_array():
+    # example from pandas docs
+    pa = pytest.importorskip("pyarrow")
+    array = pd.arrays.ArrowExtensionArray(
+        pa.array(
+            [{"1": "2"}, {"10": "20"}, None],
+            type=pa.map_(pa.string(), pa.string()),
+        )
+    )
+    md_ser, pd_ser = create_test_series(array)
+    df_equals(md_ser, pd_ser)
+    df_equals(md_ser.dtypes, pd_ser.dtypes)
+
+
 @pytest.mark.parametrize("data", test_data_values, ids=test_data_keys)
 def test_copy(data):
     modin_series, pandas_series = create_test_series(data)
Repository: modin-project/modin

Issue:
Add Modin logging to engine layer
Add Modin logging to the Partition Managers and Partition (including Axis/virtual) layers for different execution engines (Ray, Dask to start). This will help us to debug parallelism related bugs, such as #4464 and others.


Discussion:

Resolving patch:
diff --git a/modin/core/dataframe/base/partitioning/axis_partition.py b/modin/core/dataframe/base/partitioning/axis_partition.py
--- a/modin/core/dataframe/base/partitioning/axis_partition.py
+++ b/modin/core/dataframe/base/partitioning/axis_partition.py
@@ -16,8 +16,10 @@
 from abc import ABC, abstractmethod
 from typing import Any, Callable, Iterable, Optional, Tuple, Union
 
+from modin.logging import ClassLogger
 
-class BaseDataframeAxisPartition(ABC):  # pragma: no cover
+
+class BaseDataframeAxisPartition(ABC, ClassLogger):  # pragma: no cover
     """
     An abstract class that represents the parent class for any axis partition class.
 
diff --git a/modin/core/dataframe/pandas/partitioning/partition.py b/modin/core/dataframe/pandas/partitioning/partition.py
--- a/modin/core/dataframe/pandas/partitioning/partition.py
+++ b/modin/core/dataframe/pandas/partitioning/partition.py
@@ -23,11 +23,11 @@
 from pandas.util import cache_readonly
 
 from modin.core.storage_formats.pandas.utils import length_fn_pandas, width_fn_pandas
-from modin.logging import get_logger
+from modin.logging import ClassLogger, get_logger
 from modin.pandas.indexing import compute_sliced_len
 
 
-class PandasDataframePartition(ABC):  # pragma: no cover
+class PandasDataframePartition(ABC, ClassLogger):  # pragma: no cover
     """
     An abstract class that is base for any partition class of ``pandas`` storage format.
 
diff --git a/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py b/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py
--- a/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py
+++ b/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py
@@ -30,7 +30,7 @@
     MetaListHook,
 )
 from modin.core.execution.ray.common.utils import ObjectIDType
-from modin.logging import get_logger
+from modin.logging import disable_logging, get_logger
 from modin.pandas.indexing import compute_sliced_len
 from modin.utils import _inherit_docstrings
 
@@ -93,6 +93,7 @@ def __init__(
             )
         )
 
+    @disable_logging
     def __del__(self):
         """Unsubscribe from DeferredExecution."""
         if isinstance(self._data_ref, DeferredExecution):


Test patch:
Repository: modin-project/modin

Issue:
`rank` should raise `No axis named None for object type Series` to align with pandas



Discussion:

Resolving patch:
diff --git a/modin/pandas/base.py b/modin/pandas/base.py
--- a/modin/pandas/base.py
+++ b/modin/pandas/base.py
@@ -2362,6 +2362,10 @@ def rank(
         ascending: bool = True,
         pct: bool = False,
     ):
+        if axis is None:
+            raise ValueError(
+                f"No axis named None for object type {type(self).__name__}"
+            )
         axis = self._get_axis_number(axis)
         return self.__constructor__(
             query_compiler=self._query_compiler.rank(


Test patch:
diff --git a/modin/pandas/test/dataframe/test_window.py b/modin/pandas/test/dataframe/test_window.py
--- a/modin/pandas/test/dataframe/test_window.py
+++ b/modin/pandas/test/dataframe/test_window.py
@@ -728,6 +728,14 @@ def test_std_var_rank(axis, skipna, method):
     )
 
 
+def test_rank_except():
+    eval_general(
+        *create_test_dfs(test_data["float_nan_data"]),
+        lambda df: df.rank(axis=None),
+        raising_exceptions=ValueError("No axis named None for object type DataFrame"),
+    )
+
+
 @pytest.mark.parametrize("axis", ["rows", "columns"])
 @pytest.mark.parametrize("ddof", int_arg_values, ids=arg_keys("ddof", int_arg_keys))
 @pytest.mark.parametrize("method", ["std", "var"])
Repository: modin-project/modin

Issue:
Add range-partitioning implementation for `.nunique()`



Discussion:

Resolving patch:
diff --git a/modin/core/storage_formats/pandas/query_compiler.py b/modin/core/storage_formats/pandas/query_compiler.py
--- a/modin/core/storage_formats/pandas/query_compiler.py
+++ b/modin/core/storage_formats/pandas/query_compiler.py
@@ -954,7 +954,40 @@ def median(self, axis, **kwargs):
             return self.default_to_pandas(pandas.DataFrame.median, axis=axis, **kwargs)
         return Reduce.register(pandas.DataFrame.median)(self, axis=axis, **kwargs)
 
-    nunique = Reduce.register(pandas.DataFrame.nunique)
+    def nunique(self, axis=0, dropna=True):
+        if not RangePartitioning.get():
+            return Reduce.register(pandas.DataFrame.nunique)(
+                self, axis=axis, dropna=dropna
+            )
+
+        unsupported_message = ""
+        if axis != 0:
+            unsupported_message += (
+                "Range-partitioning 'nunique()' is only supported for 'axis=0'.\n"
+            )
+
+        if len(self.columns) > 1:
+            unsupported_message += "Range-partitioning 'nunique()' is only supported for a signle-column dataframe.\n"
+
+        if len(unsupported_message) > 0:
+            message = (
+                f"Can't use range-partitioning implementation for 'nunique' because:\n{unsupported_message}"
+                + "Falling back to a full-axis reduce implementation."
+            )
+            get_logger().info(message)
+            ErrorMessage.warn(message)
+            return Reduce.register(pandas.DataFrame.nunique)(
+                self, axis=axis, dropna=dropna
+            )
+
+        # compute '.nunique()' for each row partitions
+        new_modin_frame = self._modin_frame._apply_func_to_range_partitioning(
+            key_columns=self.columns.tolist(),
+            func=lambda df: df.nunique(dropna=dropna).to_frame(),
+        )
+        # sum the results of each row part to get the final value
+        new_modin_frame = new_modin_frame.reduce(axis=0, function=lambda df: df.sum())
+        return self.__constructor__(new_modin_frame, shape_hint="column")
 
     def skew(self, axis, **kwargs):
         if axis is None:


Test patch:
diff --git a/modin/pandas/test/dataframe/test_reduce.py b/modin/pandas/test/dataframe/test_reduce.py
--- a/modin/pandas/test/dataframe/test_reduce.py
+++ b/modin/pandas/test/dataframe/test_reduce.py
@@ -87,6 +87,16 @@ def test_count(data, axis):
     )
 
 
+@pytest.mark.parametrize("axis", axis_values, ids=axis_keys)
+@pytest.mark.parametrize("data", test_data_values, ids=test_data_keys)
+@pytest.mark.parametrize("dropna", [True, False])
+def test_nunique(data, axis, dropna):
+    eval_general(
+        *create_test_dfs(data),
+        lambda df: df.nunique(axis=axis, dropna=dropna),
+    )
+
+
 @pytest.mark.parametrize("numeric_only", [False, True])
 def test_count_specific(numeric_only):
     eval_general(
Repository: modin-project/modin

Issue:
Remove enable_api_only mode in modin logging

In modin LogMode enable_api_only and enable options looks confusing. We should just leave enable option, using which memory.log would also should be generated

_Originally posted by @YarShev in https://github.com/modin-project/modin/issues/7092#issuecomment-2003894603_


Discussion:

Resolving patch:
diff --git a/modin/config/envvars.py b/modin/config/envvars.py
--- a/modin/config/envvars.py
+++ b/modin/config/envvars.py
@@ -489,6 +489,10 @@ def disable(cls) -> None:
     @classmethod
     def enable_api_only(cls) -> None:
         """Enable API level logging."""
+        warnings.warn(
+            "'enable_api_only' value for LogMode is deprecated and"
+            + "will be removed in a future version."
+        )
         cls.put("enable_api_only")
 
 


Test patch:
Repository: modin-project/modin

Issue:
Ray 2.10.0 broke tests
A new release of Ray is out, which broke our tests. To unblock CI let's exclude the version for now.



Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@
 
 dask_deps = ["dask>=2.22.0", "distributed>=2.22.0"]
 # ray==2.5.0 broken: https://github.com/conda-forge/ray-packages-feedstock/issues/100
-ray_deps = ["ray[default]>=1.13.0,!=2.5.0", "pyarrow>=7.0.0"]
+ray_deps = ["ray[default]>=1.13.0,!=2.5.0,!=2.10.0", "pyarrow>=7.0.0"]
 mpi_deps = ["unidist[mpi]>=0.2.1"]
 spreadsheet_deps = ["modin-spreadsheet>=0.1.0"]
 # Currently, Modin does not include `mpi` option in `all`.


Test patch:
Repository: modin-project/modin

Issue:
Preserve shape_hint for dropna
This is to avoid index materialization in Series.columnarize.



Discussion:

Resolving patch:
diff --git a/modin/core/storage_formats/pandas/query_compiler.py b/modin/core/storage_formats/pandas/query_compiler.py
--- a/modin/core/storage_formats/pandas/query_compiler.py
+++ b/modin/core/storage_formats/pandas/query_compiler.py
@@ -3005,13 +3005,14 @@ def reduce(df: pandas.DataFrame, mask: pandas.DataFrame):
                 copartition=False,
                 labels="drop",
             )
-            return self.__constructor__(result)
+            return self.__constructor__(result, shape_hint=self._shape_hint)
 
         return self.__constructor__(
             self._modin_frame.filter(
                 kwargs.get("axis", 0) ^ 1,
                 lambda df: pandas.DataFrame.dropna(df, **kwargs),
-            )
+            ),
+            shape_hint=self._shape_hint,
         )
 
     def drop(self, index=None, columns=None, errors: str = "raise"):


Test patch:
Repository: modin-project/modin

Issue:
Explicitly call `pip install modin` in CI scripts
Otherwise tests may fail for Ray: https://github.com/ray-project/ray/issues/44264#issuecomment-2020080528


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@
 
 dask_deps = ["dask>=2.22.0", "distributed>=2.22.0"]
 # ray==2.5.0 broken: https://github.com/conda-forge/ray-packages-feedstock/issues/100
-ray_deps = ["ray[default]>=1.13.0,!=2.5.0,!=2.10.0", "pyarrow>=7.0.0"]
+ray_deps = ["ray[default]>=1.13.0,!=2.5.0", "pyarrow>=7.0.0"]
 mpi_deps = ["unidist[mpi]>=0.2.1"]
 spreadsheet_deps = ["modin-spreadsheet>=0.1.0"]
 # Currently, Modin does not include `mpi` option in `all`.


Test patch:
Repository: modin-project/modin

Issue:
Update minimal supported version of ray up to 2.1.0
This is a consequence of the fact that we now use generators: https://github.com/modin-project/modin/pull/7005#issuecomment-2022963068

Error that appears when launching CI with Ray 1.13.0: `TypeError: object of type 'generator' has no len()`


Discussion:

Resolving patch:
diff --git a/modin/utils.py b/modin/utils.py
--- a/modin/utils.py
+++ b/modin/utils.py
@@ -82,7 +82,7 @@ def _to_numpy(self) -> Any:  # noqa: GL08
         pass
 
 
-MIN_RAY_VERSION = version.parse("1.13.0")
+MIN_RAY_VERSION = version.parse("2.1.0")
 MIN_DASK_VERSION = version.parse("2.22.0")
 MIN_UNIDIST_VERSION = version.parse("0.2.1")
 
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@
 
 dask_deps = ["dask>=2.22.0", "distributed>=2.22.0"]
 # ray==2.5.0 broken: https://github.com/conda-forge/ray-packages-feedstock/issues/100
-ray_deps = ["ray[default]>=1.13.0,!=2.5.0", "pyarrow>=7.0.0"]
+ray_deps = ["ray[default]>=2.1.0,!=2.5.0", "pyarrow>=7.0.0"]
 mpi_deps = ["unidist[mpi]>=0.2.1"]
 spreadsheet_deps = ["modin-spreadsheet>=0.1.0"]
 # Currently, Modin does not include `mpi` option in `all`.


Test patch:
Repository: modin-project/modin

Issue:
BUG: ValueError: Length of values (256) does not match length of index (65537)
### Modin version checks

- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the latest released version of Modin.

- [X] I have confirmed this bug exists on the main branch of Modin. (In order to do this you can follow [this guide](https://modin.readthedocs.io/en/stable/getting_started/installation.html#installing-from-the-github-master-branch).)


### Reproducible Example

```python
import pandas
import modin.pandas as pd
import numpy as np

data = np.random.randint(0, 100, size=(2**16, 2**8))
df = pandas.DataFrame(data)
mdf = pd.DataFrame(df)

df.loc[len(df)] = list(range(2**8))
mdf.loc[len(df)] = list(range(2**8))
ValueError: Length of values (256) does not match length of index (65537)
```


### Issue Description

Failed to append a row.

### Expected Behavior

Match pandas.

### Error Logs

<details>

```python-traceback

Replace this line with the error backtrace (if applicable).

```

</details>


### Installed Versions

<details>

Replace this line with the output of pd.show_versions()

</details>



Discussion:

Resolving patch:
diff --git a/modin/core/storage_formats/pandas/query_compiler.py b/modin/core/storage_formats/pandas/query_compiler.py
--- a/modin/core/storage_formats/pandas/query_compiler.py
+++ b/modin/core/storage_formats/pandas/query_compiler.py
@@ -2908,7 +2908,7 @@ def getitem_row_array(self, key):
         )
 
     def setitem(self, axis, key, value):
-        if axis == 1:
+        if axis == 0:
             value = self._wrap_column_data(value)
         return self._setitem(axis=axis, key=key, value=value, how=None)
 


Test patch:
diff --git a/modin/tests/pandas/dataframe/test_indexing.py b/modin/tests/pandas/dataframe/test_indexing.py
--- a/modin/tests/pandas/dataframe/test_indexing.py
+++ b/modin/tests/pandas/dataframe/test_indexing.py
@@ -565,6 +565,18 @@ def test_loc_5829():
     )
 
 
+def test_loc_7135():
+    data = np.random.randint(0, 100, size=(2**16, 2**8))
+    modin_df, pandas_df = create_test_dfs(data)
+    key = len(pandas_df)
+    eval_loc(
+        modin_df,
+        pandas_df,
+        value=list(range(2**8)),
+        key=key,
+    )
+
+
 # This tests the bug from https://github.com/modin-project/modin/issues/3736
 def test_loc_setting_single_categorical_column():
     modin_df = pd.DataFrame({"status": ["a", "b", "c"]}, dtype="category")
Repository: modin-project/modin

Issue:
Change "master" branch to "main"
We should update all refs to the new default branch.


Discussion:

Resolving patch:
diff --git a/scripts/release.py b/scripts/release.py
--- a/scripts/release.py
+++ b/scripts/release.py
@@ -110,8 +110,8 @@ class GitWrapper:
     def __init__(self):
         self.repo = pygit2.Repository(Path(__file__).parent)
 
-    def is_on_master(self):
-        return self.repo.references["refs/heads/master"] == self.repo.head
+    def is_on_main(self):
+        return self.repo.references["refs/heads/main"] == self.repo.head
 
     @staticmethod
     def __get_tag_version(entry):
@@ -160,7 +160,7 @@ def ensure_title_link(self, obj: pygit2.Commit):
 
 def make_notes(args):
     wrapper = GitWrapper()
-    release_type = "minor" if wrapper.is_on_master() else "patch"
+    release_type = "minor" if wrapper.is_on_main() else "patch"
     sys.stderr.write(f"Detected release type: {release_type}\n")
 
     prev_ref, prev_commit, prev_ver = wrapper.get_previous_release(release_type)


Test patch:
diff --git a/modin/tests/pandas/test_io.py b/modin/tests/pandas/test_io.py
--- a/modin/tests/pandas/test_io.py
+++ b/modin/tests/pandas/test_io.py
@@ -1050,7 +1050,7 @@ def test_read_csv_url(self):
         eval_io(
             fn_name="read_csv",
             # read_csv kwargs
-            filepath_or_buffer="https://raw.githubusercontent.com/modin-project/modin/master/modin/tests/pandas/data/blah.csv",
+            filepath_or_buffer="https://raw.githubusercontent.com/modin-project/modin/main/modin/tests/pandas/data/blah.csv",
             # It takes about ~17Gb of RAM for HDK to import the whole table from this test
             # because of too many (~1000) string columns in it. Taking a subset of columns
             # to be able to run this test on low-RAM machines.