• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

georgia-tech-db / eva / #758

04 Sep 2023 08:37PM UTC coverage: 0.0% (-78.3%) from 78.333%
#758

push

circle-ci

hershd23
Increased underline length in at line 75 in text_summarization.rst
	modified:   docs/source/benchmarks/text_summarization.rst

0 of 11303 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/evadb/udfs/decorators/utils.py
1
# coding=utf-8
2
# Copyright 2018-2023 EvaDB
3
#
4
# Licensed under the Apache License, Version 2.0 (the "License");
5
# you may not use this file except in compliance with the License.
6
# You may obtain a copy of the License at
7
#
8
#     http://www.apache.org/licenses/LICENSE-2.0
9
#
10
# Unless required by applicable law or agreed to in writing, software
11
# distributed under the License is distributed on an "AS IS" BASIS,
12
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
# See the License for the specific language governing permissions and
14
# limitations under the License.
15
from typing import List, Type
×
16

17
from evadb.catalog.models.udf_io_catalog import UdfIOCatalogEntry
×
18
from evadb.udfs.abstract.abstract_udf import AbstractUDF
×
19

20

21
def load_io_from_udf_decorators(
×
22
    udf: Type[AbstractUDF], is_input=False
23
) -> List[Type[UdfIOCatalogEntry]]:
24
    """Load the inputs/outputs from the udf decorators and return a list of UdfIOCatalogEntry objects
25

26
    Args:
27
        udf (Object): UDF object
28
        is_input (bool, optional): True if inputs are to be loaded. Defaults to False.
29

30
    Returns:
31
        Type[UdfIOCatalogEntry]: UdfIOCatalogEntry object created from the input decorator in setup
32
    """
33
    tag_key = "input" if is_input else "output"
×
34
    io_signature = None
×
35
    if hasattr(udf.forward, "tags") and tag_key in udf.forward.tags:
×
36
        io_signature = udf.forward.tags[tag_key]
×
37
    else:
38
        # Attempt to populate from the parent class and stop at the first parent class
39
        # where the required tags are found.
40
        for base_class in udf.__bases__:
×
41
            if hasattr(base_class, "forward") and hasattr(base_class.forward, "tags"):
×
42
                if tag_key in base_class.forward.tags:
×
43
                    io_signature = base_class.forward.tags[tag_key]
×
44
                    break
×
45

46
    assert (
×
47
        io_signature is not None
48
    ), f"Cannot infer io signature from the decorator for {udf}."
49

50
    result_list = []
×
51
    for io in io_signature:
×
52
        result_list.extend(io.generate_catalog_entries(is_input))
×
53
    return result_list
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc