Skip to content

Output

analora.output

Contain outputs.

analora.output.BaseLazyOutput

Bases: BaseOutput

Define a base class that partially implements the lazy computation logic.

analora.output.BaseOutput

Bases: ABC

Define the base class to implement an output.

Example usage:

>>> from analora.output import Output
>>> from analora.content import ContentGenerator
>>> from analora.evaluator import Evaluator
>>> output = Output(content=ContentGenerator("meow"), evaluator=Evaluator())
>>> output
Output(
  (content): ContentGenerator()
  (evaluator): Evaluator(count=0)
)
>>> output.get_content_generator()
ContentGenerator()
>>> output.get_evaluator()
Evaluator(count=0)

analora.output.BaseOutput.compute abstractmethod

compute() -> BaseOutput

Compute the results and return a new ouptut.

Returns:

Type Description
BaseOutput

A new ouptut with the computed results.

Example usage:

>>> from analora.output import Output
>>> from analora.content import ContentGenerator
>>> from analora.evaluator import Evaluator
>>> output = Output(
...     content=ContentGenerator("meow"), evaluator=Evaluator({"accuracy": 0.42})
... )
>>> out = output.compute()
>>> out
Output(
  (content): ContentGenerator()
  (evaluator): Evaluator(count=1)
)

analora.output.BaseOutput.equal abstractmethod

equal(other: Any, equal_nan: bool = False) -> bool

Indicate if two outputs are equal or not.

Parameters:

Name Type Description Default
other Any

The other output to compare.

required
equal_nan bool

Whether to compare NaN's as equal. If True, NaN's in both objects will be considered equal.

False

Returns:

Type Description
bool

True if the two outputs are equal, otherwise False.

Example usage:

>>> from analora.output import Output
>>> from analora.content import ContentGenerator
>>> from analora.evaluator import Evaluator
>>> output1 = Output(content=ContentGenerator("meow"), evaluator=Evaluator())
>>> output2 = Output(content=ContentGenerator("meow"), evaluator=Evaluator())
>>> output3 = Output(
...     content=ContentGenerator("hello"), evaluator=Evaluator({"accuracy": 0.42})
... )
>>> output1.equal(output2)
True
>>> output1.equal(output3)
False

analora.output.BaseOutput.get_content_generator abstractmethod

get_content_generator(
    lazy: bool = True,
) -> BaseContentGenerator

Get the HTML content generator associated to the output.

Parameters:

Name Type Description Default
lazy bool

If True, it forces the computation of the content, otherwise it returns a content generator object that contains the logic to generate the content.

True

Returns:

Type Description
BaseContentGenerator

The HTML content generator.

Example usage:

>>> from analora.output import Output
>>> from analora.content import ContentGenerator
>>> from analora.evaluator import Evaluator
>>> output = Output(content=ContentGenerator("meow"), evaluator=Evaluator())
>>> output.get_content_generator()
ContentGenerator()

analora.output.BaseOutput.get_evaluator abstractmethod

get_evaluator(lazy: bool = True) -> BaseEvaluator

Get the evaluator associated to the output.

Parameters:

Name Type Description Default
lazy bool

If True, it forces the computation of the metrics, otherwise it returns an evaluator object that contains the logic to evaluate the metrics.

True

Returns:

Type Description
BaseEvaluator

The evaluator.

Example usage:

```pycon

from analora.output import Output from analora.content import ContentGenerator from analora.evaluator import Evaluator output = Output(content=ContentGenerator("meow"), evaluator=Evaluator()) output.get_evaluator() Evaluator(count=0)

analora.output.EmptyOutput

Bases: Output

Implement the accuracy output.

Example usage:

>>> from analora.output import EmptyOutput
>>> output = EmptyOutput()
>>> output
EmptyOutput()
>>> output.get_content_generator()
ContentGenerator()
>>> output.get_evaluator()
Evaluator(count=0)

analora.output.Output

Bases: BaseLazyOutput

Implement a simple output.

Parameters:

Name Type Description Default
content BaseContentGenerator

The HTML content generator.

required
evaluator BaseEvaluator

The evaluator.

required

Example usage:

>>> from analora.output import Output
>>> from analora.content import ContentGenerator
>>> from analora.evaluator import Evaluator
>>> output = Output(content=ContentGenerator("meow"), evaluator=Evaluator())
>>> output
Output(
  (content): ContentGenerator()
  (evaluator): Evaluator(count=0)
)
>>> output.get_content_generator()
ContentGenerator()
>>> output.get_evaluator()
Evaluator(count=0)