Module astrapy.data.cursors.pagination
Expand source code
# Copyright DataStax, Inc.
#
# 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
#
# http://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 __future__ import annotations
from dataclasses import dataclass
from typing import Generic
from astrapy.data.cursors.cursor import TRAW
from astrapy.data_types import DataAPIVector
@dataclass
class FindPage(Generic[TRAW]):
"""
A whole pageful of results from a find operation. This object represents
the form taken by the returned items when using the pagination interface
explicitly.
Attributes:
results: the list of entries obtained on the retrieved page (possibly
after applying a mapping function, if one is specified in the cursor).
next_page_state: a string encoding the pagination state. If the find
operation does not admit any further page, this is returned as None.
Otherwise, its value can be used to resume consuming the `find`
results on another cursor instantiated independently later on.
sort_vector: if the find operation was done with the "include
sort vector" flag set to True, and the sort criterion is a vector sorting,
this contains the query vector used for the search. The query vector is
expressed as a list of floats or a DataAPIVector depending on the serdes
settings for the collection/table that originated the cursor.
If not applicable, this attribute is returned as None.
"""
results: list[TRAW]
next_page_state: str | None
sort_vector: list[float] | DataAPIVector | None
def __repr__(self) -> str:
pieces = [
pc
for pc in (
f"results=<{len(self.results)} entries>",
"next_page_state=..." if self.next_page_state else None,
"sort_vector=..." if self.sort_vector else None,
)
if pc is not None
]
return f"{self.__class__.__name__}({', '.join(pieces)})"
@dataclass
class FindAndRerankPage(Generic[TRAW]):
"""
A whole pageful of results from a findAndRerank operation. This object represents
the form taken by the returned items when using the pagination interface
explicitly.
Attributes:
results: the list of entries obtained on the retrieved page (possibly
after applying a mapping function, if one is specified in the cursor).
In absence of mapping functions, this is a list of RerankedResult objects.
next_page_state: a string encoding the pagination state. If the find-and-rerank
operation does not admit any further page, this is returned as None.
Otherwise, its value can be used to resume consuming the `find_and_rerank`
results on another cursor instantiated independently later on.
sort_vector: if the find-and-rerank operation was done with the "include
sort vector" flag set to True, and the sort criterion is a vector sorting,
this contains the query vector used for the search. The query vector is
expressed as a list of floats or a DataAPIVector depending on the serdes
settings for the collection/table that originated the cursor.
If not applicable, this attribute is returned as None.
"""
results: list[TRAW]
next_page_state: str | None
sort_vector: list[float] | DataAPIVector | None
def __repr__(self) -> str:
pieces = [
pc
for pc in (
f"results=<{len(self.results)} entries>",
"next_page_state=..." if self.next_page_state else None,
"sort_vector=..." if self.sort_vector else None,
)
if pc is not None
]
return f"{self.__class__.__name__}({', '.join(pieces)})"
Classes
class FindAndRerankPage (results: list[TRAW], next_page_state: str | None, sort_vector: list[float] | DataAPIVector | None)
-
A whole pageful of results from a findAndRerank operation. This object represents the form taken by the returned items when using the pagination interface explicitly.
Attributes
results
- the list of entries obtained on the retrieved page (possibly after applying a mapping function, if one is specified in the cursor). In absence of mapping functions, this is a list of RerankedResult objects.
next_page_state
- a string encoding the pagination state. If the find-and-rerank
operation does not admit any further page, this is returned as None.
Otherwise, its value can be used to resume consuming the
find_and_rerank
results on another cursor instantiated independently later on. sort_vector
- if the find-and-rerank operation was done with the "include sort vector" flag set to True, and the sort criterion is a vector sorting, this contains the query vector used for the search. The query vector is expressed as a list of floats or a DataAPIVector depending on the serdes settings for the collection/table that originated the cursor. If not applicable, this attribute is returned as None.
Expand source code
@dataclass class FindAndRerankPage(Generic[TRAW]): """ A whole pageful of results from a findAndRerank operation. This object represents the form taken by the returned items when using the pagination interface explicitly. Attributes: results: the list of entries obtained on the retrieved page (possibly after applying a mapping function, if one is specified in the cursor). In absence of mapping functions, this is a list of RerankedResult objects. next_page_state: a string encoding the pagination state. If the find-and-rerank operation does not admit any further page, this is returned as None. Otherwise, its value can be used to resume consuming the `find_and_rerank` results on another cursor instantiated independently later on. sort_vector: if the find-and-rerank operation was done with the "include sort vector" flag set to True, and the sort criterion is a vector sorting, this contains the query vector used for the search. The query vector is expressed as a list of floats or a DataAPIVector depending on the serdes settings for the collection/table that originated the cursor. If not applicable, this attribute is returned as None. """ results: list[TRAW] next_page_state: str | None sort_vector: list[float] | DataAPIVector | None def __repr__(self) -> str: pieces = [ pc for pc in ( f"results=<{len(self.results)} entries>", "next_page_state=..." if self.next_page_state else None, "sort_vector=..." if self.sort_vector else None, ) if pc is not None ] return f"{self.__class__.__name__}({', '.join(pieces)})"
Ancestors
- typing.Generic
Class variables
var next_page_state : str | None
var results : list[~TRAW]
var sort_vector : list[float] | DataAPIVector | None
class FindPage (results: list[TRAW], next_page_state: str | None, sort_vector: list[float] | DataAPIVector | None)
-
A whole pageful of results from a find operation. This object represents the form taken by the returned items when using the pagination interface explicitly.
Attributes
results
- the list of entries obtained on the retrieved page (possibly after applying a mapping function, if one is specified in the cursor).
next_page_state
- a string encoding the pagination state. If the find
operation does not admit any further page, this is returned as None.
Otherwise, its value can be used to resume consuming the
find
results on another cursor instantiated independently later on. sort_vector
- if the find operation was done with the "include sort vector" flag set to True, and the sort criterion is a vector sorting, this contains the query vector used for the search. The query vector is expressed as a list of floats or a DataAPIVector depending on the serdes settings for the collection/table that originated the cursor. If not applicable, this attribute is returned as None.
Expand source code
@dataclass class FindPage(Generic[TRAW]): """ A whole pageful of results from a find operation. This object represents the form taken by the returned items when using the pagination interface explicitly. Attributes: results: the list of entries obtained on the retrieved page (possibly after applying a mapping function, if one is specified in the cursor). next_page_state: a string encoding the pagination state. If the find operation does not admit any further page, this is returned as None. Otherwise, its value can be used to resume consuming the `find` results on another cursor instantiated independently later on. sort_vector: if the find operation was done with the "include sort vector" flag set to True, and the sort criterion is a vector sorting, this contains the query vector used for the search. The query vector is expressed as a list of floats or a DataAPIVector depending on the serdes settings for the collection/table that originated the cursor. If not applicable, this attribute is returned as None. """ results: list[TRAW] next_page_state: str | None sort_vector: list[float] | DataAPIVector | None def __repr__(self) -> str: pieces = [ pc for pc in ( f"results=<{len(self.results)} entries>", "next_page_state=..." if self.next_page_state else None, "sort_vector=..." if self.sort_vector else None, ) if pc is not None ] return f"{self.__class__.__name__}({', '.join(pieces)})"
Ancestors
- typing.Generic
Class variables
var next_page_state : str | None
var results : list[~TRAW]
var sort_vector : list[float] | DataAPIVector | None