# Path: tensorflow_decision_forests/component/py_tree/dataspec.py
# OUT_OF_DICTIONARY = "<OOD>"
# class SimpleColumnSpec(NamedTuple):
#   def __repr__(self):
# def make_simple_column_spec(dataspec: data_spec_pb2.DataSpecification,
#                             col_idx: int) -> SimpleColumnSpec:
# def categorical_value_idx_to_value(column_spec: data_spec_pb2.Column,
#                                    value_idx: int) -> Union[int, str]:
# def categorical_column_dictionary_to_list(
#     column_spec: data_spec_pb2.Column) -> List[str]:
# def label_value_idx_to_value(column_spec: data_spec_pb2.Column,
#                              value_idx: int) -> Union[int, str]:
# def discretized_numerical_to_numerical(column_spec: data_spec_pb2.Column,
#                                        value: int) -> float:
# def column_name_to_column_idx(name: str,
#                               dataspec: data_spec_pb2.DataSpecification) -> int:


import abc
import six
from typing import List, Union, Optional
from tensorflow_decision_forests.component.py_tree import dataspec as dataspec_lib
from yggdrasil_decision_forests.dataset import data_spec_pb2
from yggdrasil_decision_forests.model.decision_tree import decision_tree_pb2
# Copyright 2021 Google LLC.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Conditions / splits for non-leaf nodes.

A condition (e.g. a>0.5) is evaluated to a binary value (e.g. True if a=5).
Condition evaluations control the branching of an example in a tree.
"""




ColumnType = data_spec_pb2.ColumnType

# Path: tensorflow_decision_forests/component/py_tree/dataspec.py
# OUT_OF_DICTIONARY = "<OOD>"
# class SimpleColumnSpec(NamedTuple):
#   def __repr__(self):
# def make_simple_column_spec(dataspec: data_spec_pb2.DataSpecification,
#                             col_idx: int) -> SimpleColumnSpec:
# def categorical_value_idx_to_value(column_spec: data_spec_pb2.Column,
#                                    value_idx: int) -> Union[int, str]:
# def categorical_column_dictionary_to_list(
#     column_spec: data_spec_pb2.Column) -> List[str]:
# def label_value_idx_to_value(column_spec: data_spec_pb2.Column,
#                              value_idx: int) -> Union[int, str]:
# def discretized_numerical_to_numerical(column_spec: data_spec_pb2.Column,
#                                        value: int) -> float:
# def column_name_to_column_idx(name: str,
#                               dataspec: data_spec_pb2.DataSpecification) -> int:


# Path: tensorflow_decision_forests/component/py_tree/condition.py
import abc
import six
from typing import List, Union, Optional
from tensorflow_decision_forests.component.py_tree import dataspec as dataspec_lib
from yggdrasil_decision_forests.dataset import data_spec_pb2
from yggdrasil_decision_forests.model.decision_tree import decision_tree_pb2

# Copyright 2021 Google LLC.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Conditions / splits for non-leaf nodes.

A condition (e.g. a>0.5) is evaluated to a binary value (e.g. True if a=5).
Condition evaluations control the branching of an example in a tree.
"""




ColumnType = data_spec_pb2.ColumnType

SimpleColumnSpec = dataspec_lib.SimpleColumnSpec