Skip to content

Commit 1fb0641

Browse files
authored
[PyOV] Deprecate openvino.Type.undefined (#29020)
### Details: - to be merged after: #28766 ### Tickets: - [CVS-161723](https://jira.devtools.intel.com/browse/CVS-161723)
1 parent 9980e86 commit 1fb0641

File tree

6 files changed

+27
-9
lines changed

6 files changed

+27
-9
lines changed

src/bindings/python/src/openvino/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@
3939
from openvino._pyopenvino import PartialShape
4040
from openvino._pyopenvino import Shape
4141
from openvino._pyopenvino import Layout
42-
from openvino._pyopenvino import Type
4342
from openvino._pyopenvino import Tensor
43+
from openvino._pyopenvino import Type
4444
from openvino._pyopenvino import OVAny
4545
from openvino._pyopenvino import get_batch
4646
from openvino._pyopenvino import set_batch

src/bindings/python/src/openvino/_ov_api.py

+18-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
# SPDX-License-Identifier: Apache-2.0
44

55
from types import TracebackType
6-
from typing import Any, Iterable, Union, Optional, Dict, Tuple, Type, List
6+
from typing import Any, Iterable, Union, Optional, Dict, Tuple, List
7+
from typing import Type as TypingType
78
from pathlib import Path
89

910

@@ -12,14 +13,15 @@
1213
from openvino._pyopenvino import CompiledModel as CompiledModelBase
1314
from openvino._pyopenvino import AsyncInferQueue as AsyncInferQueueBase
1415
from openvino._pyopenvino import Op as OpBase
15-
from openvino._pyopenvino import Node, Output, Tensor
16+
from openvino._pyopenvino import Node, Output, Tensor, Type
1617

1718
from openvino.utils.data_helpers import (
1819
OVDict,
1920
_InferRequestWrapper,
2021
_data_dispatch,
2122
tensor_from_file,
2223
)
24+
from openvino.package_utils import deprecatedclassproperty
2325

2426

2527
class Op(OpBase):
@@ -76,7 +78,7 @@ def __deepcopy__(self, memo: Dict) -> "Model":
7678
def __enter__(self) -> "Model":
7779
return self
7880

79-
def __exit__(self, exc_type: Type[BaseException], exc_value: BaseException, traceback: TracebackType) -> None:
81+
def __exit__(self, exc_type: TypingType[BaseException], exc_value: BaseException, traceback: TracebackType) -> None:
8082
del self.__model
8183
self.__model = None
8284

@@ -695,3 +697,16 @@ def compile_model(
695697
if isinstance(model, Model):
696698
model = model._Model__model
697699
return core.compile_model(model, device_name, {} if config is None else config)
700+
701+
702+
@deprecatedclassproperty(
703+
name="openvino.Type.undefined", # noqa: N802, N805
704+
version="2026.0",
705+
message="Please use openvino.Type.dynamic instead.",
706+
stacklevel=2,
707+
)
708+
def undefined_deprecated(self): # type: ignore
709+
return Type.dynamic
710+
711+
712+
Type.undefined = undefined_deprecated

src/bindings/python/src/pyopenvino/graph/types/element_type.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@ void regclass_graph_Type(py::module m) {
2828
:param dtype: numpy dtype
2929
:type dtype: numpy.dtype
3030
:return: OpenVINO type object
31-
:rtype: ov.Type
31+
:rtype: openvino.Type
3232
)");
3333

34-
type.attr("undefined") = ov::element::dynamic;
3534
type.attr("dynamic") = ov::element::dynamic;
3635
type.attr("boolean") = ov::element::boolean;
3736
type.attr("f16") = ov::element::f16;

src/bindings/python/tests/test_runtime/test_type.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,11 @@ def test_basic_ovtypes(ovtype,
9191

9292

9393
def test_undefined_ovtype():
94-
ov_type = Type.undefined
94+
with pytest.warns(DeprecationWarning, match="openvino.Type.undefined is deprecated and will be removed in version 2026.0") as w:
95+
ov_type = Type.undefined
96+
assert issubclass(w[0].category, DeprecationWarning)
97+
assert "openvino.Type.undefined is deprecated and will be removed in version 2026.0" in str(w[0].message)
98+
9599
assert ov_type.is_static() is False
96100
assert ov_type.is_dynamic() is True
97101
assert ov_type.is_real() is False

tools/benchmark_tool/openvino/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@
3939
from openvino._pyopenvino import PartialShape
4040
from openvino._pyopenvino import Shape
4141
from openvino._pyopenvino import Layout
42-
from openvino._pyopenvino import Type
4342
from openvino._pyopenvino import Tensor
43+
from openvino._pyopenvino import Type
4444
from openvino._pyopenvino import OVAny
4545
from openvino._pyopenvino import get_batch
4646
from openvino._pyopenvino import set_batch

tools/ovc/openvino/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@
3939
from openvino._pyopenvino import PartialShape
4040
from openvino._pyopenvino import Shape
4141
from openvino._pyopenvino import Layout
42-
from openvino._pyopenvino import Type
4342
from openvino._pyopenvino import Tensor
43+
from openvino._pyopenvino import Type
4444
from openvino._pyopenvino import OVAny
4545
from openvino._pyopenvino import get_batch
4646
from openvino._pyopenvino import set_batch

0 commit comments

Comments
 (0)