Files
NexQuant/rdagent/core/task.py
T
Xu Yang a126c84c92 Refine all the implementation code to higher quality for release (#29)
* refine CI script

* refine all the code to higher quality

* refine the script to factor extraction and implementation

* add task loader interface

* add a task loader interface && move pdf analysis to pdf task loader

* change the name to global variables

---------

Co-authored-by: xuyang1 <xuyang1@microsoft.com>
2024-06-18 11:50:03 +08:00

38 lines
894 B
Python

from abc import ABC, abstractmethod
from typing import Tuple
import pandas as pd
"""
This file contains the all the data class for rdagent task.
"""
class BaseTask(ABC):
# 把name放在这里作为主键
pass
class TaskImplementation(ABC):
def __init__(self, target_task: BaseTask) -> None:
self.target_task = target_task
@abstractmethod
def execute(self, *args, **kwargs) -> Tuple[str, pd.DataFrame]:
raise NotImplementedError("__call__ method is not implemented.")
class TestCase:
def __init__(
self,
target_task: BaseTask,
ground_truth: TaskImplementation,
):
self.ground_truth = ground_truth
self.target_task = target_task
class TaskLoader:
@abstractmethod
def load(self, *args, **kwargs) -> BaseTask | list[BaseTask]:
raise NotImplementedError("load method is not implemented.")