Skip to content

Commit

Permalink
[python] Add type hints to helpers/parameter_generator.py (microsoft#…
Browse files Browse the repository at this point in the history
…4474)

* Update parameter_generator.py

* Update parameter_generator.py

* Update parameter_generator.py

* Update parameter_generator.py

* Update parameter_generator.py

* Update parameter_generator.py

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* Update helpers/parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>

* additional hinting fixes

* Update parameter_generator.py

Co-authored-by: James Lamb <jaylamb20@gmail.com>
  • Loading branch information
sagnik1511 and jameslamb authored Jul 24, 2021
1 parent 3be611e commit 55c3815
Showing 1 changed file with 31 additions and 9 deletions.
40 changes: 31 additions & 9 deletions helpers/parameter_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@
from the information in LightGBM/include/LightGBM/config.h file.
"""
from pathlib import Path
from typing import Any, Dict, List, Optional, Tuple


def get_parameter_infos(config_hpp):
def get_parameter_infos(
config_hpp: Path
) -> Tuple[List[Tuple[str, int]], List[List[Dict[str, List]]]]:
"""Parse config header file.
Parameters
Expand All @@ -25,9 +28,9 @@ def get_parameter_infos(config_hpp):
is_inparameter = False
cur_key = None
key_lvl = 0
cur_info = {}
cur_info: Dict[str, List] = {}
keys = []
member_infos = []
member_infos: List[List[Dict[str, List]]] = []
with open(config_hpp) as config_hpp_file:
for line in config_hpp_file:
if "#pragma region Parameters" in line:
Expand Down Expand Up @@ -76,10 +79,13 @@ def get_parameter_infos(config_hpp):
cur_info["name"] = [tokens[1][:-1].strip()]
member_infos[-1].append(cur_info)
cur_info = {}

return keys, member_infos


def get_names(infos):
def get_names(
infos: List[List[Dict[str, List]]]
) -> List[str]:
"""Get names of all parameters.
Parameters
Expand All @@ -99,7 +105,9 @@ def get_names(infos):
return names


def get_alias(infos):
def get_alias(
infos: List[List[Dict[str, List]]]
) -> List[Tuple[str, str]]:
"""Get aliases of all parameters.
Parameters
Expand All @@ -123,7 +131,10 @@ def get_alias(infos):
return pairs


def parse_check(check, reverse=False):
def parse_check(
check: str,
reverse: bool = False
) -> Tuple[str, str]:
"""Parse the constraint.
Parameters
Expand Down Expand Up @@ -151,7 +162,11 @@ def parse_check(check, reverse=False):
return check[idx:], check[:idx]


def set_one_var_from_string(name, param_type, checks):
def set_one_var_from_string(
name: str,
param_type: str,
checks: List[str]
) -> str:
"""Construct code for auto config file for one param value.
Parameters
Expand Down Expand Up @@ -189,7 +204,11 @@ def set_one_var_from_string(name, param_type, checks):
return ret


def gen_parameter_description(sections, descriptions, params_rst):
def gen_parameter_description(
sections: List[Tuple[str, int]],
descriptions: List[List[Dict[str, List]]],
params_rst: Path
) -> None:
"""Write descriptions of parameters to the documentation file.
Parameters
Expand Down Expand Up @@ -251,7 +270,10 @@ def gen_parameter_description(sections, descriptions, params_rst):
new_params_file.write(after)


def gen_parameter_code(config_hpp, config_out_cpp):
def gen_parameter_code(
config_hpp: Path,
config_out_cpp: Path
) -> Tuple[List[Tuple[str, int]], List[List[Dict[str, List]]]]:
"""Generate auto config file.
Parameters
Expand Down

0 comments on commit 55c3815

Please sign in to comment.