aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/cli/options.py
diff options
context:
space:
mode:
authorDmitrii Agibov <dmitrii.agibov@arm.com>2022-09-08 14:24:39 +0100
committerDmitrii Agibov <dmitrii.agibov@arm.com>2022-09-09 17:21:48 +0100
commitf5b293d0927506c2a979a091bf0d07ecc78fa181 (patch)
tree4de585b7cb6ed34da8237063752270189a730a41 /src/mlia/cli/options.py
parentcde0c6ee140bd108849bff40467d8f18ffc332ef (diff)
downloadmlia-f5b293d0927506c2a979a091bf0d07ecc78fa181.tar.gz
MLIA-386 Simplify typing in the source code
- Enable deferred annotations evaluation - Use builtin types for type hints whenever possible - Use | syntax for union types - Rename mlia.core._typing into mlia.core.typing Change-Id: I3f6ffc02fa069c589bdd9e8bddbccd504285427a
Diffstat (limited to 'src/mlia/cli/options.py')
-rw-r--r--src/mlia/cli/options.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mlia/cli/options.py b/src/mlia/cli/options.py
index 29a0d89..3f0dc1f 100644
--- a/src/mlia/cli/options.py
+++ b/src/mlia/cli/options.py
@@ -1,13 +1,12 @@
# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates.
# SPDX-License-Identifier: Apache-2.0
"""Module for the CLI options."""
+from __future__ import annotations
+
import argparse
from pathlib import Path
from typing import Any
from typing import Callable
-from typing import Dict
-from typing import List
-from typing import Optional
from mlia.cli.config import get_available_backends
from mlia.cli.config import get_default_backends
@@ -17,7 +16,7 @@ from mlia.utils.types import is_number
def add_target_options(
- parser: argparse.ArgumentParser, profiles_to_skip: Optional[List[str]] = None
+ parser: argparse.ArgumentParser, profiles_to_skip: list[str] | None = None
) -> None:
"""Add target specific options."""
target_profiles = get_supported_profile_names()
@@ -217,8 +216,8 @@ def parse_optimization_parameters(
optimization_type: str,
optimization_target: str,
sep: str = ",",
- layers_to_optimize: Optional[List[str]] = None,
-) -> List[Dict[str, Any]]:
+ layers_to_optimize: list[str] | None = None,
+) -> list[dict[str, Any]]:
"""Parse provided optimization parameters."""
if not optimization_type:
raise Exception("Optimization type is not provided")
@@ -250,7 +249,7 @@ def parse_optimization_parameters(
return optimizer_params
-def get_target_profile_opts(device_args: Optional[Dict]) -> List[str]:
+def get_target_profile_opts(device_args: dict | None) -> list[str]:
"""Get non default values passed as parameters for the target profile."""
if not device_args:
return []
@@ -270,7 +269,7 @@ def get_target_profile_opts(device_args: Optional[Dict]) -> List[str]:
if arg_name in args and vars(args)[arg_name] != arg_value
]
- def construct_param(name: str, value: Any) -> List[str]:
+ def construct_param(name: str, value: Any) -> list[str]:
"""Construct parameter."""
if isinstance(value, list):
return [str(item) for v in value for item in [name, v]]