From 87a66e62395c076c2497ce2813bb4c98da53ee0f Mon Sep 17 00:00:00 2001 From: Laurent Perron Date: Mon, 28 Jul 2025 10:34:20 -0700 Subject: [PATCH] update python typing --- ortools/linear_solver/python/model_builder.py | 3 ++- ortools/linear_solver/python/model_builder_numbers.py | 3 ++- ortools/linear_solver/python/model_builder_test.py | 11 ++++++----- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ortools/linear_solver/python/model_builder.py b/ortools/linear_solver/python/model_builder.py index 0b59c665fc..ff7e345bf8 100644 --- a/ortools/linear_solver/python/model_builder.py +++ b/ortools/linear_solver/python/model_builder.py @@ -32,10 +32,11 @@ Other methods and functions listed are primarily used for developing OR-Tools, rather than for solving specific optimization problems. """ +from collections.abc import Callable import math import numbers import typing -from typing import Callable, Optional, Union +from typing import Optional, Union import numpy as np import pandas as pd diff --git a/ortools/linear_solver/python/model_builder_numbers.py b/ortools/linear_solver/python/model_builder_numbers.py index 21131378c9..02de2e9f5d 100644 --- a/ortools/linear_solver/python/model_builder_numbers.py +++ b/ortools/linear_solver/python/model_builder_numbers.py @@ -13,8 +13,9 @@ """helpers methods for the cp_model_builder module on numbers.""" +from collections.abc import Sequence import numbers -from typing import Any, Sequence, Union +from typing import Any, Union import numpy as np import numpy.typing as npt diff --git a/ortools/linear_solver/python/model_builder_test.py b/ortools/linear_solver/python/model_builder_test.py index 78a3406755..6f1dc1a681 100644 --- a/ortools/linear_solver/python/model_builder_test.py +++ b/ortools/linear_solver/python/model_builder_test.py @@ -12,9 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +from collections.abc import Callable, Mapping import math import sys -from typing import Any, Callable, Dict, Mapping, Union +from typing import Any, Union from absl.testing import absltest from absl.testing import parameterized @@ -30,7 +31,7 @@ from ortools.linear_solver.python import model_builder as mb from ortools.linear_solver.python import model_builder_helper as mbh -def build_dict(expr: mb.LinearExprT) -> Dict[mbh.Variable, float]: +def build_dict(expr: mb.LinearExprT) -> dict[mbh.Variable, float]: res = {} flat_expr = mbh.FlatExpr(expr) for var, coeff in zip(flat_expr.vars, flat_expr.coeffs): @@ -1858,7 +1859,7 @@ class SolverTest(parameterized.TestCase): ) def test_solve_status( self, - solver: Dict[str, Union[str, Mapping[str, Any], bool]], + solver: dict[str, Union[str, Mapping[str, Any], bool]], variable_indices: pd.Index, variable_bound: float, solve_status: mb.SolveStatus, @@ -1934,7 +1935,7 @@ class SolverTest(parameterized.TestCase): ) def test_get_variable_values( self, - solver: Dict[str, Union[str, Mapping[str, Any], bool]], + solver: dict[str, Union[str, Mapping[str, Any], bool]], variable_indices: pd.Index, variable_bound: float, solve_status: mb.SolveStatus, @@ -2012,7 +2013,7 @@ class SolverTest(parameterized.TestCase): ) def test_get_objective_value( self, - solver: Dict[str, Union[str, Mapping[str, Any], bool]], + solver: dict[str, Union[str, Mapping[str, Any], bool]], variable_indices: pd.Index, variable_bound: float, solve_status: mb.SolveStatus,