Source code for alts.core.query.queryable
#Version 1.1.1 conform as of 29.11.2024
"""
*alts.core.query.queryable*
"""
from __future__ import annotations
from dataclasses import dataclass
from typing import TYPE_CHECKING, Protocol
from abc import abstractmethod, abstractproperty
from alts.core.configuration import Configurable, Required, is_set
from alts.core.data.constrains import Constrained, QueryConstrain, ResultConstrain, QueryConstrainedGetter, ResultConstrainGetter
if TYPE_CHECKING:
from typing_extensions import Self
from typing import Tuple, List, Protocol
from nptyping import NDArray, Shape, Number
[docs]
class Queryable(Constrained):
"""
Queryable()
| **Description**
| A Queryable module can be queried for results.
"""
[docs]
@abstractmethod
def query(self, queries: NDArray[Shape["query_nr, ... query_shape"], Number]) -> Tuple[NDArray[Shape["query_nr, ... query_shape"], Number], NDArray[Shape["query_nr, ... result_shape"], Number]]: # type: ignore
"""
query(self, queries) -> data_points
| **Description**
| For a list of queries it returns a list of queries with associated results.
:param queries: A list of queries
:type queries: `NDArray <https://numpy.org/doc/stable/reference/arrays.ndarray.html>`_
:return: A tuple of queries and their results
:rtype: Tuple[`NDArray <https://numpy.org/doc/stable/reference/arrays.ndarray.html>`_,`NDArray <https://numpy.org/doc/stable/reference/arrays.ndarray.html>`_]
"""
raise NotImplementedError()