diff --git a/python-package/setup.py b/python-package/setup.py index 648c042b2..00f6ee775 100644 --- a/python-package/setup.py +++ b/python-package/setup.py @@ -97,7 +97,7 @@ class BuildExt(build_ext.build_ext): # pylint: disable=too-many-ancestors logger = logging.getLogger('XGBoost build_ext') - # pylint: disable=too-many-arguments,no-self-use + # pylint: disable=too-many-arguments def build( self, src_dir: str, diff --git a/python-package/xgboost/callback.py b/python-package/xgboost/callback.py index a0189c15a..c76021811 100644 --- a/python-package/xgboost/callback.py +++ b/python-package/xgboost/callback.py @@ -1,5 +1,5 @@ # coding: utf-8 -# pylint: disable=invalid-name, too-many-statements, no-self-use +# pylint: disable=invalid-name, too-many-statements # pylint: disable=too-many-arguments """Callback library containing training routines. See :doc:`Callback Functions ` for a quick introduction. diff --git a/python-package/xgboost/core.py b/python-package/xgboost/core.py index 36548d813..a29141123 100644 --- a/python-package/xgboost/core.py +++ b/python-package/xgboost/core.py @@ -3,6 +3,7 @@ """Core XGBoost Library.""" from abc import ABC, abstractmethod from collections.abc import Mapping +import copy from typing import List, Optional, Any, Union, Dict, TypeVar from typing import Callable, Tuple, cast, Sequence, Type, Iterable import ctypes @@ -1577,7 +1578,7 @@ class Booster: booster: `Booster` a copied booster model """ - return self.__copy__() + return copy.copy(self) def attr(self, key: str) -> Optional[str]: """Get attribute string from the Booster. @@ -2309,15 +2310,15 @@ class Booster: ret = self.get_dump(fmap, with_stats, dump_format) if dump_format == 'json': fout_obj.write('[\n') - for i, _ in enumerate(ret): - fout_obj.write(ret[i]) + for i, val in enumerate(ret): + fout_obj.write(val) if i < len(ret) - 1: fout_obj.write(",\n") fout_obj.write('\n]') else: - for i, _ in enumerate(ret): + for i, val in enumerate(ret): fout_obj.write(f"booster[{i}]:\n") - fout_obj.write(ret[i]) + fout_obj.write(val) if need_close: fout_obj.close() @@ -2604,8 +2605,8 @@ class Booster: values = [] # pylint: disable=consider-using-f-string regexp = re.compile(r"\[{0}<([\d.Ee+-]+)\]".format(feature)) - for i, _ in enumerate(xgdump): - m = re.findall(regexp, xgdump[i]) + for i, val in enumerate(xgdump): + m = re.findall(regexp, val) values.extend([float(x) for x in m]) n_unique = len(np.unique(values)) diff --git a/python-package/xgboost/dask.py b/python-package/xgboost/dask.py index a09eeefa0..6398e8f3a 100644 --- a/python-package/xgboost/dask.py +++ b/python-package/xgboost/dask.py @@ -1721,7 +1721,7 @@ class DaskScikitLearnBase(XGBModel): """Implementation of the Scikit-Learn API for XGBoost.""", ["estimators", "model"] ) class DaskXGBRegressor(DaskScikitLearnBase, XGBRegressorBase): - # pylint: disable=missing-class-docstring + """dummy doc string to workaround pylint, replaced by the decorator.""" async def _fit_async( self, X: _DaskCollection, diff --git a/python-package/xgboost/data.py b/python-package/xgboost/data.py index 0fe56b663..15ef4e515 100644 --- a/python-package/xgboost/data.py +++ b/python-package/xgboost/data.py @@ -2,7 +2,6 @@ # pylint: disable=too-many-return-statements, import-error '''Data dispatching for DMatrix.''' import ctypes -from distutils import version import json import warnings import os