feast.field — Feast 0.3.2 documentation

# Source code for feast.field

    # Copyright 2019 The Feast Authors
    #
    # 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.

    from feast.value_type import ValueType

    class Field:
        """
        High level field type. This is the parent type to both entities and
        features.
        """

        def __init__(self, name: str, dtype: ValueType):
            self._name = name
            if not isinstance(dtype, ValueType):
                raise ValueError("dtype is not a valid ValueType")
            self._dtype = dtype

        def __eq__(self, other):
            if self.name != other.name or self.dtype != other.dtype:
                return False
            return True

        @property
        def name(self):
            """
            Getter for name of this field
            """
            return self._name

        @property
        def dtype(self) -> ValueType:
            """
            Getter for data type of this field
            """
            return self._dtype

        def to_proto(self):
            """
            Unimplemented to_proto method for a field. This should be extended.
            """
            pass

        def from_proto(self, proto):
            """
            Unimplemented from_proto method for a field. This should be extended.
            """
            pass