Skip to content

iden.data

iden.data.generator

Contain data generator implementations.

iden.data.generator.BaseDataGenerator

Bases: ABC, Generic[T]

Define the base class to generate data.

Example
>>> from iden.data.generator import DataGenerator
>>> generator = DataGenerator([1, 2, 3])
>>> generator
DataGenerator(copy=False)
>>> generator.generate()
[1, 2, 3]

iden.data.generator.BaseDataGenerator.equal abstractmethod

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

Indicate if two objects are equal or not.

Parameters:

Name Type Description Default
other Any

The object to compare with.

required
equal_nan bool

If True, then two NaNs will be considered equal.

False

Returns:

Type Description
bool

True if the two objects are equal, otherwise False.

Example
>>> from iden.data.generator import DataGenerator
>>> DataGenerator([1, 2, 3]).equal(DataGenerator([1, 2, 3]))
True
>>> DataGenerator([1, 2, 3]).equal(DataGenerator([]))
False

iden.data.generator.BaseDataGenerator.generate abstractmethod

generate() -> T

Generate data.

Returns:

Type Description
T

The generated data.

Example
>>> from iden.data.generator import DataGenerator
>>> generator = DataGenerator([1, 2, 3])
>>> generator.generate()
[1, 2, 3]

iden.data.generator.DataGenerator

Bases: BaseDataGenerator[T]

Implement a simple data generator that wraps existing data.

This generator provides a straightforward way to create data on demand by storing and optionally copying the data when requested.

Parameters:

Name Type Description Default
data T

The data to return.

required
copy bool

If True, it returns a copy of the data, otherwise it always returns the same data.

False
Example
>>> from iden.data.generator import DataGenerator
>>> generator = DataGenerator([1, 2, 3])
>>> generator
DataGenerator(copy=False)
>>> generator.generate()
[1, 2, 3]

iden.data.generator.is_data_generator_config

is_data_generator_config(config: dict[Any, Any]) -> bool

Indicate if the input configuration is a configuration for a BaseDataGenerator.

This function only checks if the value of the key _target_ is valid. It does not check the other values. If _target_ indicates a function, the returned type hint is used to check the class.

Parameters:

Name Type Description Default
config dict[Any, Any]

The configuration to check.

required

Returns:

Type Description
bool

True if the input configuration is a configuration for a BaseDataGenerator object.

Example
>>> from iden.data.generator import is_data_generator_config
>>> is_data_generator_config({"_target_": "iden.data.generator.DataGenerator"})
True

iden.data.generator.setup_data_generator

setup_data_generator(
    data_generator: BaseDataGenerator[T] | dict[Any, Any],
) -> BaseDataGenerator[T]

Set up a data generator.

The data generator is instantiated from its configuration by using the BaseDataGenerator factory function.

Parameters:

Name Type Description Default
data_generator BaseDataGenerator[T] | dict[Any, Any]

The data generator or its configuration.

required

Returns:

Type Description
BaseDataGenerator[T]

The instantiated data generator.

Example
>>> from iden.data.generator import is_data_generator_config
>>> generator = setup_data_generator(
...     {"_target_": "iden.data.generator.DataGenerator", "data": [1, 2, 3]}
... )
>>> generator
DataGenerator(copy=False)