From 1319c2118670e27db5862ced8745a749d840196a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 14:21:37 +0000 Subject: [PATCH 1/4] MNT Update type hints to modern Python syntax Agent-Logs-Url: https://github.com/skops-dev/skops/sessions/6f0f4f08-6cde-47f1-81e0-33fd192d422e Co-authored-by: adrinjalali <1663864+adrinjalali@users.noreply.github.com> --- skops/card/_markup.py | 4 ++-- skops/card/_model_card.py | 14 +++++++------- skops/cli/_convert.py | 4 +--- skops/io/_audit.py | 19 +++++++++---------- skops/io/_general.py | 34 +++++++++++++++++----------------- skops/io/_numpy.py | 12 ++++++------ skops/io/_persist.py | 6 +++--- skops/io/_quantile_forest.py | 4 ++-- skops/io/_scipy.py | 4 ++-- skops/io/_sklearn.py | 10 +++++----- skops/io/_visualize.py | 4 ++-- skops/io/old/_general_v0.py | 4 ++-- skops/io/old/_numpy_v0.py | 4 ++-- skops/io/old/_numpy_v1.py | 4 ++-- 14 files changed, 62 insertions(+), 65 deletions(-) diff --git a/skops/card/_markup.py b/skops/card/_markup.py index 2e42a25c..39df0340 100644 --- a/skops/card/_markup.py +++ b/skops/card/_markup.py @@ -5,7 +5,7 @@ import sys from collections.abc import Mapping from contextlib import contextmanager -from typing import Any, Sequence +from typing import Any from skops.card._model_card import TableSection @@ -258,7 +258,7 @@ def _table(self, item) -> str: # pandoc < 2.5 columns, body = self._table_old(item) - table: Mapping[str, Sequence[Any]] + table: Mapping[str, list[Any]] if not body: table = {key: [] for key in columns} else: diff --git a/skops/card/_model_card.py b/skops/card/_model_card.py index b064c54b..16378818 100644 --- a/skops/card/_model_card.py +++ b/skops/card/_model_card.py @@ -11,7 +11,7 @@ from hashlib import sha256 from pathlib import Path from reprlib import Repr -from typing import Any, Iterator, List, Literal, Optional, Sequence +from typing import Any, Iterator, Literal import joblib from prettytable import PrettyTable, TableStyle @@ -178,7 +178,7 @@ def __repr__(self) -> str: class TableSection(Section): """Adds a table to the model card""" - table: Mapping[str, Sequence[Any]] = field(default_factory=dict) + table: Mapping[str, list[Any]] = field(default_factory=dict) folded: bool = False def __post_init__(self) -> None: @@ -228,7 +228,7 @@ def __repr__(self) -> str: def _load_model( - model: Any, trusted: Optional[Sequence[str]] = None, allow_pickle: bool = False + model: Any, trusted: list[str] | None = None, allow_pickle: bool = False ) -> Any: """Return a model instance. @@ -403,7 +403,7 @@ def __init__( model_format: Literal["pickle", "skops"] | None = None, model_diagram: bool | Literal["auto"] | str = "auto", template: Literal["skops"] | dict[str, str] | None = "skops", - trusted: Optional[List[str]] = None, + trusted: list[str] | None = None, allow_pickle: bool = False, ) -> None: self.model = model @@ -535,7 +535,7 @@ def add(self, folded: bool = False, **kwargs: str) -> Self: return self def _select( - self, subsection_names: Sequence[str], create: bool = True + self, subsection_names: list[str], create: bool = True ) -> dict[str, Section]: """Select a single section from the data. @@ -629,7 +629,7 @@ def select(self, key: str) -> Section: parent_section = self._select(subsection_names, create=False) return parent_section[leaf_node_name] - def delete(self, key: str | Sequence[str]) -> None: + def delete(self, key: str | list[str]) -> None: """Delete a section from the model card. To delete a subsection of an existing section, use a ``"/"`` in the @@ -1002,7 +1002,7 @@ def add_metrics( def add_permutation_importances( self, permutation_importances, - columns: Sequence[str], + columns: list[str], plot_file: str | Path = "permutation_importances.png", plot_name: str = "Permutation Importances", overwrite: bool = False, diff --git a/skops/cli/_convert.py b/skops/cli/_convert.py index 7d630c15..d15f6d26 100644 --- a/skops/cli/_convert.py +++ b/skops/cli/_convert.py @@ -5,8 +5,6 @@ import os import pathlib import pickle -from typing import Optional - from skops.cli._utils import get_log_level from skops.io import dumps, get_untrusted_types @@ -59,7 +57,7 @@ def _convert_file( def format_parser( - parser: Optional[argparse.ArgumentParser] = None, + parser: argparse.ArgumentParser | None = None, ) -> argparse.ArgumentParser: """Adds arguments and help to parent CLI parser for the convert method.""" diff --git a/skops/io/_audit.py b/skops/io/_audit.py index d9e7a03b..435eb2be 100644 --- a/skops/io/_audit.py +++ b/skops/io/_audit.py @@ -2,19 +2,19 @@ import io from contextlib import contextmanager -from typing import Any, Dict, Generator, Iterable, List, Optional, Sequence, Type, Union +from typing import Any, Generator, Iterable, Type, Union from ._protocol import PROTOCOL from ._utils import LoadContext, get_module, get_type_paths from .exceptions import UntrustedTypesFoundException NODE_TYPE_MAPPING: dict[tuple[str, int], Type[Node]] = {} -VALID_NODE_CHILD_TYPES = Optional[ - Union["Node", List["Node"], Dict[str, "Node"], Type, str, io.BytesIO] +VALID_NODE_CHILD_TYPES = Union[ + "Node", list["Node"], dict[str, "Node"], Type, str, io.BytesIO, None ] -def check_type(module_name: str, type_name: str, trusted: Sequence[str]) -> bool: +def check_type(module_name: str, type_name: str, trusted: list[str]) -> bool: """Check if a type is safe to load. A type is safe to load only if it's present in the trusted list. @@ -135,8 +135,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, - memoize: bool = True, + trusted: list[str | type[Any]] | None = None, ) -> None: self.class_name, self.module_name = state["__class__"], state["__module__"] self._is_safe = None @@ -173,8 +172,8 @@ def _construct(self): @staticmethod def _get_trusted( - trusted: Optional[Sequence[Union[str, Type]]], - default: Sequence[Union[str, Type]], + trusted: list[str | Type] | None, + default: list[str | Type], ) -> list[str]: """Return a trusted list, or True. @@ -279,7 +278,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[List[str]] = None, + trusted: list[str | type[Any]] | None = None, ): # we pass memoize as False because we don't want to memoize the cached # node. @@ -303,7 +302,7 @@ def _construct(self): def get_tree( state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]], + trusted: list[str | type[Any]] | None, ) -> Node: """Get the tree of nodes. diff --git a/skops/io/_general.py b/skops/io/_general.py index a8715a71..4ee7e925 100644 --- a/skops/io/_general.py +++ b/skops/io/_general.py @@ -8,7 +8,7 @@ from functools import partial from reprlib import Repr from types import FunctionType, MethodType -from typing import Any, Optional, Sequence +from typing import Any import numpy as np @@ -62,7 +62,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [dict, "collections.OrderedDict"]) @@ -102,7 +102,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = ["collections.defaultdict"] @@ -138,7 +138,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [list]) @@ -170,7 +170,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [set]) @@ -202,7 +202,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [tuple]) @@ -249,7 +249,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: what do we trust? @@ -293,7 +293,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: should we trust anything? @@ -334,7 +334,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: what do we trust? @@ -369,7 +369,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [slice]) @@ -449,7 +449,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.children = { @@ -467,7 +467,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) @@ -528,7 +528,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) obj = get_tree(state["content"]["obj"], load_context, trusted=trusted) @@ -572,7 +572,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.content = state["content"] @@ -625,7 +625,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [bytes]) @@ -646,7 +646,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [bytearray]) @@ -676,7 +676,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) if self.module_name != "operator": diff --git a/skops/io/_numpy.py b/skops/io/_numpy.py index f87c8d99..39ec8dcb 100644 --- a/skops/io/_numpy.py +++ b/skops/io/_numpy.py @@ -1,7 +1,7 @@ from __future__ import annotations import io -from typing import Any, Optional, Sequence +from typing import Any import numpy as np @@ -61,7 +61,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.type = state["type"] @@ -128,7 +128,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [np.ma.MaskedArray]) @@ -159,7 +159,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO @@ -191,7 +191,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.children = { @@ -242,7 +242,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.children = { diff --git a/skops/io/_persist.py b/skops/io/_persist.py index 6dd00e2f..a7e0dc06 100644 --- a/skops/io/_persist.py +++ b/skops/io/_persist.py @@ -4,7 +4,7 @@ import io import json from pathlib import Path -from typing import Any, BinaryIO, Optional, Sequence +from typing import Any, BinaryIO from zipfile import ZIP_STORED, ZipFile import skops @@ -113,7 +113,7 @@ def dumps( return buffer.getbuffer().tobytes() -def load(file: str | Path, trusted: Optional[Sequence[str]] = None) -> Any: +def load(file: str | Path, trusted: list[str | type[Any]] | None = None) -> Any: """Load an object saved with the skops persistence format. Skops aims at providing a secure persistence feature that does not rely on @@ -154,7 +154,7 @@ def load(file: str | Path, trusted: Optional[Sequence[str]] = None) -> Any: return instance -def loads(data: bytes, trusted: Optional[Sequence[str]] = None) -> Any: +def loads(data: bytes, trusted: list[str | type[Any]] | None = None) -> Any: """Load an object saved with the skops persistence format from a bytes object. diff --git a/skops/io/_quantile_forest.py b/skops/io/_quantile_forest.py index d19e7924..3d512480 100644 --- a/skops/io/_quantile_forest.py +++ b/skops/io/_quantile_forest.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import Any, Optional, Sequence +from typing import Any from ._protocol import PROTOCOL from ._sklearn import ReduceNode, reduce_get_state @@ -29,7 +29,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: if QuantileForest is None: raise ImportError( diff --git a/skops/io/_scipy.py b/skops/io/_scipy.py index e482a1af..3c85494b 100644 --- a/skops/io/_scipy.py +++ b/skops/io/_scipy.py @@ -1,7 +1,7 @@ from __future__ import annotations import io -from typing import Any, Optional, Sequence +from typing import Any from scipy.sparse import load_npz, save_npz, spmatrix @@ -38,7 +38,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.type = state["type"] diff --git a/skops/io/_sklearn.py b/skops/io/_sklearn.py index 292899b1..2916b782 100644 --- a/skops/io/_sklearn.py +++ b/skops/io/_sklearn.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import Any, Optional, Sequence +from typing import Any from sklearn.cluster import Birch from sklearn.tree._tree import Tree @@ -154,7 +154,7 @@ def __init__( state: dict[str, Any], load_context: LoadContext, constructor: tuple[str, str], - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) reduce = state["__reduce__"] @@ -213,7 +213,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: self.trusted = self._get_trusted(trusted, [get_module(Tree) + ".Tree"]) super().__init__( @@ -251,7 +251,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: # TODO: make sure trusted here makes sense and used. self.trusted = self._get_trusted( @@ -292,7 +292,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = [ diff --git a/skops/io/_visualize.py b/skops/io/_visualize.py index 3c3c2c39..9ce3be53 100644 --- a/skops/io/_visualize.py +++ b/skops/io/_visualize.py @@ -4,7 +4,7 @@ import json from dataclasses import dataclass from pathlib import Path -from typing import Any, Callable, Iterator, Literal, Optional, Sequence +from typing import Any, Callable, Iterator, Literal from zipfile import ZipFile from ._audit import VALID_NODE_CHILD_TYPES, Node, get_tree @@ -310,7 +310,7 @@ def visualize( file: Path | str | bytes, *, show: Literal["all", "untrusted", "trusted"] = "all", - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, sink: Callable[..., None] = pretty_print_tree, **kwargs: Any, ) -> None: diff --git a/skops/io/old/_general_v0.py b/skops/io/old/_general_v0.py index 4078227c..7408a4a4 100644 --- a/skops/io/old/_general_v0.py +++ b/skops/io/old/_general_v0.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import Any, Optional, Sequence +from typing import Any from skops.io._audit import Node from skops.io._trusted_types import SCIPY_UFUNC_TYPE_NAMES @@ -14,7 +14,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str | type[Any]] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: what do we trust? diff --git a/skops/io/old/_numpy_v0.py b/skops/io/old/_numpy_v0.py index 356f67d2..7c78b1f7 100644 --- a/skops/io/old/_numpy_v0.py +++ b/skops/io/old/_numpy_v0.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import Any, Optional, Sequence +from typing import Any import numpy as np @@ -15,7 +15,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.children = {"bit_generator_state": state["content"]["bit_generator"]} diff --git a/skops/io/old/_numpy_v1.py b/skops/io/old/_numpy_v1.py index 7e4b2b3e..127f56d0 100644 --- a/skops/io/old/_numpy_v1.py +++ b/skops/io/old/_numpy_v1.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import Any, Optional, Sequence +from typing import Any import numpy as np @@ -15,7 +15,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: Optional[Sequence[str]] = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.children = { From 0ad3c093dea6d81e587edbd9bc34b974bdaca318 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 14:40:30 +0000 Subject: [PATCH 2/4] Fix missing blank line between imports in _convert.py Agent-Logs-Url: https://github.com/skops-dev/skops/sessions/b34daa0d-bc42-4654-b1c4-f2e0ee6d5d85 Co-authored-by: adrinjalali <1663864+adrinjalali@users.noreply.github.com> --- skops/cli/_convert.py | 1 + 1 file changed, 1 insertion(+) diff --git a/skops/cli/_convert.py b/skops/cli/_convert.py index d15f6d26..b02bf5f3 100644 --- a/skops/cli/_convert.py +++ b/skops/cli/_convert.py @@ -5,6 +5,7 @@ import os import pathlib import pickle + from skops.cli._utils import get_log_level from skops.io import dumps, get_untrusted_types From a1412182efcc2eb59b4c9059c449de2784181b52 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 15:40:46 +0000 Subject: [PATCH 3/4] Fix CI failures: restore memoize param, fix type annotations, update pixi.lock Agent-Logs-Url: https://github.com/skops-dev/skops/sessions/563cf84e-e5a0-4b90-884c-d94804b31bb9 Co-authored-by: adrinjalali <1663864+adrinjalali@users.noreply.github.com> --- pixi.lock | 126 +++++++++++++++--------------------- skops/card/_markup.py | 4 +- skops/io/_audit.py | 13 ++-- skops/io/_general.py | 32 ++++----- skops/io/_persist.py | 4 +- skops/io/_scipy.py | 2 +- skops/io/old/_general_v0.py | 2 +- 7 files changed, 81 insertions(+), 102 deletions(-) diff --git a/pixi.lock b/pixi.lock index 2ecc36d1..a86da1a1 100644 --- a/pixi.lock +++ b/pixi.lock @@ -6,8 +6,6 @@ environments: indexes: - https://pypi.org/simple - https://pypi.anaconda.org/scientific-python-nightly-wheels/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -197,7 +195,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -316,7 +314,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -434,7 +432,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -582,14 +580,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . ci-sklearn12: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -812,7 +808,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e4/3c/e3a93bfa7e8693c825df5ec02a40f7ff5f0950e02198b1e85da9315a8d47/xgboost-2.1.4-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -970,7 +966,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b6/fe/7a1d2342c2e93f22b41515e02b73504c7809247b16ae395bd2ee7ef11e19/xgboost-2.1.4-py3-none-macosx_10_15_x86_64.macosx_11_0_x86_64.macosx_12_0_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -1128,7 +1124,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f5/b6/653a70910739f127adffbefb688ebc22b51139292757de7c22b1e04ce792/xgboost-2.1.4-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.1.0-h2466b09_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.1.0-h2466b09_3.conda @@ -1301,14 +1297,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/43/80/0b5a2dfcf5b4da27b0b68d2833f05d77e1a374d43db951fca200a1f12a52/xgboost-2.1.4-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . ci-sklearn13: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -1533,7 +1527,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -1691,7 +1685,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -1849,7 +1843,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py310h458dff3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda @@ -2022,14 +2016,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . ci-sklearn14: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -2249,7 +2241,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -2402,7 +2394,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -2555,7 +2547,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py311h71c1bcc_0.conda @@ -2719,14 +2711,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . ci-sklearn15: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -2920,7 +2910,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/backports.zstd-1.3.0-py312h6917036_0.conda @@ -3041,7 +3031,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/backports.zstd-1.3.0-py312h44dc372_0.conda @@ -3161,7 +3151,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py312h06d0912_0.conda @@ -3310,14 +3300,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . ci-sklearn16: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -3536,7 +3524,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -3690,7 +3678,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -3844,7 +3832,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py313h2a31948_0.conda @@ -4009,14 +3997,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . ci-sklearn17: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -4235,7 +4221,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -4389,7 +4375,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda @@ -4543,7 +4529,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py313h2a31948_0.conda @@ -4708,14 +4694,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . ci-sklearn18: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -4908,7 +4892,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -5030,7 +5014,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -5151,7 +5135,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -5301,15 +5285,13 @@ environments: - pypi: https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . default: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - https://pypi.anaconda.org/scientific-python-nightly-wheels/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -5540,7 +5522,7 @@ environments: - pypi: https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/scipy/1.18.0.dev0/scipy-1.18.0.dev0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/79/98/679de17c2caa4fd3b0b4386ecf7377301702cb0afb22930a07c142fcb1d8/xgboost-3.2.0-py3-none-manylinux_2_28_x86_64.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda @@ -5700,7 +5682,7 @@ environments: - pypi: https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/scipy/1.18.0.dev0/scipy-1.18.0.dev0-cp314-cp314-macosx_10_15_x86_64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2d/49/6e4cdd877c24adf56cb3586bc96d93d4dcd780b5ea1efb32e1ee0de08bae/xgboost-3.2.0-py3-none-macosx_10_15_x86_64.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda @@ -5859,7 +5841,7 @@ environments: - pypi: https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/scipy/1.18.0.dev0/scipy-1.18.0.dev0-cp314-cp314-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/f1/c09ef1add609453aa3ba5bafcd0d1c1a805c1263c0b60138ec968f8ec296/xgboost-3.2.0-py3-none-macosx_12_0_arm64.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda @@ -6046,14 +6028,12 @@ environments: - pypi: https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/scipy/1.18.0.dev0/scipy-1.18.0.dev0-cp314-cp314-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/3d/1661dd114a914a67e3f7ab66fa1382e7599c2a8c340f314ad30a3e2b4d08/xgboost-3.2.0-py3-none-win_amd64.whl - - pypi: ./ + - pypi: . docs: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -6239,7 +6219,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda @@ -6355,7 +6335,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda @@ -6470,7 +6450,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda @@ -6615,14 +6595,12 @@ environments: - pypi: https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . lint: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -6678,7 +6656,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/0b/2e/7eea398450457ecb54e18e9d10110993fa65561c4f3add5e8eccd2b9cd41/scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . osx-64: - conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h500dc9f_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda @@ -6728,7 +6706,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/cf/83/333afb452af6f0fd70414dc04f898647ee1423979ce02efa75c3b0f2c28e/scipy-1.17.1-cp314-cp314-macosx_10_14_x86_64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . osx-arm64: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda @@ -6777,7 +6755,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/ed/a6/d05a85fd51daeb2e4ea71d102f15b34fedca8e931af02594193ae4fd25f7/scipy-1.17.1-cp314-cp314-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . win-64: - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda @@ -6827,7 +6805,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/4b/39/f0e8ea762a764a9dc52aa7dabcfad51a354819de1f0d4652b6a1122424d6/scipy-1.17.1-cp314-cp314-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl - - pypi: ./ + - pypi: . packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda build_number: 20 @@ -25170,7 +25148,7 @@ packages: sha256: 8bbfe4fedc151b83a52edbf0de945fd94358b09a81998f2945ad330fd5f20cd6 requires_dist: - numpy - - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' @@ -25190,7 +25168,7 @@ packages: sha256: 78d88da184562deff25c820d943420342014dd55e0f4c017cc4563c2148df5ee requires_dist: - numpy - - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' @@ -25210,7 +25188,7 @@ packages: sha256: 8df6da72963969ab2bf49a520c3e147b1e15cbeddd3aa0e3e039b3532c739339 requires_dist: - numpy - - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' @@ -25230,7 +25208,7 @@ packages: sha256: 523db01d4e74b05c61a985028bde88a4dd380eadc97209310621996d7d5d14a7 requires_dist: - numpy - - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_machine != 'aarch64' and platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' @@ -25250,7 +25228,7 @@ packages: sha256: 0d169736fd836fc13646c7ab787167b3a8110351c2c6bc770c755ee1618f0442 requires_dist: - numpy - - nvidia-nccl-cu12 ; sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' @@ -25269,7 +25247,7 @@ packages: sha256: 2f661966d3e322536d9c448090a870fcba1e32ee5760c10b7c46bac7a342079a requires_dist: - numpy - - nvidia-nccl-cu12 ; sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' @@ -25288,7 +25266,7 @@ packages: sha256: 99b4a6bbcb47212fec5cf5fbe12347215f073c08967431b0122cfbd1ee70312c requires_dist: - numpy - - nvidia-nccl-cu12 ; sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' @@ -25307,7 +25285,7 @@ packages: sha256: eabbd40d474b8dbf6cb3536325f9150b9e6f0db32d18de9914fb3227d0bef5b7 requires_dist: - numpy - - nvidia-nccl-cu12 ; sys_platform == 'linux' + - nvidia-nccl-cu12 ; platform_system == 'Linux' - scipy - dask ; extra == 'dask' - distributed ; extra == 'dask' diff --git a/skops/card/_markup.py b/skops/card/_markup.py index 39df0340..2e42a25c 100644 --- a/skops/card/_markup.py +++ b/skops/card/_markup.py @@ -5,7 +5,7 @@ import sys from collections.abc import Mapping from contextlib import contextmanager -from typing import Any +from typing import Any, Sequence from skops.card._model_card import TableSection @@ -258,7 +258,7 @@ def _table(self, item) -> str: # pandoc < 2.5 columns, body = self._table_old(item) - table: Mapping[str, list[Any]] + table: Mapping[str, Sequence[Any]] if not body: table = {key: [] for key in columns} else: diff --git a/skops/io/_audit.py b/skops/io/_audit.py index 435eb2be..1659395a 100644 --- a/skops/io/_audit.py +++ b/skops/io/_audit.py @@ -2,7 +2,7 @@ import io from contextlib import contextmanager -from typing import Any, Generator, Iterable, Type, Union +from typing import Any, Generator, Iterable, Sequence, Type, Union from ._protocol import PROTOCOL from ._utils import LoadContext, get_module, get_type_paths @@ -135,7 +135,8 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: Sequence[str] | None = None, + memoize: bool = True, ) -> None: self.class_name, self.module_name = state["__class__"], state["__module__"] self._is_safe = None @@ -172,8 +173,8 @@ def _construct(self): @staticmethod def _get_trusted( - trusted: list[str | Type] | None, - default: list[str | Type], + trusted: Sequence[str] | None, + default: Sequence[str | type[Any]], ) -> list[str]: """Return a trusted list, or True. @@ -278,7 +279,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: Sequence[str] | None = None, ): # we pass memoize as False because we don't want to memoize the cached # node. @@ -302,7 +303,7 @@ def _construct(self): def get_tree( state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None, + trusted: Sequence[str] | None, ) -> Node: """Get the tree of nodes. diff --git a/skops/io/_general.py b/skops/io/_general.py index 4ee7e925..ec4b6247 100644 --- a/skops/io/_general.py +++ b/skops/io/_general.py @@ -62,7 +62,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [dict, "collections.OrderedDict"]) @@ -102,7 +102,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = ["collections.defaultdict"] @@ -138,7 +138,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [list]) @@ -170,7 +170,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [set]) @@ -202,7 +202,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [tuple]) @@ -249,7 +249,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: what do we trust? @@ -293,7 +293,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: should we trust anything? @@ -334,7 +334,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: what do we trust? @@ -369,7 +369,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [slice]) @@ -449,7 +449,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.children = { @@ -467,7 +467,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) @@ -528,7 +528,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) obj = get_tree(state["content"]["obj"], load_context, trusted=trusted) @@ -572,7 +572,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.content = state["content"] @@ -625,7 +625,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [bytes]) @@ -646,7 +646,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.trusted = self._get_trusted(trusted, [bytearray]) @@ -676,7 +676,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) if self.module_name != "operator": diff --git a/skops/io/_persist.py b/skops/io/_persist.py index a7e0dc06..69a68e08 100644 --- a/skops/io/_persist.py +++ b/skops/io/_persist.py @@ -113,7 +113,7 @@ def dumps( return buffer.getbuffer().tobytes() -def load(file: str | Path, trusted: list[str | type[Any]] | None = None) -> Any: +def load(file: str | Path, trusted: list[str] | None = None) -> Any: """Load an object saved with the skops persistence format. Skops aims at providing a secure persistence feature that does not rely on @@ -154,7 +154,7 @@ def load(file: str | Path, trusted: list[str | type[Any]] | None = None) -> Any: return instance -def loads(data: bytes, trusted: list[str | type[Any]] | None = None) -> Any: +def loads(data: bytes, trusted: list[str] | None = None) -> Any: """Load an object saved with the skops persistence format from a bytes object. diff --git a/skops/io/_scipy.py b/skops/io/_scipy.py index 3c85494b..6c8ff4dd 100644 --- a/skops/io/_scipy.py +++ b/skops/io/_scipy.py @@ -38,7 +38,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) self.type = state["type"] diff --git a/skops/io/old/_general_v0.py b/skops/io/old/_general_v0.py index 7408a4a4..1830925a 100644 --- a/skops/io/old/_general_v0.py +++ b/skops/io/old/_general_v0.py @@ -14,7 +14,7 @@ def __init__( self, state: dict[str, Any], load_context: LoadContext, - trusted: list[str | type[Any]] | None = None, + trusted: list[str] | None = None, ) -> None: super().__init__(state, load_context, trusted) # TODO: what do we trust? From f60698ba775e9df06d3f7f74475716b61cce5885 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 16:48:34 +0000 Subject: [PATCH 4/4] Fix mypy error in _markup.py: convert zip tuples to lists for TableSection Agent-Logs-Url: https://github.com/skops-dev/skops/sessions/a2d564ab-8480-4cf3-a437-c6f9b8146f08 Co-authored-by: adrinjalali <1663864+adrinjalali@users.noreply.github.com> --- skops/card/_markup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/skops/card/_markup.py b/skops/card/_markup.py index 2e42a25c..d97bac7c 100644 --- a/skops/card/_markup.py +++ b/skops/card/_markup.py @@ -5,7 +5,7 @@ import sys from collections.abc import Mapping from contextlib import contextmanager -from typing import Any, Sequence +from typing import Any from skops.card._model_card import TableSection @@ -258,13 +258,13 @@ def _table(self, item) -> str: # pandoc < 2.5 columns, body = self._table_old(item) - table: Mapping[str, Sequence[Any]] + table: Mapping[str, list[Any]] if not body: table = {key: [] for key in columns} else: # body is row oriented, transpose to column oriented data_transposed = zip(*body) - table = {key: val for key, val in zip(columns, data_transposed)} + table = {key: list(val) for key, val in zip(columns, data_transposed)} res = TableSection(title="", content="", table=table).format() return res