Data Structures#

The frouros.utils.data_structures module contains auxiliary data structures classes or exceptions.

Data structures module.

exception frouros.utils.data_structures.EmptyQueueError(*args: Tuple[Any, ...], msg: str = 'Queue is empty.', **kwargs: dict[str, dict[str, Any]])#

Empty queue exception.

Parameters:
  • args (Tuple[Any, ...]) – exception arguments

  • msg (str) – exception message, defaults to “Queue is empty.”

  • kwargs (dict[str, dict[str, Any]]) – exception keyword arguments

class frouros.utils.data_structures.CircularQueue(max_len: int)#

Class representing a circular queue.

Parameters:

max_len (int) – maximum capacity

property count: int#

Number of total elements property.

Returns:

Number of total elements

Return type:

int

property first: int#

First queue index property.

Returns:

first queue index

Return type:

int

property last: int#

Last queue index property.

Returns:

last queue index

Return type:

int

property max_len: int#

Maximum number of allowed elements property.

Returns:

maximum number of allowed elements

Return type:

int

property queue: list[Any | None]#

Queue property.

Returns:

queue

Return type:

list[Optional[Any]]

property size: int#

Number of current elements property.

Returns:

Number of current elements

Return type:

int

clear() None#

Clear queue.

dequeue() Any#

Dequeue oldest element.

Return type:

value: Any

Raises:

EmptyQueue – Empty queue error exception

enqueue(value: ndarray | int | float) Any | None#

Enqueue element/s.

Parameters:

value (Union[np.ndarray, float]) – value to be enqueued

Return element:

dequeued element

Return type:

Optional[Any]

is_empty() bool#

Check if queue is empty.

Returns:

check if queue is empty

Return type:

bool

is_full() bool#

Check if queue is full.

Returns:

check if queue is full

Return type:

bool

maintain_last_element() None#

Clear all elements except the last one.

class frouros.utils.data_structures.AccuracyQueue(max_len: int)#

Class representing an accuracy queue.

Parameters:

max_len (int) – maximum capacity

property num_false: int#

Number of false label property.

Returns:

number of false labels

Return type:

int

property num_true: int#

Number of true label property.

Returns:

number of true labels

Return type:

int

clear() None#

Clear queue.

dequeue() bool#

Dequeue oldest element.

:return oldest element :rtype: bool :raises EmptyQueue: Empty queue error exception

enqueue(value: ndarray | float) None#

Enqueue element/s.

Parameters:

value (Union[np.ndarray, float]) – value to be enqueued